Build High-Quality Software Faster
Spec Kit is an open source toolkit that allows you to focus on product scenarios and predictable outcomes instead of vibe coding every piece from scratch. It implements Spec-Driven Development (SDD), a methodology that flips the traditional development script.For decades, code has been king. Specifications were just scaffolding we built and discarded once the “real work” of coding began. Spec-Driven Development changes this: specifications become executable, directly generating working implementations rather than just guiding them.
What is Spec-Driven Development?
Spec-Driven Development inverts the traditional power structure in software development:- Specifications don’t serve code—code serves specifications
- The Product Requirements Document (PRD) isn’t a guide for implementation; it’s the source that generates implementation
- Technical plans aren’t documents that inform coding; they’re precise definitions that produce code
- When specifications generate code, there is no gap—only transformation
The Power Inversion
This transformation is now possible because AI can understand and implement complex specifications. But raw AI generation without structure produces chaos. SDD provides that structure through:Intent-Driven Development
Express your intent in natural language, design assets, and core principles. The lingua franca of development moves to a higher level.
Executable Specifications
Specifications are precise, complete, and unambiguous enough to generate working systems, eliminating the gap between intent and implementation.
Continuous Refinement
AI analyzes specifications for ambiguity, contradictions, and gaps as an ongoing process, not a one-time gate.
Bidirectional Feedback
Production reality informs specification evolution. Metrics and incidents become inputs for specification refinement.
The SDD Workflow
Spec Kit streamlines the development workflow through powerful slash commands available in your AI coding assistant:Establish Project Principles
Use
/speckit.constitution to create your project’s governing principles and development guidelines that guide all subsequent development.Create the Specification
Use
/speckit.specify to describe what you want to build. Focus on the what and why, not the tech stack.Clarify Requirements
Use
/speckit.clarify to identify and resolve ambiguities in your specification through structured questioning.Generate Technical Plan
Use
/speckit.plan to provide your tech stack and architecture choices, creating detailed implementation plans.Break Down Tasks
Use
/speckit.tasks to create an actionable task list from your implementation plan with proper dependency ordering.Key Features
Multi-Agent Support
Works with Claude Code, GitHub Copilot, Cursor, Gemini CLI, opencode, and many more AI coding assistants.
Template-Based Generation
Structured templates ensure specifications, plans, and tasks follow consistent, proven patterns.
Git Integration
Automatic branch creation, feature numbering, and version control integration for specification management.
Cross-Platform Scripts
Both Bash and PowerShell variants for all automation scripts, supporting Linux, macOS, and Windows.
Why Spec-Driven Development Matters Now
Three trends make SDD not just possible but necessary:- AI Capabilities: AI has reached a threshold where natural language specifications can reliably generate working code, amplifying developer effectiveness.
- Growing Complexity: Modern systems integrate dozens of services, frameworks, and dependencies. SDD provides systematic alignment through specification-driven generation.
- Accelerating Change: Requirements change rapidly. SDD transforms requirement changes from obstacles into normal workflow through systematic regenerations.
Development Phases
Spec Kit supports multiple development scenarios:| Phase | Focus | Key Activities |
|---|---|---|
| 0-to-1 Development | Generate from scratch | Start with high-level requirements, generate specifications, plan implementation, build production-ready applications |
| Creative Exploration | Parallel implementations | Explore diverse solutions, support multiple technology stacks & architectures, experiment with UX patterns |
| Iterative Enhancement | Brownfield modernization | Add features iteratively, modernize legacy systems, adapt processes |
Get Started
Installation
Install the Specify CLI and set up your first project
Quick Start
Get from installation to your first working specification in minutes
CLI Reference
Complete reference for all Specify CLI commands and options
Methodology
Deep dive into the complete Spec-Driven Development process
Community and Support
Spec Kit is an open source project licensed under the MIT License. For support:- Issues & Bugs: Open a GitHub issue
- Feature Requests: Submit ideas through GitHub issues
- Documentation: Explore this comprehensive documentation site
- Source Code: View and contribute on GitHub
This project is heavily influenced by and based on the work and research of John Lam.