Skip to content

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 codeWhat it means
0ok
1a 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.
2rb could not do what was asked, and says why
3a fault in rb itself
GroupCommands
The recordinit, project, question, experiment, variant, note, metric, spec, criterion, run, analysis, resource
Callsfreeze, decide, confirm, retract
Reading itopen, ui, status, show, compare, log, context, page
Carrying itexport, clone, env
For agentsmcp, skill, journal, reconcile, compile
Upkeepdoctor, fmt, telemetry, config
Leavingremove
Referencetour, docs, schema, version, feedback
rabbitbrain.ailogin, logout, sync
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