English | 한국어
Turn a PR diff into an evidence-backed QA plan before merge.
QAMap is a local-first CLI that reads the current branch, repository structure, and existing tests. It answers three questions:
- Which behavior and user flows may be affected?
- Which normal, failure, boundary, and state-transition scenarios matter?
- Which changed files, lines, symbols, and commits support each judgment?
QAMap can then route an existing validation command or prepare optional automation. It does not upload source code or make its own LLM call.
The npm package, OpenAI plugin and Claude plugin update separately. For the 0.5.1 review brief and its measured token results, see the release notes.
With Node.js 20 or newer, run this from the branch you want to review:
npx --yes @ivorycanvas/qamap@latest qaThe command performs read-only static analysis. It does not change project files or run product tests. For repeat use, other package managers, and local changes, see the adoption guide.
The host needs access to the local repository and terminal.
QAMap is published in the Claude directory for Claude Code. The Claude Code setup guide covers plugin installation, the separately required CLI, and first-use consent.
Once set up, ask "Check this PR for bugs." The skill offers QAMap when no choice is recorded; installing it is not consent to analysis or test execution.
Token boundary: QAMap's local analysis makes no model calls. An agent still uses model tokens to invoke QAMap and interpret the report; savings are not guaranteed.
| Section | What it tells you |
|---|---|
| Change | Which behavior probably changed. |
| Verify before merge | Which scenarios matter before merge. |
| Evidence | Which commit and code location support the judgment. |
| Next | What can be reviewed, run, or drafted next. |
The default qa command creates a plan and remains not run. Use qamap qa run
only when you want to execute a selected repository command. Use
qamap e2e draft . --dry-run to preview optional browser, mobile, API, CLI, or
manual automation.
qamap qa brief prints the numbered diff, the tests and callers of changed code,
and QA focus in one bounded response. qamap qa report saves reports locally and
returns only their paths. Save first, interpret later.
This public fixture changes a subscription renewal flow. QAMap finds the
duplicate-request risk, cites the changed source, and keeps execution marked
not run.
Open the exact CLI output and first-run walkthrough.
commit + diff
-> affected behavior and flow
-> risk-based QA scenarios
-> evidence for every judgment
-> existing validation or optional automationQAMap follows direct change evidence before broad repository guesses. Missing Playwright, Maestro, selectors, fixtures, or a test runner does not hide an important scenario. When evidence is insufficient, QAMap stops instead of inventing a contract or a passing result.
A reusable JS/TS evidence index connects declared imports and exports to test references and registration candidates across packages. Coverage and limits remain explicit; this is not a complete runtime model or a measured token-savings guarantee.
| Goal | Guide |
|---|---|
| Review one branch | First-run walkthrough |
| Adopt QAMap in a team | Adoption guide |
| Use QAMap from an agent | Agent integration |
| Set up the Claude Code plugin | Claude Code setup |
| Review every command | Command reference |
| Inspect benchmark evidence | Benchmarking |
QAMap is early and pre-1.0. An inferred lifecycle is an evidence-backed draft,
not a product specification. A person must decide whether observed behavior is
intended or broken, and one passing command does not prove that an entire product
passed QA.
False positives, missed risks, and unusable drafts are especially useful. Start with CONTRIBUTING.md, and never publish private repository, customer, or credential data.

