Skip to content

CLI reference

bacio's CLI is the same surface that agents drive — every mutating command accepts JSON via --json, every payload schema is reachable at runtime via bacio schema, and every mutation supports --dry-run. See agent-CLI principles for the design rules behind that.

Top-level commands

CommandWhat it does
bacio initBind the current git repo to a 4-letter prefix.
bacio repoList, show, or remove tracked repos.
bacio featureManage features (groups of issues). Includes plan for dependency-ordered execution.
bacio issueManage issues — add, list, show, brief, edit, state, assign, unassign, next, peek, rm.
bacio commentAdd and list issue comments.
bacio link / bacio unlinkCreate / remove typed issue relations (blocks, relates-to, duplicate-of — stored as blocks, relates_to, duplicate_of).
bacio prAttach, detach, and list pull requests on an issue.
bacio tagAdd or remove tags on issues.
bacio docManage per-repo text documents and their links to issues / features.
bacio agentTrack live AI-agent sessions and their issue claims (local-only registry).
bacio statusOne-screen summary of the current repo.
bacio historyQuery the audit log of mutations.
bacio schemaList and show JSON schemas for every --json payload.
bacio syncMirror the SQLite DB to a git-backed YAML+markdown repo.
bacio apiRun the REST API server.
bacio install-skillInstall the canonical SKILL.md for AI agents into the repo.
bacio install-sample-skillsInstall the bundled flow-level skill packs (file-issue, triage, stand-up, plan-feature).
bacio tuiOpen the full-screen kanban TUI.

Global flags

All commands inherit these from the root:

FlagDefaultWhat it does
-o, --outputtextOutput format — text for humans, json for agents and scripts.
--db~/.bacio/db.sqliteOverride the database path. Useful for tests and isolated experiments.
--userOS userActor name recorded in history. AI agents should pass this explicitly.
--dry-runoffValidate the request and emit the projected result without writing. No audit log entry.
--remoteTalk to a bacio api server at this URL instead of the local DB. Falls back to BACIO_REMOTE.
--tokenBearer token for the remote API. Falls back to BACIO_API_TOKEN.

Conventions

  • JSON in via --json. Mutating commands accept --json <inline>, --json - (stdin), or --json @path/to.json (file). Mutually exclusive with positional and per-field flags.
  • Lean lists, fat shows. *.list strips heavy bodies; *.show and bacio issue brief return full records.
  • Strict decode. Unknown JSON fields are rejected, not silently dropped.
  • Audit log. Every mutation records who, when, and what changed. Pruned to 60 days on every DB open.

bacio · v0.1 · MIT