Skip to main content
reticle init is the one command a person runs before anything else. It inspects the directory it is standing in, works out the framework, and writes every piece of wiring Reticle needs: the MCP server registration, the agent rule files, the dev dependencies, .reticle.json, and the bundler plugin.

Flags

--no-mcp skips more than the server registration. The agent rule files and the /reticle command go with it, because all three only make sense once the tools are reachable.

What it prints

A plan, one line per step, each with a status mark: ✓ written, · already in place or left alone, ⚠ needs a hand, – deliberately skipped by a flag. Captured from a real --dry-run inside apps/bench-app:
Below the plan it also prints the two things that actually finish the install: restart your agent so it re-reads its MCP server list, then run npx @reticlehq/server status to confirm the app connected. With --no-mcp, the whole MCP and rules group collapses into one skipped line:
Run from a workspace root with several apps, it refuses to guess, names them, and exits 1:
Given --app, it says which directory it moved to before printing the plan:
In the two captures above, the punctuation that separates the two halves of the sentence is shown as ....

Exit codes

An unknown flag is rejected by name: reticle init --bogus prints unknown argument '--bogus', then the full usage block, and exits 1.

Worked example

The install, step by step

What each step writes and how to read the four status marks.
Last modified on September 25, 2026