Minimal, extensible Specification-Driven Development infrastructure for Claude Code.
A methodology where code follows specifications, not the other way around. Every feature starts with a clear definition of what before diving into how.
- YAGNI - Don't build features until you need them
- Copy > Build - Use community tools when possible
- Minimal Viable Process - Just enough structure, no more
- Pain-Driven Development - Add complexity when friction emerges
/plugin marketplace add mareurs/sdd-misc-plugins
/plugin install sdd@sdd-misc-plugins
Then in your project:
/sdd-init
This creates the constitution, directory structure, and configuration for your project.
/specify <feature> --> /plan <feature> --> Implement --> /review
| Command | Purpose | Output |
|---|---|---|
/sdd-init |
Bootstrap SDD in a project | constitution, dirs, config |
/specify <feature> |
Create Product Requirements Document | memory/specs/<feature>.md |
/plan <spec> |
Generate implementation plan (requires approval) | memory/plans/<spec>/plan.md |
/review |
Constitutional compliance check | GO/NO-GO decision |
/drift [spec] |
Detect spec-vs-code drift (requires Serena) | Drift report |
/document <mode> |
Generate docs from code (requires Serena) | ADRs, README, ARCHITECTURE |
/bootstrap-docs |
Bootstrap documentation for legacy projects | Specs, FEATURES.md |
| Skill | Purpose |
|---|---|
sdd-flow |
Full lifecycle orchestration (ideate -> specify -> plan -> implement -> review -> finalize) |
| Hook | Trigger | Purpose |
|---|---|---|
session-start |
SessionStart | Show SDD status at conversation start, including active spec filenames |
spec-guard |
Write/Edit | Warn when changes don't reference a spec |
review-guard |
Bash (git commit) | Require /review before commits |
subagent-inject |
SubagentStart | Inject SDD context into subagents by type: Plan (spec scope warning + constitution pointer + active specs/plans + human approval reminder), general-purpose (follow-plan reminder + spec/plan pointers + spec-guard note), superpowers:code-reviewer (review-against-spec reminder + spec pointer + scope check), Explore (spec list + tool routing + phases) |
All development follows six immutable principles in memory/constitution.md:
| Article | Principle |
|---|---|
| I | Specification-First Development |
| II | Human-in-the-Loop for Planning |
| III | Constitutional Review Before Commit |
| IV | Documentation as Code |
| V | Progressive Enhancement |
| VI | Clear Communication |
Stack-specific templates (Kotlin, Python) add Articles VII-VIII for architecture and testing guidance.
Configure in your project's memory/sdd-config.md:
- warn (default): Hooks provide warnings but don't block
- strict: Hooks enforce rules and block violations
| Plugin | Integration |
|---|---|
| superpowers | Use brainstorming before /specify, test-driven-development during implementation |
| commit-commands | Use /commit after /review |
| serena | Required for /drift and /document |
Templates in ecosystem/templates/ provide stack-specific constitutions:
base/- Articles I-VI (language-agnostic)kotlin/- Adds Articles VII-VIII for Kotlin architecture and testingpython/- Adds Articles VII-VIII for Python architecture and testing
MIT