Learn Search docs

The hobo CLI

The CLI is deliberately small — a hobo carries one stick, not a toolbox. up and down are the only lifecycle verbs: ship, promote, roll back, migrate, and even self-host bootstrap are flags on the same convergence loop, not separate commands. Every documented example on this site sticks to this canonical surface.

Lifecycle

hobo up
hobo up --camp prod
hobo up --camp prod --to <revision>
hobo up --rollback
hobo up ./platform --seed
hobo down --camp pr-123

up realizes the current object graph: build, plan, gate, provision, deploy. down tears it back in reverse dependency order. up always reruns the applicable gate before mutation — a stale preflight can never authorize a deploy. Continuous migrations run this same loop; there is no separate migrate verb.

The full verb surface

VerbRoleSemantics
up / downlifecycleRealize / tear down the object graph.
devlocal loopOffline local-runtime camp; serve api/web handlers in-process.
newlocal loopScaffold a runnable SDK program.
login / claimidentityDev identity (OIDC/SVID path); bind an anonymous deployment to an account.
connectionidentityDurable Connections (create / authorize / list / get / revoke / rotate).
identityidentityContinuous identity migration status / inspect (zero Bindle config).
accessidentityElevated / cross-env access or break-glass (short-lived, audited).
featuredeliveryOpenFeature flags / canary / experiment (list | eval | set | kill …).
deploydeliveryAttested continuous-delivery status / logs / rollback (not a second lifecycle).
incidentdeliveryCD failure disposition: A2H handoff or sandboxed self-heal.
planread-onlyDry-run the up decision: plan, matching, cost, warnings.
verifyread-onlyUnified Gatekeeper preflight.
can-deployread-onlyProducer/consumer compatibility matrix.
inspectread-onlyProjections and time-travel views (run, deploy, topology, …).
logsread-onlyLive-tail Camp streams.
doctordiagnosticsEnvironment, credential, connectivity, and portability hazards.
messagingdiagnosticsMessaging capability + delivery-guarantee readiness.
codegen / build / collect / stubauthoringBindings, wasm components, manifest IR, contract-backed stubs.
driftdiagnosticsDrift report + governed remediation paths.
add / registrydistributionInstall providers after sig/provenance/conformance; registry admin.
importmigrationAdopt an existing estate in place — never destroy/recreate on import.
generategenerationRequest the provider-generation loop for a missing backend.
sandbox / testtest loopIsolated lanes; out-of-scope boundaries served from contracts.
attest / erasegovernanceSigned evidence exports; crypto-shred with projection rebuild.
brokergovernanceConductor resolve / config / matrix (placement plane).
yardcontrol planeInstall and inspect the default bare-metal Yard.
stationcontrol planeStation ops/setup (init | up | down | status | rails *) — not lifecycle.
servecontrol planeLocal control-plane HTTP+SSE for the Yard game UI.
replayobservabilitySession Replay list/get/open/summarize/retention/doctor.
derivativeextensibilityManage derived HoBo implementations.
runbookSREExecute or replay incident runbooks under policy.

Not lifecycle (and not missing)

Where other tools invent ceremony commands, HoBo folds them into the model:

  • Lifecycle shipping is only up / down (plus flags). A separate “deploy command” as lifecycle is rejected.
  • deploy as a verb still exists — it is the continuous-delivery observe surface (status / logs / rollback), not a second ship path.
  • destroy, teardown, rollback, and promote as standalone commands are rejected; use down or up --rollback / promotion via convergence.
  • train, crew, and fleet are SDK code and projections, not CLI verbs.

Status

The canonical verb set is on the composed hobo surface today and maps 1:1 to hobo-mcp tools (parity is contract-tested). Lifecycle is up / down; hobo deploy is observe-only delivery status, not the ship verb. Interactive authoring is hobo-code. The default path is the local lane: offline Yard runtime, durable SQLite journal, no cloud account. Live deploy lanes are credential-gated (Cloudflare, Vercel, or live IaC credentials). Some advanced flags (--to, --rollback, --seed) and deeper multi-cloud depth are still maturing — see the trail map. Global flags that work everywhere: --json, --camp, --cwd, --verbose, -q, --help.