The CLI
This reference lists every rb command, grouped as rb --help groups them, with each command’s help exactly as rb prints it.
Generated from the --help of rabbit-brain 0.8.0.
Every command accepts --json and then prints exactly one JSON object on standard output, the envelope: ok, rb_version, command, data, errors, next and rb_delta. rb schema envelope prints its shape.
| Exit code | What it means |
|---|---|
0 | ok |
1 | a check that ran and failed: a gate of rb status --fail-on, a setting that did not verify, a problem rb doctor found, a file rb fmt --check would rewrite, a file rb show read that is not a valid record, or the command rb journal run wrapped. The JSON has ok: true, because the result is data. |
2 | rb could not do what was asked, and says why |
3 | a fault in rb itself |
| Group | Commands |
|---|---|
| The record | init, project, question, experiment, variant, note, metric, spec, criterion, run, analysis, resource |
| Calls | freeze, decide, confirm, retract |
| Reading it | open, ui, status, show, compare, log, context, page |
| Carrying it | export, clone, env |
| For agents | mcp, skill, journal, reconcile, compile |
| Upkeep | doctor, fmt, telemetry, config |
| Leaving | remove |
| Reference | tour, docs, schema, version, feedback |
| rabbitbrain.ai | login, logout, sync |
rb --help
Section titled “rb --help”usage: rb <command> [...]
The record of the experiments your coding agents run, as Rabbit Brain YAML files in your repo: questions, experiments with their hypothesis, variants and criteria, runs with receipts, and the resources they used. Agents record; rb checks and computes findings; you decide. Documentation: rb docs. New here? Run rb tour.
The record: init start the record (.rb/) here project title: the project's title question add|move|reword: what the work is trying to find out, as a tree experiments are filed under experiment add|file|relate|gate: what is tested: its purpose, hypothesis, variants and settings; where it is filed; how it stands to others; the decision it gates variant add: an arm of an experiment: baseline, candidate, control, ablation note add: words about an experiment or the project: an assumption, a caveat, context; a note changes no finding metric add: the catalogue: a metric's unit, which way is better, its other names spec set|verify|vary: an experiment's settings, where each value comes from, and whether rb has checked it criterion add|file|relate: a rule over one comparison, declared before the evidence it reads run add: what ran: its results, per-run settings, inputs and outputs, with a receipt analysis add: a computation over saved outputs, and the comparisons it produced with their intervals resource add|locate|expose: a dataset, checkpoint, code or artifact: what it is, where its bytes are, how to get it again, who has looked at it
Calls: freeze lock an experiment's spec and criteria before the evidence, recorded with who locked it decide a call on a criterion, an experiment, a question or a setting: accept, reject, investigate; continue, park, stop, pivot, ship. Recorded with who made it and why; in an agent session it is proposed until the user confirms it confirm make a call proposed, or a past call mentioned, in an agent session yours, or an experiment's design one wrote: run in your own terminal; with no id, list what waits retract take anything back: it stays on record, stops counting, and rb says what rested on it
Reading it: open the catalogue in your browser, live and read-only, on 127.0.0.1 only ui open this project in your terminal: your call, the cards, the tree (bare rb does this too) status each criterion on its axes, and what is open, with who usually acts show one record: a criterion with its finding, an experiment with its spec, a run with its receipt, e1/lr with its history; or a .yaml record file as canonical JSON compare an experiment's own table: variants by metrics, with changes against the baseline log every write, newest last: who, how, what context the record as one Markdown briefing a fresh agent session reads first page write the project as one self-contained, read-only HTML file you can send anywhere
Carrying it: export write the project's page with a hashed manifest, readable without rb; with --with-record, the record too, as a portable bundle clone start your own line of work from an exported bundle: the structure arrives inherited, and nothing counts until reproduced here env the environment: check this machine against the record's runs and any env.* settings
For agents: mcp serve the record to an agent over MCP (stdio); every call is recorded as the agent's skill print the agent skill; `rb skill add` installs it for your coding agent journal what rb observed in the repository: files that appeared, git moves, wrapped commands reconcile compile the repository against the record: each results folder with a report as an experiment, what its files say (verbatim), its checks, how to reproduce it; --apply keeps it compile list what existing reports and results files the record can place, and what it cannot; writes nothing
Upkeep: doctor check the record: who you are recorded as, edits made outside rb, merge leftovers, sources outside the repository fmt write Rabbit Brain YAML files in their canonical form, comments kept (default: every record file under .rb/) telemetry optional usage analytics: off until you enable it; never sends research content config rb's own settings on this machine: whether rb keeps itself up to date
Leaving: remove take rb out of this checkout: only what checks out as rb's (the record, its instructions for agents, its pages and exports, its refs and folders in git), after showing the plan
Reference: tour a one-minute walkthrough: builds a small real project in ./rb-tour and runs the whole loop docs print AGENTS.md (--start: how to start the record in a project already under way; --errors: the error table) schema print a JSON Schema: `rb schema all` is Rabbit Brain formats 1 and 2 (rb-v2.schema.json), `rb schema <kind>` one record's shape version print the version feedback a link to send feedback on rb: the page shows what it would send before you send it; rb sends nothing
rabbitbrain.ai: login rabbitbrain.ai, optional: sign this machine in with a short code, approved on any device where you are signed in logout revoke this machine's hub credential and remove it from the credentials file sync rabbitbrain.ai, optional: a private copy of this record's page in your account, for your own eyes from anywhere
rb <command> --help for its arguments. Start: rb init "<the work's theme>", then rb question add for each question the work asks, and rb context.Rabbit Brainrabbitbrain.ai · GitHub · PyPI · Privacy · Apache-2.0