Type to search the docs and updates.

Browse documentation
DocsReference

CLI reference

agnostic-ai [command] [flags]

Run project commands from the folder containing agnostic-ai.yaml, unless the command documents support for subdirectories or --global. Use agnostic-ai <command> --help for the options available in your installed release.

To troubleshoot, start with doctor and follow its next step, or see troubleshooting by symptom.

Find a command

Root help groups commands into setup, daily generation, diagnosis and inspection, and maintenance. A fresh project can follow this path:

echo "claude,codex" | agnostic-ai init
agnostic-ai sync --plan
agnostic-ai sync
agnostic-ai doctor
TaskCommands
Set up a projectuse, init, import, new
Generate or preview outputsync, render
Diagnose problems, then check a specific areadoctor, validate, lint, status, verify
Find which specs each tool readslist, explain, compare, graph, why
Inspect tool permissions and settingsui / view, serve
List each MCP server's tools for the overviewmcp tools
Restore or remove generated filesrevert, cleanup
Share specspacks
Check and maintain shared memorymemory commands
Write and test hook commandshook paths, hook run, hook worktree-remove
Check or prepare the project CLIproject, readiness checks
Set up your environmentcompletion, upgrade or update, migrate, install-hook, lsp

Walkthroughs: Getting started, Migration. Automation: exit codes, CI guide.

Concurrent commands

sync (including --watch, until it exits), import, use, init, and migrate hold one project lock while they run. A second writer exits with the running command's name and process ID; retry after it finishes. sync --check, sync --plan, dry runs, status, list, and global commands take no lock. The lock works between processes on one machine, not across a network file system.

The lock file, .agnostic-ai/.command-lock, stays on disk; leave it. The managed .gitignore block ignores it, and writing commands refresh those runtime entries even when generated outputs are committed. The operating system releases the lock when the process exits or is killed.

Global flags

FlagDescription
-h, --helpHelp for any command, same as agnostic-ai help <command>.
--versionPrint the version and exit
-q, --quietErrors only, plus the ~ kept lines of sync --keep-edits, on stderr
-v, --verboseIncrease output verbosity (repeatable). Mutually exclusive with --quiet.
--profile <file>Write a runtime/pprof CPU profile to <file> (or set AGNOSTIC_AI_PROFILE). Read it with go tool pprof <file>.

Exit codes

CodeMeaning
0Success
1Any error (invalid file format, file read or write failure, missing config)
verifier exit codeverify returns the external verifier's non-zero code unchanged.

Environment variables

VarDefaultDescription
AGNOSTIC_AI_HOME~/.agnostic-aiSource folder for sync --global, list --global, lint --global, validate --global, and migrate --global, including their local/ override layer. Project sync does not load it. See global configuration.

Which config wins

See which value wins in the configuration reference.