Running

CLI reference

Command Purpose
saffron run [paths] [--base-url u] [--filter @tags] [--rerecord] [--headed] [--no-agent] [--strict] [--no-verify] [--no-reuse] [--assertion-policy p] [--model m] [--storage-state f] Run features: cached → replay, missing/failed → agent (unless --no-agent). Exit 1 on red (and yellow with --strict). --no-verify skips proof replays; --no-reuse disables step seeding.
saffron accept [file | --all] [--propagate] [--with-feature-edit] Promote proposals; propagate locator fixes; apply feature edits. No args: list pending.
saffron reject [file | --all] Discard proposals.
saffron steps [search] [--json] [--snippets] List/search the step vocabulary (files + caches) with recorded/divergent/unrecorded badges and usage; --snippets writes .vscode/saffron.code-snippets for native VS Code completion.
saffron mcp Serve the vocabulary and the project overview to AI assistants over stdio MCP (search_steps, list_step_sets, project_status), e.g. claude mcp add saffron -- npx saffron mcp.
saffron author <prose-file> [-o out] Draft a .saffron feature file from plain-paragraph requirements, reusing the project's step vocabulary (AI; reports how many lines are seedable).
saffron lsp Run the Saffron language server over stdio for JetBrains (LSP4IJ/Ultimate), Neovim, any LSP editor: badge completion, StepSet go-to-definition, hover, diagnostics.
saffron init [--agents list] [--examples] [--no-instructions] [--no-scaffold] [--no-mcp] Make the project agent-ready (--examples installs the Saucedemo example suite for a guided first run): install the bundled Saffron skill into agent skill directories, register saffron mcp in .mcp.json / .cursor/mcp.json / .vscode/mcp.json, add a managed block to AGENTS.md/CLAUDE.md, scaffold config.
saffron report Open the latest HTML report.
saffron prune [--yes] [--check] [--json] List recordings no scenario owns any more (a deleted scenario or feature file leaves its cache behind); --yes deletes them, --check exits 1 without deleting, for CI.
saffron diff [files...] [--json] Show what a pending proposal changes in the committed recording: the action list behind the narrative.
saffron status [--json] Project overview: feature files and scenarios with cache state, tags, pending proposals, last run, history, vocabulary health, effective config. --json is what the IDE panels and dashboards read.
Global: -p, --project-root <dir> Project root (default: cwd).