A specification-driven development CLI for use with Claude in the VS Code extension. Claude plans; you implement.
This tool brings spec-driven development to Claude in the VS Code extension with one foundational rule: the AI plans, the human implements. Specifications drive development. Claude produces specs, plans, task breakdowns, and reviews — all in prose. You write every line of code yourself.
The result is a disciplined workflow where every feature starts with a specification, gets planned in prose, becomes a human-implementation checklist, and gets reviewed against the spec after you build it.
# Install globally via uv
uv tool install claude-sdd-cli --from git+https://github.com/Lucas-Frazao/claude-sdd-cli.git
# Or for development
git clone https://github.com/Lucas-Frazao/claude-sdd-cli.git
cd claude-sdd-cli
uv pip install -e ".[dev]"csdd init my-projectThis creates:
.csdd/directory with constitution, templates, and scripts.claude/commands/<name>.md— slash-command files (/vision,/plan, etc.) read by the Claude VS Code extensionCLAUDE.md— project context loaded automatically by Claude.vscode/settings.json— VS Code workspace settings
Open the project in VS Code, reload the window (Command Palette → Developer: Reload Window) if it was already open, then open the Claude chat panel and type / to discover the slash commands.
The Claude extension scans
.claude/commands/when the chat panel starts. Files written after the panel opened won't appear until you reload.
| Command | What it does |
|---|---|
/vision |
Define the product vision — what it is, who it's for, why it matters |
/tech-stack |
Define the technology stack — languages, frameworks, databases, tooling |
/architecture |
Define the application architecture — structure, layers, components |
/roadmap |
Define ALL features needed to realize the product vision |
/specify |
Create a feature specification from a natural language description |
/plan |
Generate a technical planning package (prose only, no code) |
/tasks |
Create a human implementation checklist |
/clarify |
Find ambiguity and contradictions in specs |
/review |
Compare the implementation against the spec |
/trace |
Map requirements to tasks and check coverage |
/constitution |
Create or update the project constitution |
/vision --> /tech-stack --> /architecture --> /roadmap --> For EACH feature:
/specify --> /clarify --> /plan --> /tasks --> YOU IMPLEMENT BY HAND --> /review
- Vision: Define the product vision — what it is, who it's for, and why.
- Tech Stack: Define the technology stack — languages, frameworks, databases, and tooling.
- Architecture: Define the application architecture — structure, layers, components, and data flow.
- Roadmap: Define ALL features needed to build the product.
- For each feature from the roadmap:
- Specify: Describe the feature. Claude creates a structured spec.
- Clarify: Claude finds ambiguity and contradictions in the spec.
- Plan: Claude generates research, data models, contracts — all in prose, no code.
- Tasks: Claude creates a sequenced, traceable checklist with acceptance criteria for you.
- You implement: You write every line of code by hand, guided by the planning artifacts.
- Review: Claude compares your implementation against the spec. Produces follow-up tasks, not patches.
After csdd init, your project looks like:
my-project/
├── .csdd/
│ ├── memory/
│ │ ├── constitution.md # The 8 Articles
│ │ ├── product-vision.md
│ │ ├── tech-stack.md
│ │ ├── architecture.md
│ │ └── feature-roadmap.md
│ ├── templates/
│ │ ├── spec-template.md
│ │ ├── plan-template.md
│ │ ├── tasks-template.md
│ │ ├── constitution-template.md
│ │ ├── review-template.md
│ │ └── research-template.md
│ ├── scripts/
│ │ └── bash/
│ │ ├── common.sh
│ │ ├── create-new-feature.sh
│ │ └── setup-plan.sh
│ └── init-options.json
├── .claude/
│ └── commands/
│ ├── vision.md
│ ├── tech-stack.md
│ ├── architecture.md
│ ├── roadmap.md
│ ├── specify.md
│ ├── plan.md
│ ├── tasks.md
│ ├── clarify.md
│ ├── review.md
│ ├── trace.md
│ └── constitution.md
├── CLAUDE.md
├── .vscode/
│ └── settings.json
└── specs/
└── 001-feature-name/
├── spec.md
├── plan.md
├── research.md
├── data-model.md
├── quickstart.md
├── tasks.md
├── review.md
├── traceability.md
└── contracts/
Every project gets a constitution with 8 non-negotiable articles:
- Specification-First — Specs before code.
- Human Implementation — The human writes all code; AI never generates it.
- AI Planning-Only — Claude clarifies, researches, plans, and reviews.
- Ambiguity Marking — Unclear requirements get
[NEEDS CLARIFICATION]. - Traceability — Tasks map to requirements, reviews map to specs.
- Review Over Regeneration — Gaps produce follow-up tasks, not code.
- No Executable Planning AI Output — Code fences and snippets are rejected from planning artifacts.
- Transparency — Audit trail for all AI interactions.
csdd init <project-name> # Initialize a new project
csdd init --here # Initialize in current directory
csdd vision # Define the product vision
csdd tech-stack # Define the technology stack
csdd architecture # Define the application architecture
csdd roadmap # Define the feature roadmap
csdd specify # Create a feature specification
csdd clarify # Analyze specs for ambiguity
csdd plan # Generate a technical plan
csdd tasks # Create a human implementation checklist
csdd review # Review implementation against spec
csdd trace # Map requirements to tasks
csdd integrate claude-vscode # Re-run VS Code integration
csdd check # Verify project setup
csdd version # Show versionThe Claude Code VS Code extension reads project-scoped slash commands from .claude/commands/<name>.md. If a command does not appear when you type /, work through the checklist below — in order:
-
From the project root, run
csdd check. It reports the installed CSDD version, whether.claude/commands/exists, which of the 11 expected<name>.mdfiles are present, and whether their content matches the version bundled with the installedcsddpackage. It also flags stale.github/skills/directories left behind by pre-0.2.0 versions. -
If
.claude/commands/is missing or empty, runcsdd integrate claude-vscode. This is also required after upgradingcsdd—csdd checkwill tell you when installed command files have drifted from the bundled templates. -
Reload the VS Code window. Open the command palette (
Cmd/Ctrl+Shift+P) and runDeveloper: Reload Window. The Claude extension scans.claude/commands/when its chat panel starts; files written after the panel opened are not picked up until you reload. -
If you upgraded the
csddpackage recently, re-run the integration in every existing project. Upgrading the CLI does not retroactively rewrite slash-command files that were copied into your projects. -
Confirm the
csddversion. Runcsdd version— it must be 0.2.0 or later. Earlier releases installed commands under.github/skills/<name>/SKILL.md, which the Claude extension does not read. Upgrade withuv tool install --reinstall claude-sdd-cli --from git+https://github.com/Lucas-Frazao/claude-sdd-cli.git.
If you've done all of the above and a command still does not appear, open an issue with the output of csdd check and the contents of .claude/commands/.
| Area | spec-kit | claude-sdd-cli |
|---|---|---|
| Source of truth | Specification | Specification |
| AI role | Planning + code generation | Planning and review only |
| Code authorship | AI may generate code | The human implements all code |
| Constitution | Architectural discipline | Same + planning-only mandate |
| Tasks output | Ready for an AI agent | Ready for a human developer |
| Output validation | None | No-code validator on every artifact |
| Review model | Regeneration flow | Gap analysis without code fixes |
| Target surface | CLI agent | Claude in VS Code chat |
Specifications should drive development. Coupled with structured planning artifacts — vision, tech stack, architecture, spec, plan, tasks — a developer can implement features deliberately, with full context and clear acceptance criteria, while keeping AI confined to thinking and planning.
This tool preserves the strongest idea from SDD — that specifications should drive development — while making the human the sole implementer and Claude a disciplined planning partner.
Built for:
- Solo developers who want strong planning support without AI-generated code
- Students who want to learn architecture and implementation deeply
- Engineers who want an auditable, specification-first workflow
- Teams using Claude in VS Code who want planning rigor without ceding code authorship
git clone https://github.com/Lucas-Frazao/claude-sdd-cli.git
cd claude-sdd-cli
uv pip install -e ".[dev]"
pytestContributions are welcome. See CONTRIBUTING.md for guidelines.
This project will not accept contributions that allow the AI to generate executable code or bypass the constitution.