Know which requirements actually hold true — at every commit.
acp links your tests to your requirements and tells you, at a specific git commit, what's verified, failing, or quietly drifted — catches regressions, runs your suites from a live dashboard, and automates Jira/Confluence both ways. Any stack. No Jira required.
$ acp trace --run --fail-on regression Commit: a1b2c3d (main) ✅ 42 verified ❌ 3 failing 🧪 5 unverified 📋 6 specified ⚠️ 2 drift ⏳ 1 stale 👻 1 orphan Coverage: 78% vs prior (d4e5f6a) — ⛔ 1 regression [PROJ-2] Logout — verified → failing Wrote: docs/RTM.md, docs/rtm.html # exit 1 — the build fails because a "done" requirement broke
What it does
One toolkit, four jobs
A single CLI (acp) + MCP server for agents. Use one part or all of it.
🔎 Requirements traceability + regression pipeline
Link tests (Playwright, Jest, Vitest, node:test, xUnit…) to requirements via a simple @KEY tag, and see — at the current commit — what's verified, failing, unverified, specified, drifted or stale. Save git-stamped run history and flag regressions when a "done" requirement breaks.
📊 Live web dashboard
acp trace serve is a secured, self-contained portal: filterable matrix, coverage trend, per-requirement drill-down, run history. Trigger tests from the browser — ▶ per requirement or per suite — and watch the output stream live. Always-on local or a git-backed team dashboard.
🔁 Jira & Confluence automation
Publish markdown → Jira epics/stories and Confluence pages, and pull them back into round-trippable markdown folders (recursive, with sub-tasks & child pages). Mermaid diagrams round-trip both ways. Stamp verified Jira issues, or post the report to Confluence.
🗳️ Interactive decisions
acp questions turns an open-questions doc (a flow diagram + a checklist) into a self-contained interactive page: answer in a browser, the diagram recolours and rejected branches dim, and answers export straight to Jira/Confluence.
How it works
It joins three things on one key
Everything keys off a stable requirement id (a Jira/issue key, or your own). Three datasets are gathered independently, then joined — so a "done" with no passing test can't hide.
@KEY tags or a mapping)Built to adopt
Fits any company, any stack
No lock-in to Atlassian or to a framework. Pick the pieces that match how your team already works.
🧩 Your requirements
Jira epic, Confluence page, GitHub or GitLab issues, a local markdown file — or a command source that runs any script and reads its output. No Jira? Use markdown or your issue tracker.
🧪 Your test stack
Autodetected per project. Anything that emits JUnit XML or TRX works — Playwright, Jest, Vitest, node:test, xUnit, and more. Tag tests with the requirement key and they light up.
💾 Store results anywhere
Local session files (runs/, RTM.html), committed to git, POSTed to your own server, or to the built-in acp trace collector — a server of record that aggregates every team's runs.
🔔 Plugs into your flow
A copy-paste GitHub Action that fails the PR on a regression and comments the report, Slack/Teams notifications, a scheduled n8n job, and an MCP server so AI agents can run it too.
For AI agents
Drive it from Claude or Copilot
acp ships an MCP server, so your local AI agent can run the whole lifecycle — from a Jira ticket to verified tests — without you copy-pasting between tools.
// .mcp.json — register acp with Claude Code or Copilot { "mcpServers": { "acp": { "command": "acp-mcp" } } } // then ask your agent: "Implement PROJ-123: pull it, scaffold the test, write the code, and don't stop until requirement_status says it's verified."
Get started
From zero to a dashboard in three commands
Node 20+ (and Docker for the always-on dashboard). That's it.
Install
One npm install gives you the acp command.
npm i -g ai-confluence-pipeline
Set up in your repo
Autodetects your test frameworks and a requirements source, and writes a ready config. Pick a stack profile if you like.
acp trace init # or: acp trace init --profile githubOpen the dashboard
Live matrix with Run buttons and history. Tag your tests with the requirement key (@PROJ-1) and they appear.
acp trace serve # → http://localhost:8787Gate your PRs (optional)
Re-run the suites and fail the build on any regression — locally or in CI.
acp trace --run --fail-on regression
Whole team in one go (optional)
Generates a portal token, an always-on Docker service, and a PR GitHub Action.
acp trace init --all && docker compose -f docker-compose.trace.yml up -d
Open source · MIT
Make "done" mean done.
Free and self-hostable. Read the docs, run it on a repo, and see your real requirement coverage today.