QA from your terminal and your coding agent

com runs Scenarios, pull request verification, findings, and product knowledge from a shell, a CI job, or a coding agent. Machine output is one JSON object with stable codes and suggested next steps.

Read the docs

Built for agents

JSON output, versioned receipts, stable error codes, and the next command as argv

The same records as Verify

Scenarios, runs, evidence, findings, and knowledge are the ones your team sees in the dashboard

Safe in CI

Idempotency keys make retries safe, and the head SHA pins the exact commit

1

Give your agent the Composal skill

One command writes the skill into your project, with focused workflows your agent reads offline. It works in any folder and keeps your local edits.

2

Keep Scenarios next to your code

Download a project’s Scenarios as YAML, lint them offline, and upload every file atomically. Run files as written and wait for the grouped result.

3

Read every answer as JSON

With --json or --agent, a failure is one object with a stable code, whether to retry, and the next command as argv. Agent mode never prompts.

4

Verify pull requests from CI

Request verification for the exact deployed head. A stale workflow is refused, and a retry with the same idempotency key is safe. Then read the grouped run, its evidence, and findings.

5

Keep product knowledge current

Read, add, and edit your project’s knowledge as Markdown. Each edit carries the digest you read, so a concurrent change refuses the save instead of being overwritten.

What you get back

What the CLI returns

Every command answers in plain text for you, or one JSON object for your agent, with the same runs, findings, and evidence your team sees in Composal.

What you can do with it

  • Fail CI on a failed run

    com verify scenarios run --wait exits nonzero unless every Scenario passes, so the job fails on a failed or blocked run with no parsing.

  • Hand the next step to your agent

    Each failure carries next[].argv. Your agent runs it, or tells you when the step needs you, such as signing in again.

  • Download the evidence

    Save a Scenario’s recording, trace, or screenshot by its evidence ID. Downloads keep the bytes intact and never overwrite an existing file.

  • Keep only the fields you need

    --fields and --limit trim a read before it reaches your agent, and meta says whether anything was cut.