Skip to content

Glossary

Look up a skill, agent, command, or shell alias. The skill, agent, slash-command, and shell-command glossaries, extracted from handbook §10–13.

← docs home

Skills give Claude specialized knowledge or workflow. Universal skills are auto-loaded everywhere; registry skills are opt-in per project.

Skill Purpose
agent-builder Create and maintain agent definitions
orchestrator Generate/refresh a project’s provision manifest (stack/type/capability interview)
automation Switch automation level (L1/L2/L3) for current project
code-expert TypeScript / SvelteKit / Cloudflare Workers / Hono / D1 / R2 / Vitest
code-simplifying Reduce complexity, dedupe, refactor for clarity
commit Git commit workflow (used by /commit)
explaining-code Visual diagrams + analogies for code explanations
pr Pull request workflow (used by /pr)
rdb Toggle Remote Decision Bridge on/off
research Research project management — every action runs as /research <action>
skill-creator Guide for creating new skills
software-project-manager Strategic PM thinking (modern software delivery practices)
stop-warp-drive Graceful warp-drive stop
timelord Temporal accuracy guardian for documentation
doc-audit Read-only documentation drift audit (#151)
doc-sync Mechanical documentation drift fixes (#151)
docs-site Provision and operate an engine-pluggable docs site — VitePress default, Astro Starlight alternative (#153, #689). Auto-deploy on doc changes via Cloudflare Pages (#155); see docs-site-lifecycle.md.

Registry skills (BOB_SOURCE/registry/skills/)

Section titled “Registry skills (BOB_SOURCE/registry/skills/)”

Provision per-project via bob provision or /provision add skill <name>.

Code & dev

  • cloudflare-dev — Cloudflare Workers development
  • d1-expert — Cloudflare D1 (SQLite) expertise
  • drupal-dev, drush — Drupal-specific
  • wordpress-dev — WordPress-specific
  • strapi-dev — Strapi headless
  • mcp-builder — Build Model Context Protocol servers

API & integration

  • api-designing — API design
  • kalshi-api — Kalshi-specific

Frontend & UX

  • frontend-design — Distinctive, production-grade UI
  • responsive-design — Responsive layout patterns
  • accessibility-auditing — WCAG 2.1 AA
  • ux-designing — UX design
  • visual-design — Visual design
  • visual-explainer — Visual explanations
  • web-artifacts-builder — Web component / page artifacts
  • theme-factory — Themes
  • design-systems — Design systems work
  • brand-guidelines — Brand application
  • information-architecting — IA

Audit & QA

  • performance-auditing — Web performance
  • seo-auditing — SEO audits
  • webapp-testing — Playwright-driven testing
  • user-research — User research projects

Deploy

  • deploy-cloudflare — Atomic Cloudflare Pages/Workers deploys (provides /deploy)

Document handling

  • docx, pdf, pptx, xlsx — Office document handling
  • image-processing — Image manipulation
  • token-report — Token usage reporting

Agents are specialized subagents the main Claude session can launch via the Task tool.

Agent When to use
lessons-extractor After significant work — extract & document lessons learned
project-historian Synthesize project history; answer “why did we…” questions
requirements-analyst Capture or refine requirements; ensure testable acceptance criteria
solution-architect Design solutions, compare alternatives, assess trade-offs

Registry agents (BOB_SOURCE/registry/agents/)

Section titled “Registry agents (BOB_SOURCE/registry/agents/)”

Code & architecture

  • code-expert — Deep TypeScript / Cloudflare-stack analysis
  • code-debugger — Bug diagnosis
  • code-reviewer — Code review
  • lead-dev-architect — Strategic technical guidance
  • unit-test-generator — Generate unit tests

Domain-specific

  • drupal-expert — Drupal 9/10
  • sentry-integration-expert — Sentry SDK integration

Audit

  • accessibility-auditor — WCAG 2.1 AA audits
  • seo-performance-auditor — SEO + performance
  • ahrefs-expert — Ahrefs SEO tools

UX

  • ux-architect — UX design

PM-flavored

  • project-manager — Project planning / coordination
  • qa-strategist — Test strategy / DoD
  • risk-manager — Risk identification / mitigation
  • release-engineer — Deployment / release management
  • stakeholder-liaison — Stakeholder communication

By topic. Universal commands ship with every project. Registry commands need bob provision add per-project. Built-in commands ship with Claude Code itself.

Command Purpose
/vision Create or update docs/vision.md (living strategy doc)
/capability Create a capability as a GitHub Issue (label cap)
/requirement Create a requirement as a GitHub Issue (label req)
Command Purpose
/what-next Analyze project state, propose next work item (--report: prepend an on-demand catch-up + health line; --file: also file it as a status-report issue)
Command Purpose
/start-work Create a feature/fix branch
/commit Create a git commit
/pr Open a PR with requirement traceability
/finish-work Merge to master / open PR + cleanup
/session-summary Close session as a GitHub Issue
/journal Create decision/lesson/session issue
Command Purpose
/warp-drive [issue] The autonomous development loop
/flightplan Derive and persist an ordered run plan for warp-drive --flightplan <N> (universal since #1872 — previously a registry item)
/stop-warp-drive Graceful stop
/auto-loop Legacy — predecessor of /warp-drive; will be removed
Command Purpose
/cdfork Multi-agent worktree orchestration (subcommands match bob fork CLI)
Command Purpose
/dev-up Bring dev env to fully testable state
Command Purpose
/provision Manage provisioning (status / add / remove / refresh / diff / init)
/rebob Full project state reconciliation
/trace-mining Mine session journals for harness improvements
Command Purpose
/automation Switch automation level
/rdb Toggle Remote Decision Bridge

Provision before use (bob provision add command <name>):

  • /deploy — Cloudflare atomic deploy (from deploy-cloudflare skill)
  • /task — File maintenance work (dependency bump, CVE update, upgrade, cleanup) as a task issue with a Verification checklist and no parent capability (reference)
  • /status — Status report: thin alias of /what-next --report (on-demand catch-up + health + ranked next work; --file files it as a status-report issue)
  • /release, /review-lessons, /ux-review — As provisioned

Older registry commands (/backlog, /risk, /report-bug, /change, /dashboard, /standup, /retrospective) predate the GitHub-Issues hierarchy and are scheduled for removal. Do not use them on new work. /spec has been removed (#508); /solution and /incident were rewritten to file GitHub Issues (a decision and an incident issue respectively) rather than local SOL-*.md / INC-*.md files; /status was rewritten (#507 family) as a thin alias of /what-next --report — no local STATUS-*.md files. Use /capability + /requirement + GitHub Issues with appropriate labels instead.

Always available, not BoB-specific:

Command Purpose
/init Initialize a CLAUDE.md from existing codebase
/review Review pending changes
/security-review Security review of pending changes
/loop Run a slash command on a recurring interval
/schedule Cron-style scheduling for recurring agents
/clean_gone Clean up local branches that are gone on the remote (commit-commands plugin)
/commit-push-pr Commit, push, open PR (commit-commands plugin)
/help Built-in Claude Code help

Plugin command families also available: sentry:*, frontend-design:*, commit-commands:*. List them with /help inside Claude.


Every command runnable from a regular terminal.

BoB CLI names (PATH entrypoints, set up by bob-install.sh)

Section titled “BoB CLI names (PATH entrypoints, set up by bob-install.sh)”

Each legacy name is a generated alias shim in bin/ that execs its bob spelling; the engine lives in scripts/cli/ (#2060, retire 2026-09-21). The full old→new table: bob CLI reference.

Command Was Purpose
bob doctor — Assert 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 ready bob-ready The 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 — The warp-drive preflight gate: doctor + ready --dry-run as one verdict.
bob status — The 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 — Converge 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 — Send 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 — Run 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 — One 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 — What 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 — Agent 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 — Every 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 — Bob 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 — Consolidate 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 — Propose 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 — Run 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 — The 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 — Every 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 — One 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 — Publish 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 — Print 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 — Scaffold 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 — Move 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 — Verify 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 — Grade 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 — List 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 — What 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 — Create 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 — Every 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 — Run 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 — The 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 — Check 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 — Create 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 — Start 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 — Which 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 — File 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 — Gather 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 — Close 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 — Write 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 — The 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 — Open 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 — Open 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 — Converge 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 — Derive 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 — Runnable plan items in run order — flightplan.js remaining <N>, argv passed through unchanged.
bob plan status — Plan 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 — The plan’s ordered items, todo rows marked — flightplan.js items <N>, argv passed through unchanged.
bob decompose — Decompose 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 — Run 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 init cdi Initialize 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 status cdb The tooling dashboard: global items and every registered project’s symlink status, port band, warp-drive harness defects, and last bob ready verdict.
bob dash generate cdg Generate a project’s static dashboard (bugs, releases, changes, incidents, journal, cross-refs) into .dash/ from the current directory.
bob dash serve cds Start the dashboard server for the current project on its ledger-assigned port, or list / stop running dashboards and show port allocations.
bob promote cdp Promote a local .claude/ item (command, agent, hook, skill) to the global source and replace the local file with a symlink back.
bob link cdl Link a global item (command, agent, hook) into the current project’s .claude/, link every missing one, or list what is available.
bob provision cdprov Provision 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 fork cdfork Fan 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 pair cdfork-pair The 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 swarm swarm Run the full agent-swarm loop as one command — decompose → approve → capped dispatch via bob fork → gate → integrate → summary (#582).
bob warp status warp Show the active warp-drive phase, issue, chunk and metrics; –watch redraws in place, –log appends the phase history.
bob warp log warp The warp-drive phase-transition history for this project.
bob warp config warp Show the resolved workflow configuration (_workflow keys, kickoff options) for this project.
bob warp viz warp Open 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 stop warp Abort the active warp-drive session — graceful (transitions to aborted) or –hard (deletes the state file, no cleanup).
bob warp reap warp GC 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 session warp The 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 finalize warp Ship the integration branch to main — one PR at Level 2, rebase + merge at Level 3 (#268).
bob warp start — Launch 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 — Attach 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 up dev-up Bring 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 health dev-health Quick health check of the dev environment — the shortcut for dev up --check.
bob reap bob-reap Reap regenerable working-tree residue per the project’s reap.json — dry run by default, –apply deletes; keep-list and liveness guards (#1664).
bob release bob-release The 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 mirror bob-mirror Reconcile and publish to each repo’s declared second git host (mirrors.json): resolve / reconcile / publish / verify / status — dry run without –apply (#1747).
bob forge health forge-health Forge availability classified from real gh call outcomes — operational / degraded / unreachable / unknown; the exit code is the answer (#1748).
bob forge queue forge-queue The 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 — Render 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 — How 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 — Take 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 — Load 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 — Deploy 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 setup setup-promotion Scaffold a project’s dev → test → prod promotion ladder — detect → dev.json → wrangler → provision handoff → todo → verify; dry run by default, –apply writes (#931).

Not a bob command: cdr — a shell alias for BOB_SOURCE/scripts/lib/cdr.sh (Claude Disaster Recovery: cdr status / check / recover / reprovision / reset, see backup-recovery.md) — and the claude wrapper below.

Destructive commands (bob init, bob provision mutating actions, bob dev up) refuse to run in $HOME, BOB_HOME, or marker-less directories — see CLI Safety for the guard rules and the --force / BOB_ALLOW_NONPROJECT=1 override.

The bob-install.sh wrapper intercepts custom flags before exec’ing the real claude CLI:

Flag Effect
-a1 Set automation Level 1 (Supervised)
-a2 Set automation Level 2 (Trusted Dev)
-a3 Set automation Level 3 (Autonomous)
-rdb Enable Remote Decision Bridge (Telegram)

Combine: claude -a3 -rdb is the canonical autonomous warp-drive launch.

BoB scripts (BOB_SOURCE/scripts/ and bin/)

Section titled “BoB scripts (BOB_SOURCE/scripts/ and bin/)”
Path Purpose
scripts/bob-install.sh Set up shell wrapper + aliases (idempotent)
scripts/deploy.sh Sync BOB_SOURCE → BOB_HOME (--dry-run, --first-run, --force)
scripts/provision.sh Compatibility shim onto scripts/orchestrator/provision.js, the provisioning engine bob provision runs (#2084)
scripts/cleanup-legacy-pm.sh Remove forbidden PM files
scripts/dashboard/server.js The one dashboard server (bob dash serve, bob warp viz, #2081); scripts/dashboard-server.js re-exports it for legacy callers
scripts/lib/preflight-check.sh Common preflight (deps, tools)
scripts/lib/safe-json-write.sh Atomic JSON write helper
scripts/lib/settings-write.sh Safe settings.json mutation
scripts/checks/*.sh make check-* targets
scripts/warp-drive/state-machine.js Warp-drive state engine
scripts/cdfork/{fork,status,drop,pair,from-issues}.sh bob fork subcommand implementations
scripts/dev-lifecycle/{dev-up,health-check,provision-users,seed-discover,seed-generate,check-seed-coverage}.sh Dev env IaC
scripts/rebob/*.js /rebob engine

More PATH names (alias shims in bin/, engines in scripts/cli/)

Section titled “More PATH names (alias shims in bin/, engines in scripts/cli/)”
Name (shim → engine) Purpose
warp (bob warp <verb> → scripts/cli/warp) Human control plane for warp-drive (warp status, warp stop, warp config, warp session start/end/status, warp finalize)
cdfork (bob fork → scripts/cli/cdfork) Parallel worktree orchestration
cdfork-pair (bob pair → scripts/cli/cdfork-pair) Cross-repo cdfork pair (standalone shape of cdfork pair)
dev-up (bob dev up → scripts/cli/dev-up) Dev env lifecycle from a regular terminal
dev-health (bob dev health → scripts/cli/dev-health) Shortcut for dev-up --check

Two meanings of “fleet” coexist; the capitalisation is the tell.

  • fleet (BoB machine layer) — the set of machines BoB runs on, declared in machines.json (resolver: scripts/fleet/machine.js whoami) and operated by scripts/fleet/{audit,machine,readiness,mirror,runner}.js — audit.js snapshot / pull / view, $BOB_FLEET_SNAPSHOTS, per-machine _bob-home.<machine-id>.json manifests. Lives in bigbrain. See handbook §3.8. Not to be confused with Fleet (project) below.
  • Fleet (project) — ~/projects/fleet, a separate repo (provisioned via provisions/fleet.json): the host-environment layer beneath BoB for the operator’s Tailscale devices — Homebrew bundle, iTerm2 profiles, repo sync, Tailscale/SSH reachability, fleet status / fleet travel. It composes BoB’s fleet (BoB machine layer) above (reuses machines.json, scripts/fleet/*, deploy.sh, mirror.js; never re-declares _bob-home.*) and is not a farm manager. Vision: ~/projects/fleet/docs/vision.md.
  • machine role — the role of a machines.json entry, one of dev-laptop, farm-worker, server or utility-host (schemas/machines.schema.json). It picks the machine’s global manifest — _bob-home.<machine-id>.json, then _bob-home.<role>.json, then the base _bob-home.json — and with it the default kit and forbidden kits (Session Kits). A utility-host is an always-on headless node: a test target, a CI runner, a watcher (#2543).

Run from BOB_SOURCE. See make help for the full list.

Verification: check, check-deps, check-schemas, check-symlinks, check-hooks, check-provisions Testing: test, test-checks, test-schemas, test-warp-drive Combined: ci (= check + test), doctor (diagnostic dump)