Complete Guide to GitHub* Spec Kit
Version 1.6.0 ⢠Last Updated: January 2025 ⢠Total Video Content: 8 videos (189 minutes)
š Table of Contents
- Quick Links
- What is Spec Kit?
- Installation
- Core Concepts
- Complete Workflow
- Available Commands
- Best Practices
- Tips & Tricks
- FAQ
- Video Resources
Quick Links
For specific use cases:
- New to Spec Kit? - Start here with the new project quick start
- Existing Project? - Learn how to add features to your codebase
- Need Command Help? - Complete command reference
What is Spec Kit?
GitHub* Spec Kit is an experimental open-source toolkit that enables spec-driven development - a structured approach to building software that separates requirements from implementation.
Why Use Spec Kit?
ā Better than "vibe coding" - Structured, reproducible development ā Implementation-agnostic - Same spec works across different tech stacks ā Git-based - Safe experimentation with branches ā Team collaboration - Shareable markdown documentation ā AI-powered - Works with Claude, GPT*-4, Gemini, Cursor, and more
Supported AI Agents
- GitHub Copilot (VS Code)
- Claude Code
- Cursor
- Gemini CLI
- Qwen, OpenCode, Windsurf
- CodeBuddy, Amazon* Q*, Roo
Installation
Option 1: Persistent Installation (Recommended)
# Install once
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
# Use anywhere
specify init my-project --ai copilot --script bash
# Or in current directory
cd my-project
specify init . --ai copilot --script bash
Option 2: One-time Usage
uvx --from git+https://github.com/github/spec-kit.git specify init my-project
Option 3: Manual Template
Download templates directly from GitHub Releases.
Core Concepts
1. Constitution
Non-negotiable principles that guide ALL development decisions.
Examples:
- "Must have tests for all features"
- "Always use Next.js 14+"
- "Accessibility baseline: WCAG AA"
File: .speckit/memory/constitution.md
2. Specification (Spec)
What to build and why - completely detached from implementation.
Focus on:
- User needs and motivation
- Functional requirements
- User stories and scenarios
Avoid:
- Technology choices
- Implementation details
File: .speckit/specs/[feature]/spec.md
3. Plan
How to build it - technical implementation details.
Includes:
- Framework choices
- Architecture decisions
- Dependencies
- Data models
File: .speckit/specs/[feature]/plan.md
4. Tasks
Actionable breakdown organized by MVP phases.
NEW Structure:
- Phase 1: Setup & Shared Infrastructure
- Phase 2: Foundational Prerequisites
- Phase 3: MVP Implementation
- Phase 4+: Iterations & Improvements
File: .speckit/specs/[feature]/tasks.md
Complete Workflow
The 8-Step Process
1. /speckit.constitution ā Establish guardrails
2. /speckit.specify ā Define what & why
3. /speckit.clarify ā Fix under-specification (Q&A)
4. /speckit.checklist ā Validate completeness (NEW!)
5. /speckit.plan ā Technical how
6. /speckit.tasks ā Break into MVP phases
7. /speckit.analyze ā Validate consistency
8. /speckit.implement ā Build it!
See detailed guides:
Available Commands
| Command | Purpose | When to Use |
|---------|---------|-------------|
| /speckit.constitution | Create/update constitution | First step |
| /speckit.specify | Define requirements | Describe WHAT |
| /speckit.clarify | Interactive Q&A | Fix assumptions |
| /speckit.checklist | Domain checklists (NEW!) | Validate completeness |
| /speckit.plan | Technical planning | Specify HOW |
| /speckit.tasks | Generate task list | Break into steps |
| /speckit.analyze | Validate consistency | Before implement |
| /speckit.implement | Execute implementation | Build it! |
View detailed command reference ā
Best Practices
ā DO
- Be specific in your specs - Detailed requirements = better output
- Manually edit when needed - All files are markdown
- Use the constitution wisely - Encode critical requirements
- Experiment with different models - GPT*-4 vs Claude* Sonnet 4
- Leverage git branches - Spec Kit creates them automatically
- Use checklists to validate specs ⨠NEW!
- Commit often with git - Only commit working code
ā DON'T
- Don't mix concerns - Spec = WHAT, Plan = HOW
- Don't skip the constitution
- Don't trust AI blindly - Always verify
- Don't let AI guess on existing projects
- Don't skip TDD if you need it
Tips & Tricks
Tip 1: Reuse Specs Across Tech Stacks
Since specs are implementation-agnostic, you can experiment with multiple implementations!
Same spec ā Different plans ā Different implementations
Tip 2: Model Selection Strategy
For Spec Creation:
- GPT-4:* Thoughtful, literal, complete sections at once
- Claude Sonnet 4:* Creative, iterative, fills gaps
For Implementation:
- Claude Sonnet 4:* Best creative code output (recommended!)
- GPT-4:* Reliable, predictable results
Tip 3: Folder Structure
my-project/
āāā .github/
ā āāā copilot-instructions.md # Custom slash commands
āāā .speckit/
ā āāā memory/
ā ā āāā constitution.md
ā āāā scripts/
ā āāā templates/
ā āāā specs/
ā āāā 001-feature-name/
ā āāā spec.md
ā āāā plan.md
ā āāā tasks.md
āāā src/
Tip 4: Auto-Approved Scripts ⨠NEW!
VS Code + Copilot: Scripts automatically approved - no permission prompts!
Benefits:
- ā Faster workflow
- ā Still secure (only Spec Kit scripts)
- ā Available out of the box
Tip 5: Checklists - Unit Tests for English ⨠NEW!
Generate domain-specific checklists to validate spec completeness:
/speckit.checklist UX # Visual hierarchy, loading states
/speckit.checklist security # Authentication, validation
/speckit.checklist accessibility # WCAG compliance
Then cross-check:
Cross-check the UX checklist with spec.md
AI automatically updates spec to fill gaps!
FAQ
Q: Which docs should I update after iterations?
A: Priority order:
- Spec (most important) - sole source of truth
- Constitution - if you discover non-negotiable principles
- Plan - if technical stack changes
- Tasks - just regenerate with
/speckit.tasks
Q: How do I handle multi-repo setups?
A: Two approaches:
Option 1: One Spec Kit per repo (recommended)
- Bootstrap independently
- Easier to manage
Option 2: Shared constitution via git submodules
- Enforces organizational consistency
- More complex
Q: Agent went off the rails. How do I unwind?
A: Use git workflow:
- Update spec with correct requirements
- Commit spec changes
- Discard unwanted code in git client
- Re-implement from updated spec
Q: Can I rebuild with different tech stack later?
A: Yes! This is the power of implementation-agnostic specs.
Process:
- Keep original spec
- Create new plan with different stack
- Regenerate tasks
- Implement with new stack
Q: Do I need TDD for everything?
A: No! Tests are now optional.
When to skip:
- Quick prototypes
- Personal projects
- Rapid iteration
How to skip:
/speckit.plan
Not writing tests for this project.
Video Resources
Essential Watching (Watch in Order)
- Complete Guide (40 min)
- Under the Hood (36 min)
- Latest Updates (14 min)
- Clarify & Analyze (12 min)
- Existing Projects (45 min)
Supplementary Videos
- Copilot CLI (23 min)
- Q&A (20 min)
- Checklists (11 min) ⨠LATEST!
What's New in Version 1.6.0
šÆ Checklists - Unit Tests for English!
- Domain-specific quality checklists (UX, security, accessibility)
- Cross-check functionality to auto-update specs
- Solves under-specification problem
š Better Developer Experience
- Auto-approved scripts in VS Code (no permission prompts!)
- Better command structure with
speckit.prefix - Initialize in current directory with
.
š Improved Task Management
- MVP-first approach with phased delivery
- User story organization
- Tests now optional (not forced)
š§ More Agent Support
- CodeBuddy, Amazon* Q*, Roo added
Project Structure Example
Real-world example from a 10-year-old Hugo blog:
Goal: Add reading list feature
Constitution:
Static site with no frameworks.
Built with Hugo.
Use existing theme in themes/ folder.
Result: ā Reading list integrated seamlessly ā Respects existing architecture ā Can rebuild if migrating tech stack
See it live: den.dev/books/
Contributing
Spec Kit is experimental and open source!
Ways to contribute:
- Try it and file issues
- Share feedback
- Open pull requests (discuss big changes first!)
- Star the repo ā
Resources:
Next Steps
Ready to start?
- New Project Quick Start - Build from scratch
- Existing Project Quick Start - Add to existing code
- Command Reference - Master all commands
Happy spec-driven development! š
This guide is based on analysis of 8 video tutorials (189 minutes) and comprehensive testing of all features. Last updated: January 2025.
Trademark Notice
* GitHub, Copilot, Git, Claude, Cursor, Gemini, Amazon Q, Windsurf, Qwen, CodeBuddy, Roo, VS Code, Python, Linux, macOS, PowerShell, Windows, GPT, Node.js, npm, Next.js, React, Hugo, and YouTube are trademarks or registered trademarks of their respective owners. This website is not affiliated with, endorsed by, or sponsored by any of these trademark holders. All product names, logos, and brands are property of their respective owners.
Advertisement
Advertisement