Find help inside the CLI

tovio help, the three command tiers, --json, and how to read a TVO error code.

Written By Dustin

Last updated 27 minutes ago

TOVIO keeps a deliberately small everyday surface and tiers the rest out of your way. Nothing is hidden — tiered-out commands still run — it is only the index that is filtered.

tovio help

Shows the Everyday tier: seventeen commands covering the daily loop — init, quickstart, status, commit, sync, log, diff, conflicts, mv, lane, switch, land, undo, change, clone, resolve, health. Running bare tovio with no arguments prints exactly the same view.

Going deeper

tovio help --teamtovio help --advancedtovio help --all

The flags are additive: --team shows Everyday and Team, it does not replace the list. Team adds the collaboration and protection commands — policy, access, audit, identity, key, device, agent, forge, lock, unlock, locks, review, push, pull, fetch, serve. Advanced adds maintenance, semantic, plugin and Git-bridge commands such as rebase, obliterate, behavioral and git.

Help for one command

tovio help committovio help change

Prints that command's full help regardless of which tier it sits in, including flags the summary view leaves out. tovio <command> --help does the same thing; -h gives the short form.

Global flags worth knowing on day one

FlagEffect
--jsonMachine-readable JSON on stdout. This is the agent and CI contract, and it works on errors too.
-q, --quietSuppress success and progress output. Errors are still shown.
--justification <TEXT>A reason recorded in the signed audit chain. A repository policy can require it before some security-sensitive mutations.
--no-syncSkip the opportunistic auto-sync for this one command. TOVIO_NO_SYNC suppresses it persistently.

Git habits answer themselves

Commands that exist in Git but not here still respond, with an explanation rather than an error. tovio add tells you tracking is automatic and there is no staging area; tovio stash tells you your work is already a tracked change. tovio branch and br are aliases for tovio lane.

Errors help too

Every TOVIO error carries a TVO-<AREA>-<NNN> code, states the cause, and prints the command that would resolve it ready to copy. The area also determines the process exit code, which is what scripts should branch on:

ExitArea
0Success — and CONFLICT, because creating a conflict object is a normal outcome, not a failure.
2CLI — bad flags, unknown command or path, confirmation gates; also TAG immutability.
7STORE — object store corruption, hash mismatch, I/O.
11KEY and CRYPTO — key material missing or expired, signature and envelope failures.
13PERM, TOKEN, IDENT, LOCK — policy, capability and identity denials.
17SYNC — transport, peer protocol, partial transfer.
19OP — change and op-log failures.
21MIG — migration and Git bridge interop.

If an error does not tell you what to do next, that is considered a bug worth reporting. The one code that deliberately says little is TVO-CORE-000, the generic engine fallback at exit class 1 — reaching it is itself the signal that a specific code is missing, so it is always worth reporting with the command you ran.