Introduction
"Build high-quality software faster. Focus on product scenarios and predictable outcomes instead of vibe coding every piece from scratch."
This is Part 55 of the "One Open Source Project a Day" series. Today's project is Spec Kit (GitHub).
Tired of vibe coding from scratch every time? Spec Kit is GitHub's open-source Spec-Driven Development toolkit: it makes specifications executable, directly generating working implementations instead of just guiding them. It provides a structured workflow constitution → specify → plan → tasks → implement, with Specify CLI and /speckit. slash commands*, supporting Claude Code, Cursor, GitHub Copilot, Gemini CLI and 20+ AI coding assistants.
What You'll Learn
- Spec-Driven Development philosophy
- Spec Kit's five-step workflow
- Specify CLI and slash commands
- Supported AI coding assistants
- Quick start and typical usage
Prerequisites
- Basic understanding of AI-assisted programming
- Experience with Claude Code, Cursor, or similar tools (optional)
Project Background
Project Overview
Spec Kit is GitHub's open-source Spec-Driven Development toolkit. In traditional development, specs are scaffolding and code is king; Spec-Driven Development makes specs executable, directly generating implementations. Spec Kit provides a structured flow: establish project principles (constitution), define requirements (specify), create technical plan (plan), break down tasks (tasks), then execute implementation (implement).
Team
- Team: GitHub
- Philosophy: Intent-driven, spec-first, multi-step refinement, leveraging advanced AI capabilities
Project Data
- 📄 License: MIT
- 🌐 Website: github.github.com/spec-kit
- 📚 Documentation: GitHub README
- 💬 Community: GitHub Issues
Core Features
Main Workflow
| Step | Command | Description |
|---|---|---|
| 1. Principles | /speckit.constitution | Create project governing principles and dev guidelines |
| 2. Requirements | /speckit.specify | Describe what to build (what/why), not tech stack |
| 3. Technical Plan | /speckit.plan | Specify tech stack and architecture, generate plan |
| 4. Task Breakdown | /speckit.tasks | Generate actionable task list from plan |
| 5. Implementation | /speckit.implement | Execute tasks in order, generate code |
Optional commands: /speckit.clarify (clarify requirements), /speckit.analyze (cross-artifact consistency), /speckit.checklist (quality checklist)
Use Cases
- Greenfield (0-to-1): Generate spec, plan, tasks, and implementation from scratch
- Brownfield extension: Iteratively add features, modernize existing codebases
- Creative exploration: Explore multiple tech stacks and architectures in parallel
Quick Start
Install Specify CLI:
# Recommended: persistent install
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
# Or one-time run
uvx --from git+https://github.com/github/spec-kit.git specify init my-projectInitialize project:
# New project
specify init my-project --ai claude
# Initialize in current directory
specify init . --ai claude
# or
specify init --here --ai cursor-agent
# Check environment
specify checkUse slash commands in AI assistant:
/speckit.constitution Create principles focused on code quality, testing standards, UX consistency
/speckit.specify Build an application that helps organize photos in albums by date, with drag-and-drop reordering
/speckit.plan Use Vite with vanilla HTML/CSS/JS, local SQLite for metadata
/speckit.tasks
/speckit.implementSupported AI Assistants
Officially supported: Claude Code, Cursor, GitHub Copilot, Gemini CLI, Codex, Qwen Code, Windsurf, Kiro CLI, Mistral Vibe, Kimi Code, and more
Generic mode: --ai generic --ai-commands-dir <path> for custom assistants
Project Advantages
| Comparison | Spec Kit | Pure Vibe Coding | Traditional PRD |
|---|---|---|---|
| Spec role | Executable, generates implementation | None | Reference only |
| Workflow | Structured five-step | None | Document-centric |
| Tech stack | Specifiable, explorable | Ad-hoc | Separate design |
| Task dependencies | Auto-ordered | None | Manual |
| AI integration | 20+ assistants | Varies | None |
Deep Dive
Development Phases
| Phase | Focus | Activities |
|---|---|---|
| 0-to-1 (Greenfield) | Generate from scratch | High-level requirements → spec → plan → implementation |
| Creative exploration | Parallel implementations | Multiple tech stacks, architectures, UX patterns |
| Iterative enhancement (Brownfield) | Brownfield modernization | Add features iteratively, modernize legacy systems |
Directory Structure (after init)
.specify/
├── memory/
│ └── constitution.md # Project principles
├── specs/
│ └── 001-feature-name/
│ ├── spec.md # Feature spec
│ ├── plan.md # Implementation plan
│ ├── tasks.md # Task list
│ ├── data-model.md # Data model
│ └── ...
├── scripts/ # Scripts
└── templates/ # TemplatesExperimental Goals
- Technology independence: Validate that Spec-Driven Development is not tied to specific tech
- Enterprise constraints: Support cloud providers, tech stacks, compliance
- User-centric development: Adapt to different user cohorts and dev approaches
- Creative & iterative: Support parallel exploration and iterative enhancement
Project Links and Resources
Official Resources
- 🌟 GitHub: https://github.com/github/spec-kit
- 🌐 Website: github.github.com/spec-kit
- 📚 Documentation: README, spec-driven.md
- 💬 Issues: GitHub Issues
Target Audience
- Developers wanting less vibe coding and more predictable outcomes
- Teams needing structured AI development workflows
- Teams with both greenfield and brownfield projects
- Users of Claude Code, Cursor, Copilot, and similar AI coding assistants
Visit my homepage for more useful knowledge and interesting products