Command line
The development surface, and the way to evaluate Dispatch before installing anything.
bash
npm i -g @dispatch-triage/cliSet TYPESAFE_API_KEY and GITHUB_TOKEN in a .env at your repository root.
Try it on your own history first
bash
dispatch replay --repo your-org/your-repo --last 200replay never writes to GitHub. There is no code path in it that could. It re-triages real items and prints what would happen:
Replayed 20 item(s)
Would apply
3 label: add needs-tests
2 label: add area:docs
Would suggest
3 label: add needs-repro
3 comment: needs-repro.md
Suppressed
2 below_suggest_threshold careful-review, needs-testsCommands
| Command | What it does |
|---|---|
init | Scaffold a config, a workflow, and a template directory |
validate | Report every config problem at once, with file and line |
run | Triage one item |
replay | Re-triage history and print the plan; never writes |
record | Capture fixtures from real items (the only command that spends money) |
eval | Calibration and accuracy over the decision log |
sync-labels | Create the repository labels your taxonomy implies |
Record once, work offline forever
bash
dispatch record --repo your-org/your-repo --last 50 --estimate-only # check the cost
dispatch record --repo your-org/your-repo --last 50 # ~$0.005Everything afterwards — replay, eval, your whole test suite — runs against those fixtures with no API key and no network. Fixtures store the redacted state, so they are safe to commit.
Validation points at the line
.github/dispatch.yml:14:3 error References `has_reproduction`, which is not a question. (rules[1].if)
Define it under `questions:`, or check the spelling.
0 errors, 2 warningsErrors mean the rule can never work. Warnings mean it will run but something will not happen — a destructive op without an opt-in, a label outside your taxonomy. Both are reported; only errors stop the load.
dry-run is not shadow mode
--dry-run evaluates under the real mode and then declines to execute, so you see what would happen. --mode shadow suppresses everything with a reason, so the plan reads "nothing, because shadow". Use --dry-run when you want to see the plan.