The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Sdd MCP listing page.
Learn Spec-Driven Development, then use it on real projects.
One rule: no code until you approve a written spec. A script checks that rule every time you run it, and prints exactly what it looked at.
🇺🇸 English · 🇪🇸 Español
Non-technical start · Quickstart · AI agent start · Commands · Community
Spec-Driven Development (SDD) means writing and approving a clear specification before any code exists. What you decided ends up in a file, instead of buried in a chat you will close and never find again. By 2026 it is how most people build software with AI agents.
This repo does double duty.
It is a school: a bilingual (EN/ES) path that starts from zero, with guides, an interactive course and a tutor you can talk to. You do not need to know how to program to get through it.
It is also a toolkit for real work: scripts that check the rule, instruction files your AI assistant reads, a connector so your AI tool can run the workflow itself (MCP, the Model Context Protocol), and a single spec/ folder you add to a project that already has code — without moving any of it.
The step-by-step commands come from GitHub Spec Kit. This repo adds the guides, the checks and the templates on top of them.
The flow in action — create a spec, validate, pass the gate (regenerated on every release):
What changes in practice: decisions stop living in chat history and move into specs/. The gate stays closed until spec.md and plan.md exist, agree, and you record your consent — a script checks that, not somebody's memory. A new teammate or a new agent lands in a folder layout they already recognize. And bitacora/ keeps the session log, so six months later you can still find out why something was done the way it was.
Want the industry map? Read SDD in 2026: state of the art and how this template compares.
Then pick your learning level. Every guide on the docs site carries its level badge:
[!TIP] If you would rather learn by doing, take the interactive course (GitHub Skills format): 4 steps, ~35 min, auto-graded by Actions. Your exam is the real SDD gate.
Copy/paste this prompt into your AI assistant (Claude, Cursor, Copilot, Gemini...):
If you use Claude Code, this repo ships slash commands out of the box. Start with /sdd:help:
| Command | What it does |
|---|---|
/sdd:help | Tells you what stage you are in and the single next step |
/sdd:new | Guided start: idea → first spec ready for approval |
/sdd:spec | Create or refine a spec bundle with EARS criteria |
/sdd:gate | Runs the gate — approval, plan consistency, consent — and records yours |
/sdd:decision | One decision, written down in bitacora/decisiones/: what, why, what was rejected, when to revisit |
/sdd:close | Validates and closes the session with the output contract |
/sdd:tutor | A conversational SDD course by levels, graded by the real validation scripts |
Install in any project as a plugin (no cloning):
.github/prompts/../scripts/generate-llms-txt.sh).[!IMPORTANT] No code before an approved
spec.mdand a consistentplan.md. A script enforces this, and implementation starts only once your consent is on record.
(In sidecar projects the same scripts live under ./spec/scripts/.)
Enforce it in CI too. This repo doubles as a GitHub Action, listed on the GitHub Marketplace:
Reference files: sdd.policy.yaml · INSTRUCTIONS.md · AGENT_OPERATING_SYSTEM.md
Every feature gets a numbered spec bundle, and every session leaves a trace in bitacora/ (the logbook):
spec.md — what and why (approved by you)plan.md — how (consistent with the spec)tasks.md — concrete stepshistory.md — how it evolvedFull walkthrough example: examples/002-mcp-end-to-end
Fastest start (no clone needed):
It asks a few questions and scaffolds the recommended spec/ sidecar, or a full workspace, from the latest template.
Three ways to use the template, from lightest to heaviest:
| Mode | When | Command |
|---|---|---|
Compact spec/ sidecar ⭐ | Real or existing project: SDD artifacts in ./spec/, code stays in your project root | ./scripts/install-spec-sidecar.sh /path/to/project --profile=recommended |
Internal workspace www/ | The runnable project should live inside this template repo | ./scripts/create-www-project.sh my-project codex |
| Full standalone copy | You explicitly want the whole framework as your workspace | ./scripts/init-project.sh /path/to/project --profile=full |
[!TIP] The professional default is the compact
spec/sidecar and nothing else. Never copy the full framework into a real codebase unless you actually want standalone mode.
| Action | Command |
|---|---|
| New spec | ./spec/scripts/new-spec.sh "my-feature" "Owner" |
| Validate structure | ./spec/scripts/validate-sdd.sh . --strict |
| Policy check | ./spec/scripts/check-sdd-policy.sh . |
| SDD gate | ./spec/scripts/check-sdd-gate.sh . |
| Status dashboard | ./spec/scripts/generate-status.sh |
Folder anatomy and layout details: project organization map
If your AI tool supports MCP (the Model Context Protocol), it can run this workflow itself: create specs, check the gate, write the logbook. One command sets it up, in your project's folder:
It finds the clients you have — Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, opencode — and writes the configuration into each one's own file. It merges into what you already have and never overwrites it. Add --dry-run first to see what it would touch. Then restart your client.
{"command": "npx", "args": ["-y", "@juanklagos/sdd-mcp@latest"]}. The @latest matters — without it, npx can serve an old cached version with fewer tools.npm install && npm run build && npm run mcp:start runs the server from source.npm run builder:build, then SDD_PROJECT_ROOT=/path/to/your/project npm run mcp:http:start and open http://127.0.0.1:3334/builder — compose your specs as connected cards, where every card is a real specs/NNN/ bundle on disk. Inside this template repository the builder is blocked by design (no target-project work in the template root), so always point SDD_PROJECT_ROOT at a real workspace. See the visual guide.npx @juanklagos/sdd-mcp@latest upgrade --project-root . --dry-run shows what would change before changing it: framework files get repaired, yours are never written without --apply. See the upgrade guide.npx @juanklagos/sdd-mcp@latest --http instead. Same tool, in your browser, no warning.SDD_PROJECT_ROOT=./www/my-project npm run mcp:http:start — then open http://127.0.0.1:3334/dashboard for a page you can look at but not edit: whether the gate is open, a few headline numbers, how far each spec has got, and which specs are waiting on another one. In your language, with nothing to compile. This folder — the template itself — is not a project, so if you run it here it will tell you so..mcp.json (Claude Code) · Cursor · CodexNote: GitMCP (free, remote) helps an AI read this public repo; the local sdd-mcp runs the real guided workflow. They complement each other: GitMCP guide.
Browse online: the documentation site has every guide with search, an EN/ES language picker and level badges.
If you only read three:
Everything else: the full documentation index organizes all 53 guides (EN/ES) by topic.
/sdd:tutor records it in your logbook and hands you a completion badge for your READMEIf this saves you one bad sprint, a ⭐ helps other people find it.
🌱 No code before approved spec and consistent plan.