Skip to content

CLI Commands

Stato provides 13 commands organized into four groups: core, composition, bridge/diff, and utilities.

Core Commands

stato init

Initialize a stato project.

Terminal window
stato init [--path DIR]
OptionDefaultDescription
--path.Project directory

Creates .stato/ directory with prompt templates and a .statoignore file.

stato validate

Validate module(s) through the 7-pass compiler.

Terminal window
stato validate TARGET

TARGET 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.

Terminal window
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.

Terminal window
stato crystallize [--print] [--web] [--path DIR]
OptionDescription
--printPrint full prompt to terminal (in addition to saving to file)
--webWeb AI prompt (prints to terminal, saves to crystallize_web.md)
--pathProject 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.

Terminal window
stato snapshot --name NAME [OPTIONS]
OptionDescription
--nameArchive name (required)
--templateReset runtime state (progress, phase) for sharing
--moduleSpecific modules to include (repeatable)
--typeFilter by module type (repeatable)
--excludeExclude types or modules (repeatable)
--descriptionDescription in manifest
--outputOutput path
--sanitizeAuto-replace detected secrets
--forceSkip privacy scan
--pathProject directory (default: .)

Privacy scanner runs automatically unless --force is passed.

stato import

Import modules from a .stato archive.

Terminal window
stato import ARCHIVE [OPTIONS]
OptionDescription
--moduleImport specific module only
--typeImport modules of this type only
--asRename imported module
--dry-runPreview without writing
--platformAuto-generate bridge after import
--pathProject directory (default: .)

stato import-bundle

Import modules from a bundle file generated by web AI.

Terminal window
stato import-bundle BUNDLE_PATH [OPTIONS]
OptionDefaultDescription
--platformclaudeGenerate bridge for this platform after import. Choices: claude, cursor, codex, generic, all
--dry-runParse 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.

Terminal window
stato inspect ARCHIVE

Shows 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.

Terminal window
stato slice --module MODULE [OPTIONS]
OptionDescription
--moduleModules to extract (repeatable, required)
--with-depsInclude transitive dependencies
--outputOutput archive path
--nameArchive name
--pathProject directory (default: .)

stato graft

Add a module from an external source with conflict detection.

Terminal window
stato graft SOURCE [OPTIONS]
OptionDefaultDescription
--moduleSpecific module from archive
--asRename to avoid conflict
--on-conflictaskConflict resolution: ask, replace, rename, skip
--path.Project directory

Bridge and Diff

stato bridge

Generate a platform bridge file.

Terminal window
stato bridge [--platform PLATFORM] [--force] [--path DIR]
OptionDescription
--platformTarget platform (default: auto)
--forceOverwrite existing files without asking
--pathProject directory (default: .)
PlatformFile Generated
claudeCLAUDE.md
cursor.cursorrules
codexAGENTS.md
genericREADME.stato.md
autoCLAUDE.md (default)
allAll 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.

Terminal window
# Current module vs last backup
stato diff TARGET
# Two archives
stato diff A.stato B.stato
# Two module files
stato diff module_a.py module_b.py
OptionDescription
--briefShow only changed fields
--pathProject directory (default: .)

Utilities

stato resume

Generate a recap of current project state for context restoration.

Terminal window
stato resume [--raw] [--brief] [--path DIR]
OptionDescription
--rawPlain text output (for piping)
--briefOne-paragraph summary only
--pathProject directory (default: .)

Use after /compact or when starting a new session.

Global Options

Terminal window
stato --version # Show version
stato --help # Show help