sdd-kit is a product engineering framework and workflow designed to manifest abstract vision into high-fidelity software.
It transforms how we build software by prioritizing intent over implementation.
It turns the abstract vision into a centralized, human & machine-readable specification (your project's ultimate source of truth).
Here, the code is merely a transient artifact; the specification is the real product.
Master the intent. Own the result.
- π The Philosophy
- π The Sacred Tree
- π SDD Lifecycle
- π‘ SDD-Kit vs Spec-Kit
- π οΈ Quickstart
- π Prompt Reference
- π€ Supported AI Agents
- π Project Adaptability
- π€ Contributing
- Maintainers
- License
Traditional software development often leads to "documentation rot" β where the specs and the code drift apart.
sdd-kit enforces a unidirectional flow of truth:
- Intent Capture: You state your vision (the 'why') and define what needs to be built.
- The Sacred Spec Tree: Your intent is "ventilated" into a structured
specs/directory. - AI Execution: Agents use this high-context, unpolluted specification to generate implementation with surgical precision.
The toolkit organizes your project to separate intelligence (specs) from execution (code and ephemeral AI logs).
PROJECT/
βββ .github/
β βββ instructions/
β βββ sdd-instructions.md # (LAW) Governing principles & SDD-Kit workflow rules.
β
ββββ specs/
β βββ product-vision.md # (STRATEGY) The "Why", Personas, Tone.
β βββ product-definition.md # (SCOPE) The "What". Functional Map & Epic-Modules list.
β βββ system-context.md # (MAP) System boundaries & external actors.
β βββ decisions/ # (MEMORY) Immutable ADRs.
β βββ domain/ # (RULES) Pure business logic (No UI).
β βββ features/ # (FLOWS) User stories & UI interactions.
β βββ technical/ # (PLUMBING) Singleton technical truths.
β βββ architecture/ # (BLUEPRINTS) Logical system design via C4 Model (Context, Containers, Components).
β βββ stack.md # (FOUNDATION) Core technologies, versions, and technical constraints.
β βββ project-structure.md # (PHYSICAL MAP) The literal file/folder organization of the codebase.
β βββ db-schema.md # (DATA) Centralized DBML source of truth for database architecture.
β βββ api/ # (INTERFACES) API Contracts & OpenAPI specifications.
β
βββ .sdd/
β βββ runs/ # (TRASH) Ephemeral execution artifacts (plans, tasks, execution logs).
β βββ backlog/ # (STATE) Persistent implementation backlog & status (implicit, agent-managed).
β
βββ src/ # π οΈ Artifacts: The generated or maintained code
- Code is Transient: Your
src/folder is a disposable artifact. It can be refactored, migrated, or regenerated overnight. - Intent is Permanent: Your
specs/tree (The Sacred Tree) is your project's soul. It captures the Strategy, Domain Rules, and User Flows in a format that AI Agents can navigate with 100% certainty. - True Vibe Coding: "Vibing" only works when the foundation is rock-solid. By centralizing the Data Schema (DBML), API Contracts, and Product Vision,
sdd-kitgives agents a God-view of your project, allowing them to implement complex features with zero context-drift.
Build on solid ground. Define the core DNA of your project before a single line of code is written.
- Strategy: Define Product Vision and Scope.
- Technology: Set the Tech Stack and Technical Constraints in
stack.md. - Architecture: Run
sdd architectto create/update C4 views (Context, Containers, Components) underspecs/technical/architecture/. - Data & API: Generate the initial DB Schema (DBML) and Interface Contracts (OpenAPI).
Instead of scattered tickets, every new feature is integrated into the centralized specs/ directory.
- Intent Capture: The CLI captures your raw idea and structures it via
sdd feature. - Routing: Logic is "ventilated": domain rules go to
domain/while user flows go tofeatures/. - Continuous Enrichment: As you specify features, your Schema and API contracts evolve automatically.
- Architecture Alignment: When a feature changes boundaries or containers, revisit
sdd architectto update the logical blueprints.
The critical checkpoint between design and execution. Before moving to implementation, run sdd gap to generate an Implementation Gap Report:
- Drift Detection: Identify specifications that have no matching items in the backlog.
- Artifact Health: Surface stale or missing execution artifacts under
.sdd/runs/and.sdd/backlog/. - Alignment: Ensure the "Sacred Tree" and the "Execution Area" are perfectly synchronized.
Turn structured specifications into code using AI agents that finally have the full context.
- Standard Mode:
sdd planβsdd tasksβsdd implement. - Auto-Pilot ("Vibe" Mode): Run
sdd vibe. It natively uses gap analysis and freshness checks to automate the entire chain (Plan β Tasks β Implement) with high-confidence results.
Tip
Zero Pollution: AI thought processes and intermediate task lists are stored in .sdd/runs/.
Your specs/ directory remains a clean, human-readable source of truth optimized for LLM context windows.
sdd-kit is heavily inspired by SpecKit. We admire their pioneering work in moving the industry toward a Spec-Driven Development paradigm. While we have kept a similar CLI vocabulary to make the transition seamless, SDD-kit introduces a fundamental and major architectural evolution: Centralization vs. Fragmentation.
| Feature | SpecKit | SDD-Kit |
|---|---|---|
| Spec Status | Often transient/prompt-based | Permanent & Centralized |
| Organization | Scattered: Specs buried in subfolders | Structured Tree: Centralized in /specs |
| Global Visibility | Low: Hard to find Vision/Tech Stack | High: One glance at the "Sacred Tree" |
| Vibe Capability | Limited (Context drift) | Native (Context is the Spec) |
In traditional toolkit approaches, specifications are often "drowned" in countless subdirectories. This makes it nearly impossible to quickly answer fundamental questions: What is the core product vision? What is the current tech stack? What are the overarching domain rules?
sdd-kit solves this by providing:
- Instant Overview: The
specs/directory is a high-level map of your entire business intelligence. - Unpolluted Context: Agents don't have to hunt for information; everything from Product Vision to DBML schema is exactly where it should be.
- The "Sacred Tree" Advantage: While others manage features in silos, SDD-Kit manages a living, breathing blueprint of your entire system.
The "Vibe" Difference: While other tools generate code from local prompts,
sdd-kitallows for true Vibe Coding. Because the AI agent can read the entire "Sacred Tree," it understands the ripples a feature causes across the DB, API, and Domain Rules, making autonomous execution reliable.
- Download the latest release from the repo.
- Unzip it inside your project root. This contains all prompts and agent configs to start interacting with sdd-kit directly within your IDE chat (Github Copilot, etc.).
# 1. Initialize your project
# This creates the sacred tree /specs structure.
/sdd.init
# 2. Specify your Product Vision
/sdd.specify-strategy "I want to build a simple accounting software to track my daily expenses"
# 3. Specify your Technical Foundation
/sdd.specify-tech "Full stack modern NextJs app; follow NextJs folder convention. Postgres Database"
# 4. Design the Architecture (New in v0.0.2)
# Generates the logical C4 blueprints (Context, Containers, Components).
/sdd.architect
# 5. Global Rebalancing and "Ventilation"
# Usually performed once after the initial vision to organize requirements and architecture into the Sacred Tree.
/sdd.dispatch
# 6. Generate Project Skeleton
# Usually performed once, Scaffolds the directory structure based on technical & architectural specs.
/sdd.scaffold
# 7. Define a New Intent
# Refine feature specifications, domain rules, and API contracts.
/sdd.feature "Add PDF export for monthly reports"
# 8. Bridge the Gap (New in v0.0.2)
# Ensure every spec is tracked and detected in the backlog before execution.
/sdd.gap
# 9. Review the Ventilated Specs
# Verify the logic in /specs/ before the agent touches the code.
# 10. Execute (Vibe Mode)
# Automatically chains: sdd plan -> sdd tasks -> sdd implement.
# Natively architecture-aware and health-checked.
/sdd.vibeThe toolkit includes a suite of specialized prompts located in .github/prompts/. Each command corresponds to a specific phase of the SDD Lifecycle.
| Phase | Command | Description |
|---|---|---|
| I. Genesis | sdd init |
Initialize the Sacred Tree structure. |
sdd architect |
π C4 Modeling & ADRs: Generate architecture blueprints and decision records. | |
sdd specify |
Interactive wizard to define Strategy, Tech, and Constitution. | |
sdd scaffold |
Generate project skeleton from technical specs. | |
| II. Design | sdd feature |
Create or refine feature specifications, domain rules, and API contracts. |
sdd clarify |
Resolve ambiguities in specs via AI interrogation. | |
sdd dispatch |
Global rebalancing and "ventilation" of domain/features/technical specs. | |
sdd tree-audit |
Audit specs/ for misfiled execution artifacts. (skill-routed) |
|
| π Governance | sdd gap |
π Gap Analysis: Detect unplanned spec scopes and generate an implementation gap report. (skill-routed) |
| III. Execution | sdd plan |
Generate a step-by-step implementation plan (Architecture-aware). |
sdd tasks |
Break down the plan into atomic, agent-ready tasks. | |
sdd implement |
Execute the tasks, write code, and update the backlog. | |
sdd vibe |
Auto-pilot: Chains Plan β Tasks β Implement with built-in health checks. |
Tip
Pro-tip: Run sdd gap and sdd tree-audit before sdd vibe. This "Safety Check" ensures that your Sacred Tree is structurally sound and that every specification is tracked before implementation starts.
SDD-Kit is designed to work with modern AI coding assistants.
| Agent | Status | Notes |
|---|---|---|
| GitHub Copilot | β Supported | Primary reference implementation. |
| Cursor | π§ Todo | Planned support. |
| Windsurf | π§ Todo | Planned support. |
| Claude Code | π§ Todo | Planned support. |
| Gemini CLI | π§ Todo | Planned support. |
| Jules | π§ Todo | Planned support. |
Note
GitHub Copilot users: the workspace-level behavioral instructions for all sdd-kit agents
are loaded automatically from .github/instructions/sdd-instructions.md. No manual configuration is
needed β simply open the project in VS Code with the GitHub Copilot extension installed.
- π’ Greenfield: Start from scratch and define your "Sacred Tree" before a single line of code is written.
- π‘ Incremental: Add features to an existing SDD-Kit project. The AI performs impact analysis across the entire tree.
- π΄ Legacy: We are currently developing
sdd reverse, a reverese engineering agent to scan existing codebases and automatically regenerate your "Sacred Tree."
Spec Driven Development (SDD) is an open methodology for those who believe the future of software lies in the clarity of intent transposed into clear and centralized specifications, rather than the volume of syntax.
We welcome contributions to the sdd-kit toolkit! You can help us evolve the framework by:
- π€ Improving existing AI Agents and prompt logic.
- π Sharing new Specification Templates for complex domains.
- π οΈ Expanding support for more IDEs and AI coding assistants.
- π Improving documentation and sharing SDD success stories.
Note
By contributing to this project, you agree that your contributions will be licensed under the same Apache License 2.0 terms. This ensures the methodology remains an open and protected standard for everyone.
Check our CONTRIBUTING.md (coming soon) for more details on how to get started.
- TurhanOz (@TurhanOz)
This project is licensed under the Apache License 2.0.
While Spec Driven Development (SDD) is a broader industry paradigm, the sdd-kit framework and workflow is a unique transposition and materialization of this concept by Turhan Oz.
This toolkit represents a specific conviction in how SDD should be implemented, featuring original architectural and procedural innovations such as:
- Intent Capture & Ventilation: The systematic process of "ventilating" abstract intent into unpolluted, specialized layers (Strategy, Domain, Features).
- The "Sacred Tree" Structure: A centralized, dual-audience (human & machine) specification structure acting as the permanent Single Source of Truth.
- Architecture Orchestration: The central design of system blueprints (ADRs, Data Schemas, API Contracts, and Architectural design, C4 Modeling) as prescriptive specifications.
- Technical Singleton Patterns: Enforcement of global technical truths to prevent context drift.
- Native Backlog & State Integration: Integrated tracking of implementation states within the SDD lifecycle.
- Ephemeral Artifact Management: Automated lifecycle and isolation of AI-generated execution logs.
- Spec-Driven Realignment: Methodology for strategically realigning existing projects towards a centralized "Sacred Tree" architecture.
Please refer to the NOTICE file for the full definitions of these intellectual property rights.
We chose the Apache 2.0 License to provide our users and contributors with a robust legal framework, including a clear grant of patent rights and protection against patent litigation.