Skip to content

CLI Commands

This page summarizes the SpecLeft CLI. Every command supports --format json for machine-readable output.

Verify your installation and environment.

Terminal window
specleft doctor
specleft doctor --format json

Initialize .specleft/specs/ with a sample spec.

Terminal window
specleft init
specleft init --dry-run --format json

Generate feature files from a prd.md file in the repo root.

Terminal window
specleft plan
specleft plan --dry-run

Validate Markdown specs.

Terminal window
specleft features validate
specleft features validate --dir features --format json

List features, stories, and scenarios.

Terminal window
specleft features list

Show aggregate spec statistics.

Terminal window
specleft features stats

Generate pytest skeletons from specs.

Terminal window
specleft test skeleton --dry-run
specleft test skeleton --features-dir features --output-dir tests

Key options:

  • --single-file: generate all tests in one file
  • --skip-preview: skip interactive confirmation
  • --force: overwrite existing test files

Generate an HTML report from test results.

Terminal window
specleft test report
specleft test report --open-browser
specleft test report --format json

Show implemented vs skipped scenarios.

Terminal window
specleft status
specleft status --unimplemented

Show the next scenarios to implement.

Terminal window
specleft next
specleft next --priority high --limit 5

Report spec-to-behaviour test coverage (not code coverage).

Terminal window
specleft coverage
specleft coverage --format badge --output coverage.svg

Validate a signed policy file and enforce priority or coverage rules.

Terminal window
specleft enforce
specleft enforce .specleft/policy-core.yml
specleft enforce --format json

Exit codes:

  • 0: policy satisfied
  • 1: policy violated
  • 2: license issue

Show the agent safety guarantees.

Terminal window
specleft contract
specleft contract --format json

Verify agent guarantees.

Terminal window
specleft contract test --verbose