# Operating TOVIO as an agent GENERATED by scripts/generate_llms_txt.py from docs/specs/cli.md and docs/specs/error-catalog.md in https://github.com/Tovio-VCS/tovio — do not edit by hand; the specs are the source of truth. License: Apache-2.0 (this corpus is part of the open TOVIO specification surface). TOVIO is a version control system with cryptographically-enforced per-file permissions, first-class AI-agent authorization (capability tokens + provenance), change identity that survives history rewriting, first-class conflict objects, and binary parity without LFS. There is NO staging area: the working copy auto-snapshots into the current change. Branches are called lanes. Changes have stable `chg:` IDs distinct from commit hashes. ## Machine contract - Every command accepts `--json` (structured output, errors in the envelope below) and `--quiet`; the two must not be combined. `--json` is sugar for `--format json`. Errors never disappear under `--quiet`. - JSON error envelope: `{"error": {"code": "TVO--", "title", "cause", "remediation": [{"text", "command"}], "context": {...}, "exit_code"}}`. The `code` and per-code `context` keys are a stable compatibility surface. - Every remediation `command` is runnable verbatim as printed. When a command fails, run the primary recovery command from the recovery index below (or from the error's own remediation list, which is more specific). ### Exit-code classes - exit 0: Success (possibly with `⚠`/`✓` follow-ups; conflicts are success — §4) - exit 1: Generic / uncategorized failure (areas: fallback plus operational WS failures) - exit 2: CLI/configuration usage error (bad flags, unknown command, invalid Workspace definition/removal request) (areas: CLI, selected WS codes) - exit 7: Storage / integrity (corruption, obliteration, I/O) (areas: STORE) - exit 11: Crypto / key material (areas: KEY, CRYPTO) - exit 13: Permission / policy / capability denial (areas: PERM, TOKEN, LOCK) - exit 17: Sync / wire protocol (areas: SYNC) - exit 19: Change / op-log (undo/redo/history) (areas: OP) - exit 21: Migration / bridge (areas: MIG) ## The everyday surface ``` TOVIO — the version control system built for the AI era tovio status Show current state (what change am I on, what's modified, conflicts) tovio commit Save the current change and start the next tovio sync Share and receive changes (push + pull in one) tovio lane Create, list, and delete lanes tovio switch Move to another lane or change tovio merge Combine lanes (conflicts are stored, never blocking) tovio land Land a lane onto another lane (auto-rebases the stack) tovio log Browse history tovio diff Compare versions tovio change Manage work in progress (new, list, show, switch, health, pull, split, absorb) tovio conflicts View and resolve open conflicts tovio undo Undo any operation — any operation Get started: tovio quickstart Team features: tovio help --team (access, agents, keys, identity, audit) Advanced config: tovio help --advanced (rebase, obliterate, behavioral, git) Everything: tovio help --all Feedback: https://tovio.dev/feedback (ideas, bugs, friction) Run "tovio help " for details on any command. ``` ## Full command tier map - init: Everyday - policy: Team - quickstart: Everyday - access: Team - status: Everyday - identity: Team - commit: Everyday - key: Team - sync: Everyday - agent: Team - lane: Everyday - audit: Team - switch: Everyday - remote: Team - merge: Everyday - amend: Advanced - log: Everyday - rebase: Advanced - diff: Everyday - squash: Advanced - undo: Everyday - reorder: Advanced - conflicts: Everyday - absorb: Advanced - change: Everyday - split: Advanced - clone: Everyday - redo: Advanced - fetch: Team - oplog: Advanced - push: Team - show: Advanced - land: Everyday - blame: Advanced - review: Team - obliterate: Advanced - lock (acquire/list/release): Team - behavioral: Advanced - issue: Team - semantic: Advanced - release: Team - device: Team - git: Advanced - restore: Advanced - cherry-pick: Advanced - revert: Advanced - bisect: Advanced - grep: Advanced - completions / env: Advanced - fsck / gc / info / version / build-check: Advanced - mcp serve / relay serve: Advanced - serve: Team ## Command synopses ### tovio init (Everyday) ``` tovio init [] [--mode simple|team|agentic] [--bare] [--key-authority ] ``` ### tovio clone (Everyday) ``` tovio clone [] [--sparse ]… # which SUBTREE (repeatable) — §4.6 path scope [--depth ] # how much HISTORY (tip + last n commits) [--filter ]… # which OBJECT CLASS/SIZE — blob:none | blob:limit= | tree:0 [--blobless] [--treeless] # ergonomic aliases for --filter blob:none / tree:0 [--perm-scope] # only content the local identity can decrypt [--no-attachments] # defer the Phase-4 semantic/behavioral closure ``` ### tovio status (Everyday) ``` tovio status [--json] [-q] ``` ### tovio commit (Everyday) ``` tovio commit [-m ] [--intent ] [--amend] ``` ### tovio log (Everyday) ``` tovio log [] [--graph] [--no-graph] [--first-parent] [--all] [--limit ] [--oneline] [--why] [--no-pager] [--entity agent|human] [--agents] [--humans] [--agent-id ] [--task-id ] [--changes-only] [--format ] [--template ] [--date relative|absolute] [--descendants ] [--conflicted] [-S ] [-G ] ``` ### tovio diff (Everyday) ``` tovio diff ``` ### tovio oplog (Advanced) ``` tovio oplog [--limit ] [--format ] ``` ### tovio change (Everyday) ``` tovio change new [] [--base ] [--draft] # new change (stacks on current; --base independent; --draft private) tovio change list [--stack] # list changes (alias: tovio cl); --stack shows the dependency tree tovio change show # show a change: current commit + full lineage tovio change switch # move the working copy to a change (alias of `tovio switch`) tovio change health # conflicts? clean ancestor? landable? stale? tovio change describe # set/replace a change's description tovio change split [] [--paths ] # divide a change (optionally by paths) — enables partial land tovio change absorb # distribute fixups into the changes that introduced them tovio change rebase [--onto ] # re-parent a change/range (top-level alias rebases current stack) tovio change propose [--reviewers ] [--sovereign] # send a change for review (PR equiv); --sovereign = Tier-2 contribution hosted in your own Forge tovio change pull # pull a teammate's change as a read-only dependency tovio change promote # promote a draft into a normal (shareable) change tovio change abandon # set a change aside (history kept in your personal archive) tovio change restore # recover an abandoned change ``` ### tovio amend (Advanced) ``` tovio amend [-m ] [--intent ] ``` ### tovio rebase (Advanced) ``` tovio rebase [--onto ] tovio change rebase [--onto ] tovio change rebase .. [--onto ] ``` ### tovio cherry-pick (Advanced) ``` tovio cherry-pick … [--onto ] [--keep-id | --fork] tovio cherry-pick .. [--onto ] [--keep-id | --fork] ``` ### tovio revert (Advanced) ``` tovio revert … [-m ] ``` ### tovio squash (Advanced) ``` tovio squash [--into ] ``` ### tovio reorder (Advanced) ``` tovio reorder --before ``` ### tovio blame (Advanced) ``` tovio blame [--why] ``` ### tovio bisect (Advanced) ``` tovio bisect start [--bad ] [--good ]… [--run ] [--symbol [--only]] [--no-checkout] tovio bisect good | bad | skip […] tovio bisect run tovio bisect status | reset [] ``` ### tovio grep (Advanced) ``` tovio grep [] [-F|--fixed-strings] [-i|--ignore-case] [--path ] ``` ### tovio sync (Everyday) ``` tovio sync [] [--push] [--pull] [--all] [--isolate] [--refetch ] ``` ### tovio remote (Team) ``` tovio remote add [--cert ] tovio remote list tovio remote show tovio remote remove # alias: rm ``` ### tovio lane (Everyday) ``` tovio lane create [--from ] tovio lane list tovio lane delete ``` ### tovio switch (Everyday) ``` tovio switch ``` ### tovio land (Everyday) ``` tovio land […] [--into ] [--rebase] ``` ### tovio merge (Everyday) ``` tovio merge [--into ] ``` ### tovio build-check (Advanced) ``` tovio build-check ``` ### tovio policy (Team) ``` tovio policy set --read [--write ] tovio policy list tovio policy show tovio policy remove tovio policy test --identity tovio policy chunking [--min ] [--average ] [--max ] [--threshold ] tovio policy chunking --reset tovio policy signing [--require-commits[=]] [--require-protected-ref-updates[=]] tovio policy signing --reset tovio policy audit [--require-for ]... [--minimum-length ] tovio policy audit --reset tovio policy protect [--require-review] [--min-approvals ] [--reviewers ] [--reviewer ]... [--required-checks ] tovio policy protect --remove tovio policy change-control [--min-approvals ] [--reviewers ] [--reviewer ]... [--required-checks ] tovio policy change-control --remove tovio policy workflow set [--force] tovio policy workflow show tovio policy workflow check tovio policy workflow clear ``` ### tovio access (Team) ``` tovio access check [--write] # diagnose read/write access for your identity (DX-020) tovio access request [--write] [--attr ] [--from ] tovio access grant [--role ] [--team ] [--paths ] # KA: authorize an identity tovio access policy show # alias surface into `tovio policy show` tovio access policy list ``` ### tovio review (Team) ``` tovio review # open a proposal's diff for review tovio review --approve | --request-changes [--comment ] ``` ### tovio identity (Team) ``` tovio identity create [--name ] [--email ] tovio identity list tovio identity show [] tovio identity attribute add [--authorized-by ] ``` ### tovio key (Team) ``` tovio key status # health: which attributes, expiry, source (DX-021) tovio key renew [--from ] # renew the attribute certificate tovio key rotate # rotate local key material tovio key import # import an exported key (new device) tovio key sync [--from ] # refresh known identity public keys ``` ### tovio device (Team) ``` tovio device enroll [--name ] # on the NEW device: generate + keychain-seal a device key; print its pubkeys + SAS tovio device approve --pubsig --pubkx [--name ] --code # on a TRUSTED device: SAS-gate + enroll under the owner + re-seal HEAD tovio device list # devices: the ROOT/first device (the owner identity) + enrolled devices (name, device DID, principal, root?, this machine?) tovio device revoke [--yes] # drop a device + re-seal to the reduced set (fresh DEK) ``` ### tovio agent (Team) ``` tovio agent new --expires [--scope ] [--clearance] [--config ] tovio agent list tovio agent show tovio agent revoke tovio agent delegate --scope --expires tovio agent session export --passphrase-file [--expires-in ] tovio agent intent declare --paths --ttl # non-blocking coordination signal (enterprise) tovio agent intent check --paths # see overlapping active intents (enterprise) tovio agent token # print the capability token (for the agent/MCP client) ``` ### tovio audit (Team) ``` tovio audit log [--format ] tovio audit export --format [--output ] [--tls [--server-name ] [--cert ]] tovio audit archive [--older-than ] [--dry-run] # default: 365d tovio audit summary [--last ] # human-friendly view (DX-022) tovio audit show [--object ] [--token ] tovio audit verify ``` ### tovio behavioral (Advanced) ``` tovio behavioral snapshot [--model-id ] [--prompts ] [--tools ] [--memory ] [--retrieval ] [--policy-version