Errors and Recovery
Every CLI failure path produces the same three lines:
The format is intentionally minimal: cause first, fix second, documentation optional. If you see a failure that does not follow this shape, that is a bug — open an issue with the command you ran.
Common failure modes
setup run reports a missing coding tool
Run the printed install command, or rerun setup with --install-tools so the
scaffold installs it as part of the flow.
context lint runs against an empty project
context lint only has meaning once at least one agent-context file exists.
credentials --format env template untouched
Downstream commands that need credentials warn loudly when the template was created but never populated.
eval run fails on a missing artifact
Every readiness check that depends on a scaffold artifact names which artifact is missing and the command that creates it.
team sync finds an incompatible manifest
Versioned manifests refuse to apply across a min_scaffold_version boundary
without an explicit override.
Adding a new failure path
Library and CLI code raise via the shared helper so the format stays stable:
A test in tests/test_errors.py exercises the helper. Per-command tests for
no-config recovery paths assert the next-step phrase is present in stderr.