reticle CLI installs Reticle into a project and proves the install works (init), runs and diagnoses the daemon your app connects to (serve, status, doctor, kill, restart), and gates a build on verification in CI (verify, affected, gate). This page is the index; each command has its own page with real captured output and measured exit codes.
The CLI is mostly for you, not your agent. Your agent talks MCP; you use these to set things up, work out why nothing connected, and wire verification into CI.
Every output block on this page was captured by running the command. Where an exit code is quoted,
it was measured, not assumed. The CLI emits each structured line as one line of JSON; the blocks
below are pretty-printed so you can read them, and long lists are trimmed where the label says so.
Setup and diagnosis
reticle init
Wires Reticle into the project in the current directory, then boots the app and proves a session connected. It exits non-zero if nothing connected, and prints what is left to do. It does not drive: proving a flow is the FIRST RUN, reticle verify <url> --explore --persona "<who does what>".
--env and --app are the answers the command cannot work out for itself: what the app needs to reach a usable state, and which app in a monorepo. Which journey proves what you care about is asked on the first run, as --persona. --files-only is what init did before it learned to boot the app: it still registers the MCP server and pre-approves Reticle’s tools, so it doubles as the upgrade path for an existing install.
Full walkthrough with real output
What it writes, and how to read its four status marks.
reticle doctor
The first thing to run when something is wrong. One command, the whole setup.
0. That parenthetical about the bridge port is doing a lot of work. Mixing it up with the dev-server port is the most common setup failure there is.
reticle status
Whether the daemon is up and which apps have connected.
--json for the same facts as one machine-readable event line. See reticle status for the fields.
Exits 0. A session in the list is the install genuinely finished. Not a tick in a checklist, a connected app.
reticle telemetry [status|enable|disable]
Exactly what is collected
The complete list, and how to turn it off.
Running the app
A bare
reticle with no arguments is not help. It is reticle serve.
Verification
reticle verify <url>
One-shot: drive the URL, replay the saved flows, exit 0 on pass. This is the command for CI when you do not want a model in the loop.
--headed, --timeout N, --storage-state <file>. That last one is how you verify flows behind a login without scripting the login every time.
reticle affected
Which saved flows must re-verify for a set of changed files.
unknownProvenance lists flows Reticle could not map to source files, so it includes them to be
safe. A flow recorded before provenance tracking existed has no file list, and Reticle would
rather re-run it than skip it and miss a regression. A large unknownProvenance means your flows
predate the feature. Re-record the ones you care about to get precise selection.reticle gate
The CI gate. Exits non-zero unless passing artifacts cover the affected flows.
1, with the flow lists trimmed above. That run genuinely failed, with 0 of 47 flows covered, which is what a gate is supposed to do when you have not verified anything yet.
quarantined flows are excluded from the pass/fail decision. Quarantine is for a flow that is known flaky and being fixed; it is not a place to hide failures, because the list is printed on every run.
reticle watch [url]
On save, report which saved flows must re-verify. The interactive companion to affected. Long-running; stop it with Ctrl+C.
reticle capsules
List the saved fail-to-pass bug capsules in .reticle/capsules. No flags. See capsules.
reticle hunt <dir>
Aggregate a directory of crawl reports into one false-green rate. See hunt.
Maintenance
Feedback
--agent form matters more than it looks: the setup that failed halfway is exactly the setup worth hearing about, and in that state the MCP tools do not exist yet.
How feedback is handled
What each kind means, and what happens when a report cannot be delivered.
reticle identify
Opt-in, and off by default:
--forget removes it.