Specter SDD for VS CodeBring the spec→test→implement loop into your editor. In Spec-Driven Development, the specification is the source of truth — not the code. Every requirement has a test. Every test traces to a spec. Every spec is validated before the AI writes a line. This extension makes that discipline visible and low-friction: you see what's covered, what drifted, and what your AI assistant needs — without switching windows. Get StartedNew to Specter? Open the built-in walkthrough directly in VS Code:
It covers install, generating specs from your code, closing gaps with AI, annotating tests, and locking coverage into CI — all without leaving the editor. Prefer a written guide?
Human Intent, AI ExecutionSpecter's schema is deliberately detailed — constraints, acceptance criteria, tiers, provenance, coverage thresholds. Writing all of that by hand for every module would be impractical, and that was never the intention. The intended workflow is a collaboration between you and your AI coding assistant:
Specter enforces the discipline at every step: the spec must exist before code, tests must trace to ACs, and coverage must meet the tier threshold before The core mission: guide your AI coding assistant through spec → test → implement → eval in the right order, every time, with your intent preserved throughout. The Problem This SolvesWhen you work with AI coding tools, two things go wrong silently: Coverage gaps you can't see. You write a spec with eight requirements. The AI implements six. Tests pass for those six. The other two are simply absent — no error, no warning, no indicator anywhere. You find out in production. Specs that change after tests are written. A requirement gets clarified, tightened, or removed. The test that covered it still says Specter SDD surfaces both problems in the editor, continuously, as you work. FeaturesKnow what's covered without running a reportColor-coded icons appear next to every requirement in your spec file the moment you open it — green means at least one test covers it, red means nothing does, grey means it's intentionally excluded. The status bar shows the aggregate across all specs at all times. Catch spec errors before you saveMistakes in Write
|
| Setting | Default | Description |
|---|---|---|
specter.binaryPath |
"" |
Path to the specter binary. Leave empty to auto-resolve. Machine-scoped; workspace settings are ignored. |
specter.autoDownload |
true |
Download specter automatically if not found. |
specter.version |
"" |
Binary version to download. Empty means "match the extension version"; latest tracks the newest GitHub release. Machine-scoped; workspace settings are ignored. |
specter.showInsightsOnFailure |
true |
Open Insights panel automatically when a spec fails threshold. |
Commands
| Command | What it does |
|---|---|
Specter: Open Insights Panel |
Plain-English health cards for all failing specs |
Specter: Copy Spec Context for AI |
Copy current spec as a structured AI prompt preamble |
Specter: Run Sync |
Re-run the full coverage pipeline manually |
Specter: Run Reverse Compiler |
Generate draft specs from your source code |
Specter: Add CLI to Shell PATH |
Append ~/.specter/bin to your shell rc file so specter works in external terminals |
Specter: Re-download CLI |
Force a fresh download of the CLI binary (recovery if the cached one is broken) |
Specter: Show Output Log |
Open the Specter output channel with download/coverage error details |
Specter: Reveal in Tree View |
Jump to the current spec in the Coverage sidebar |
Using specter from external terminals
When the extension auto-downloads the CLI, it lands at ~/.specter/bin/specter. VS Code's integrated terminal gets this path prepended automatically. External terminals (iTerm, Windows Terminal, tmux, etc.) don't — you'd need to type the full path.
Run Specter: Add CLI to Shell PATH from the command palette once, and the extension will append an idempotent export to your shell's rc file (.bashrc on Linux, .bash_profile on macOS, .zshrc for zsh, config.fish for fish). Restart your terminal and specter works from anywhere.
The command is idempotent — running it again when the path is already set tells you so and makes no changes.
Links
- QuickStart — zero to working pipeline in 5 minutes
- Getting Started — full walkthrough from zero specs to 100% coverage
- AI Prompts — ready-to-use prompts for every stage of the SDD loop
- CLI Reference
- Specter on GitHub
- Mastering Spec-Driven Development — the methodology behind the tool
- Report an issue