Skip to content

Build master @ bc50cd5bunreleased — 31 commits past v1.282.0Generated Last changed Source / History

CLI Reference ​

Every command runnable from a regular terminal, rendered from bob help --json. Flags, exit codes and the old→new mapping: bob CLI reference, or bob <noun> [<verb>] --help.

81 commands — generated from the bob routing table.

Since is the first release that shipped the command, derived from git; unreleased means no release has it yet. How it is derived.

CommandWasSincePurpose
bob doctor—v1.272.0Assert this machine's BOB_HOME is what deploy.sh produced from the commit it records, across every synced surface, every symlink, the toolchain and the settings.json hook wiring; how far BOB_SOURCE has moved since the deploy is reported,…
bob readybob-readyv1.272.0The one command for starting or resuming a project: takes a new or existing directory, or an owner/repo it clones, to warp-ready and visible on bob viz — idempotent, no prompts, never blocked by other running projects: repo → host → link…
bob preflight—v1.272.0The warp-drive preflight gate: doctor + ready --dry-run as one verdict.
bob status—v1.274.0The front door: with no arguments, one line per scope — host, the project you are in, the fleet — from cached verdicts with no network, the warp run going here, and ONE next: command; with --scope, one health verdict for host (≡ doctor),…
bob update—v1.274.0Converge this machine to a release channel or tag: fetch, fast-forward the BOB_SOURCE checkout to the newest stable/nightly tag (or --to), run deploy.sh, then doctor — refusing a dirty tree or a live Claude Code session.
bob notify—v1.274.0Send a Telegram message over the remote-decision bridge from a shell: reads BRIDGE_WORKER_URL/BRIDGE_SECRET from the environment, the project's .mcp.json, or $BOB_HOME/.mcp.json, POSTs /notify, and prints the message instead when no brid…
bob groom—v1.274.0Run the /groom pass headless from a shell: claude -p over the inlined /groom command text and scope — an explicit DRY-RUN by default, --apply at automation Level 3 (read-then-write logs and applies).
bob tick—v1.274.0One unattended maintenance cycle under a lock: bob groom --all --apply → bob plan build --from farm → the host converged on BOB_SOURCE when it is behind source and safe to deploy (deploy.sh + bob doctor, #2472) → one bob warp start run,…
bob tour—v1.274.0What is provisioned here but never invoked, from session-ledger evidence: each item with one line on when to reach for it and the command to try, graded unknown / parked / in-use — never useless.
bob labor report—unreleasedAgent active-hours from the Claude Code transcripts on this machine, one clock per project (#4420, cap #3135): every session transcript under ~/.claude/projects/<slug>/ (a Task subagent's transcript under <session>/subagents/ folded into…
bob labor reconcile—unreleasedEvery transcript on this machine has one priced record in the token ledger (#4421, cap #3135): each session transcript under ~/.claude/projects/<slug>/ written since the window opened (--since, default 30 days) is classified against the…
bob u—v1.276.0Bob University (BobU) from a shell — a thin router over the disposition record (#2901), applicability and fleet usage (#2900, #2899) and the eval suites (#2390): status counts each disposition, lists every undisposed item with its applic…
bob wiki maintain—v1.281.0Consolidate one project's traces into the skill-evolution wiki (#2389, part of #2387): a scrubbed, bounded packet of everything new since the watermark — loop notes, the decision log, harness defects, ledger no-trigger and improvised rec…
bob wiki propose—v1.281.0Propose one change to one skill, command or agent from the skill-evolution wiki (#2391, part of #2387): the item named, or with --auto the one with the most new wiki evidence among items with an eval suite, handed to one headless Read-on…
bob eval run—v1.281.0Run one item's eval suite (#2390, part of #2387): evals/<item>/ in BOB_SOURCE through claude plugin eval with a with/without ablation, from the current directory, under a mandatory cost ceiling (--max-cost-usd, else _workflow.eval_max_co…
bob eval gate—v1.281.0The acceptance rule for a skill change (#2390): pass only when a skill-eval/1 result's with score is strictly higher than the best recorded for the same model in evals/<item>/baseline.json (with no best yet, the result's own no-item arm…
bob asks—v1.279.0Every open ask of the operator across the portfolio, in one list (#3801, cap #3800): one line per open todo without completed and per open brief in brief:new or brief:acting, across every registered, active project, with its project, pri…
bob brief—v1.274.0One portfolio briefing as briefing/1 (#2243, cap #2224): Needs you / Done / Doing / Will do across every project since the previous briefing, assembled from source data with links — gh (merged PRs, closed reqs and bugs, open todos, PRs a…
bob site publish—v1.276.0Publish one site-publish/1 bundle to the operator's site — the one publisher to it (#3103, decision on #3098): a producer (bob brief, release notes) hands over a section path and its files; the publisher refuses a file outside the sectio…
bob operator show—v1.274.0Print the resolved operator profile and which rung found it — $BOB_OPERATOR → the $BOB_HOME/.bob-operator pointer → ~/projects/bob-operator — after validating operator.json against schemas/operator.schema.json (#2267, decision #2266).
bob operator init—v1.274.0Scaffold an operator repo from templates/operator/ — operator.json, machines.json, provisions/, README, .gitignore and the validate workflow that runs BoB's validators — git-init it, and write the $BOB_HOME/.bob-operator pointer only wit…
bob operator migrate—v1.274.0Move the operator data out of the BoB source checkout into the resolved operator repo WITH HISTORY — machines.json, mirrors.json, config/cloudflare-accounts.json, apps/intake/config/ and every provisions/*.json except the product's _bob-…
bob secrets check—v1.274.0Verify every secret the operator profile declares is PRESENT on this machine and name its source — env / file / keychain / gh-secret / op probed for existence and metadata only, never a value (#2286): each secret is present, missing, ins…
bob ibob check—v1.281.0Grade the iBoB terminal kit read-only (#2291, cap #2289): the declared phone setup in the operator repo's config/ibob-kit.json — schema, every target a machines.json id, every device key in secrets-inventory.json and operator.json secret…
bob ibob attach—v1.281.0List the live warp and cdfork tmux sessions on one fleet machine and print, for each, the exact command to type in the phone client (mosh or ssh, from the kit's declared client) to attach to it (#2291).
bob route status—v1.279.0What this machine's model-route working key has used against its limit (#3590, cap #3866): one request to the route for the key's own state — its label, usage, limit and what is left this period — read with the working key from the envir…
bob route mint—v1.279.0Create this machine's model-route working key with the management key (#3590): named bob-<machine id>, limited to the monthly amount the machine's machines.json entry declares (routes.<route>.monthly_limit_usd, enforced by the route), an…
bob route roles—v1.281.0Every model role BoB declares (#1231, cap #3866) — default, reasoning, fast, cheap — with the Claude Code alias agents name for it and its candidates in the order they are tried, each a model on the subscription or a route, marking any s…
bob route run—v1.281.0Run a headless command on a model role with failover (#1231, cap #3866): start it on the role's first candidate in play; when it exits non-zero and its output shows a Claude API failure — the usage limit, a 429, a 5xx or overloaded API,…
bob route failovers—v1.281.0The newest model failovers on this machine (#1231): when, which role, the candidate that failed and why (its class and the matched text), what it fell back to, and the project — read from $BOB_HOME/route-failover.jsonl, which bob route r…
bob cloudflare verify—v1.282.0Check this machine's Cloudflare working token (#3583, cap #3581): the project's account — its manifest _meta.cloudflare_account, else the operator's default_account in config/cloudflare-accounts.json — the working token that account name…
bob cloudflare mint—v1.282.0Create this machine's Cloudflare working token with the operator's root token (#3583): named bob-<machine id>, scoped to the account and all its zones, holding every permission group Cloudflare lists except the API Tokens groups, and sto…
bob ritual run—v1.274.0Start the attended session of a ritual: resume its open run issue or open one, refuse a kit the machine role forbids (#2228), apply the ritual kit to the project checkout as a provision overlay, then print the evidence packet summary, th…
bob ritual due—v1.274.0Which rituals are overdue, due or upcoming per project — the declared _meta.rituals schedule or liveness-scaled defaults, last run derived from closed ritual-run issues (#2230, #2231); a guide walkthrough is listed for each guide whose r…
bob ritual open—v1.274.0File one ritual-run issue with the standard body (marker, scope, kit, the declared checklist embedded as tickable items at its version (#2241), evidence placeholder, findings checklist, delta against the previous run) after refusing a du…
bob ritual prepare—v1.274.0Gather a run evidence packet report-only and post (or replace) it as one comment on the run issue; --due prepares every farm-eligible ritual due soon, what bob tick runs (#2233).
bob ritual close—v1.274.0Close a held ritual run with durable outputs: every finding links a bug, req, task, security or todo issue or says no-action (an empty run needs --no-findings, recorded), lessons and decisions are linked /journal issues never labels on t…
bob ritual decide—v1.274.0Write a portfolio-review decision into a project manifest: _meta.portfolio invest / maintain / park / archive, the dormant default cadence for a parked or archived project (and active: false for archive), only _meta rewritten in the file…
bob ritual sweep—v1.279.0The portfolio sweep (#3609): inventory every directory under ~/projects and ~/Sites on every fleet machine — this one directly, the others over Tailscale SSH, nested repos included, a machine that cannot be reached named as not inventori…
bob viz—v1.274.0Open bob viz — every project on every fleet machine as small multiples, from the fleet feed (/bob on the dashboard server, same freshness and self-update path as bob warp viz); each tile links to its bob warp viz card, and --tailnet serv…
bob control—v1.279.0Open BoB Control (#3813, cap #3812): /control on the dashboard server, one frame whose navigation is Now, Projects, Fleet and Costs (#3914, #4034), then the crumbs of where you are (#4025) — /control is the Now page, /control?view=projec…
bob serve—v1.277.0Converge this machine's declared tailscale serve front door (#2407): one MagicDNS address, no port, with /bob and every declared project's /<project>/warp path-routed to its loopback dashboard port, from the machines.json serve block; a…
bob plan build—v1.274.0Derive a flight plan once and write/refresh its issue — flightplan.js build --no-interview with the mapped scope flags; prints the plan number.
bob plan remaining—v1.274.0Runnable plan items in run order — flightplan.js remaining <N>, argv passed through unchanged.
bob plan status—v1.274.0Plan progress — runnable vs gated vs withheld vs moot vs waiting, todo gate states, gate mode, integration branch, lifecycle — flightplan.js status <N>, argv passed through unchanged.
bob plan items—v1.274.0The plan's ordered items, todo rows marked — flightplan.js items <N>, argv passed through unchanged.
bob decompose—v1.276.0Decompose an approved capability or use case into filed child requirements through six evidence-gated phases on the shared machine engine (#2975): sourcing (cap-status) → drafting → deduping (issue-dedupe) → testability (the decompose-te…
bob do—v1.276.0Run an hour of unstructured work as a state machine on the shared engine (#2975): framing (a one-line question and an artifact from the closed set decision · lesson · doc · spike · issue-set · discard) → working (bounded by a minutes or…
bob initcdiv1.274.0Initialize a project with BoB tooling: the .claude/ directory, universal symlinks into BOB_HOME, and — when no manifest exists — an offer of one-shot auto-provisioning (bob provision --init --auto).
bob dash statuscdbv1.274.0The tooling dashboard: global items and every registered project's symlink status, port band, warp-drive harness defects, and last bob ready verdict.
bob dash generatecdgv1.274.0Generate a project's static dashboard (bugs, releases, changes, incidents, journal, cross-refs) into .dash/ from the current directory.
bob dash servecdsv1.274.0Start the dashboard server for the current project on its ledger-assigned port, or list / stop running dashboards and show port allocations.
bob promotecdpv1.274.0Promote a local .claude/ item (command, agent, hook, skill) to the global source and replace the local file with a symlink back.
bob linkcdlv1.274.0Link a global item (command, agent, hook) into the current project's .claude/, link every missing one, or list what is available.
bob provisioncdprovv1.274.0Provision a project from its manifest — status / diff / check / refresh / prune / init / interview / detect / add / remove / decline / reconcile / overlay / untrack / ignore-paths — through the node engine scripts/orchestrator/provision.…
bob forkcdforkv1.274.0Fan out parallel warp-drive sessions into isolated git worktrees + tmux windows: fork <branch...> | fork --from-issues [N] | fork --from-flightplan <N> | status | drop | watch | pair.
bob paircdfork-pairv1.274.0The cross-repo, contract-driven shape of fork: paired worktrees in a backend and a frontend repo on one shared branch (the standalone form of bob fork pair).
bob swarmswarmv1.274.0Run the full agent-swarm loop as one command — decompose → approve → capped dispatch via bob fork → gate → integrate → summary (#582).
bob warp statuswarpv1.274.0Show the active warp-drive phase, issue, chunk and metrics; --watch redraws in place, --log appends the phase history.
bob warp logwarpv1.274.0The warp-drive phase-transition history for this project.
bob warp configwarpv1.274.0Show the resolved workflow configuration (_workflow keys, kickoff options) for this project.
bob warp vizwarpv1.274.0Open the live session graph in the browser (#1552); --tailnet serves it on this machine's Tailscale address, the default where machines.json declares dashboard.bind: tailnet (#2636).
bob warp stopwarpv1.274.0Abort the active warp-drive session — graceful (transitions to aborted) or --hard (deletes the state file, no cleanup).
bob warp reapwarpv1.274.0GC leaked warp-seg-* tmux sessions and orphaned REPLs, and find Claude Code in every other tmux session graded stale or live by idle time (#3302) — dry run by default, --force executes, --yes also reaps attached or warp-running sessions,…
bob warp sessionwarpv1.274.0The integration-branch session: start <branch> [--area <slug>|--flightplan <N>] creates + checks out a scope-bound session branch (#1177), end clears it, status shows the resolved branch config.
bob warp finalizewarpv1.274.0Ship the integration branch to main — one PR at Level 2, rebase + merge at Level 3 (#268).
bob warp start—v1.274.0Launch a warp-drive run in a named tmux session from any shell: bob preflight first (exit 1 with the verdict when it fails; on the BoB source checkout a failure that is only this machine being behind source is fixed first — deploy.sh the…
bob warp attach—v1.277.0Attach to the project's live warp-drive run and follow it across segments: one name per run, no warp-seg-N to know.
bob dev updev-upv1.274.0Bring the dev environment to a fully testable state from dev.json: start the server, migrate, seed, provision test users, health-check, report the URL.
bob dev healthdev-healthv1.274.0Quick health check of the dev environment — the shortcut for dev up --check.
bob reapbob-reapv1.274.0Reap regenerable working-tree residue per the project's reap.json — dry run by default, --apply deletes; keep-list and liveness guards (#1664).
bob releasebob-releasev1.274.0The BoB release engine from a shell: a stable release (bump + CHANGELOG + vX.Y.Z tag + GitHub Release), a nightly tag on a green, moved HEAD (#2045), or promote — stable from the newest nightly, refused on an open p1-critical harness def…
bob mirrorbob-mirrorv1.274.0Reconcile and publish to each repo's declared second git host (mirrors.json): resolve / reconcile / publish / verify / status — dry run without --apply (#1747).
bob forge healthforge-healthv1.274.0Forge availability classified from real gh call outcomes — operational / degraded / unreachable / unknown; the exit code is the answer (#1748).
bob forge queueforge-queuev1.274.0The durable write-ahead queue of issue mutations the forge could not take — status / list / show / resolve / drop / replay / clear; replay is dry-run by default, --apply delivers (#1750); an edit with an empty body is never queued or rep…
bob backup setup—v1.277.0Render a project's backup Worker from its dev.json environments.<env>.backup block (#3084, cap #3067): the Worker and its scheduled Workflow (templates/backup-worker/) written to <project>/backup-worker/ with the project's D1 id, account…
bob backup status—v1.277.0How old a project's newest D1 backup is (#3085, cap #3067): per env whose dev.json declares environments.<env>.backup, the newest dump the backup Worker wrote (read from its latest/<db>.json pointer in the backup bucket), its age, size a…
bob backup run—v1.277.0Take a D1 backup now (#3085, cap #3067): trigger the project's backup Workflow — the one its nightly cron starts — through wrangler workflows trigger, then wait until the latest/<db>.json pointer names a dump taken after the trigger.
bob backup restore—v1.277.0Load a backup into the restore-target env's D1 and verify it (#3085, cap #3067): the newest dump (or --from <key>) fetched from the backup bucket, the target's existing tables and views dropped, the dump loaded with wrangler d1 execute -…
bob deploy—v1.277.0Deploy this project to its test or prod environment through scripts/deploy/deploy.sh — the resolved adapter's check → build → migrate → deploy → verify contract — with a D1 backup taken before migrating when the env declares one and migr…
bob promotion setupsetup-promotionv1.274.0Scaffold a project's dev → test → prod promotion ladder — detect → dev.json → wrangler → provision handoff → todo → verify; dry run by default, --apply writes (#931).