CLI Commands
Stato provides 13 commands organized into four groups: core, composition, bridge/diff, and utilities.
Core Commands
stato init
Initialize a stato project.
stato init [--path DIR]| Option | Default | Description |
|---|---|---|
--path | . | Project directory |
Creates .stato/ directory with prompt templates and a .statoignore file.
stato validate
Validate module(s) through the 7-pass compiler.
stato validate TARGETTARGET is a file or directory. If a directory, validates all .py files (excluding .history/ and __init__.py).
Prints pass/fail for each module with error codes, auto-corrections, and advice.
stato status
Show all modules, plan progress, and warnings.
stato status [--path DIR]Displays a table of all modules with their type, class name, and version. Shows plan progress panels for any plan modules.
stato crystallize
Save a prompt for capturing agent expertise.
stato crystallize [--print] [--web] [--path DIR]| Option | Description |
|---|---|
--print | Print full prompt to terminal (in addition to saving to file) |
--web | Web AI prompt (prints to terminal, saves to crystallize_web.md) |
--path | Project directory (default: .) |
Default: saves the prompt to .stato/prompts/crystallize.md and prints a short instruction message. --web mode prints the web AI prompt to terminal (web AI can’t read local files) and saves to .stato/prompts/crystallize_web.md.
Composition Commands
stato snapshot
Export agent state as a .stato archive.
stato snapshot --name NAME [OPTIONS]| Option | Description |
|---|---|
--name | Archive name (required) |
--template | Reset runtime state (progress, phase) for sharing |
--module | Specific modules to include (repeatable) |
--type | Filter by module type (repeatable) |
--exclude | Exclude types or modules (repeatable) |
--description | Description in manifest |
--output | Output path |
--sanitize | Auto-replace detected secrets |
--force | Skip privacy scan |
--path | Project directory (default: .) |
Privacy scanner runs automatically unless --force is passed.
stato import
Import modules from a .stato archive.
stato import ARCHIVE [OPTIONS]| Option | Description |
|---|---|
--module | Import specific module only |
--type | Import modules of this type only |
--as | Rename imported module |
--dry-run | Preview without writing |
--platform | Auto-generate bridge after import |
--path | Project directory (default: .) |
stato import-bundle
Import modules from a bundle file generated by web AI.
stato import-bundle BUNDLE_PATH [OPTIONS]| Option | Default | Description |
|---|---|---|
--platform | claude | Generate bridge for this platform after import. Choices: claude, cursor, codex, generic, all |
--dry-run | Parse and validate without writing files |
The bundle parser uses ast.parse for safety (no exec on untrusted files).
stato inspect
Preview archive contents without importing.
stato inspect ARCHIVEShows archive metadata (name, created date, template flag, description) and a table of all modules with their type, class, and validation status.
stato slice
Extract specific modules from the current project.
stato slice --module MODULE [OPTIONS]| Option | Description |
|---|---|
--module | Modules to extract (repeatable, required) |
--with-deps | Include transitive dependencies |
--output | Output archive path |
--name | Archive name |
--path | Project directory (default: .) |
stato graft
Add a module from an external source with conflict detection.
stato graft SOURCE [OPTIONS]| Option | Default | Description |
|---|---|---|
--module | Specific module from archive | |
--as | Rename to avoid conflict | |
--on-conflict | ask | Conflict resolution: ask, replace, rename, skip |
--path | . | Project directory |
Bridge and Diff
stato bridge
Generate a platform bridge file.
stato bridge [--platform PLATFORM] [--force] [--path DIR]| Option | Description |
|---|---|
--platform | Target platform (default: auto) |
--force | Overwrite existing files without asking |
--path | Project directory (default: .) |
| Platform | File Generated |
|---|---|
claude | CLAUDE.md |
cursor | .cursorrules |
codex | AGENTS.md |
generic | README.stato.md |
auto | CLAUDE.md (default) |
all | All four files |
If the bridge file already exists and was not generated by stato, you’ll be prompted to choose: overwrite, append, save with a different name, or cancel. Files previously generated by stato are overwritten silently. Use --force to skip the prompt.
stato diff
Compare modules or snapshots.
# Current module vs last backupstato diff TARGET
# Two archivesstato diff A.stato B.stato
# Two module filesstato diff module_a.py module_b.py| Option | Description |
|---|---|
--brief | Show only changed fields |
--path | Project directory (default: .) |
Utilities
stato resume
Generate a recap of current project state for context restoration.
stato resume [--raw] [--brief] [--path DIR]| Option | Description |
|---|---|
--raw | Plain text output (for piping) |
--brief | One-paragraph summary only |
--path | Project directory (default: .) |
Use after /compact or when starting a new session.
Global Options
stato --version # Show versionstato --help # Show help