One Open Source Project a Day (Part 55): Spec Kit - GitHub's Open-Source Spec-Driven Development Toolkit

Deep dive into Spec Kit, GitHub's open-source Spec-Driven Development toolkit that makes specifications executable, with a structured workflow from constitution → specify → plan → tasks → implement, supporting 20+ AI coding assistants including Claude Code, Cursor, Copilot

·4 min read·Development Methodology

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


Core Features

Main Workflow

StepCommandDescription
1. Principles/speckit.constitutionCreate project governing principles and dev guidelines
2. Requirements/speckit.specifyDescribe what to build (what/why), not tech stack
3. Technical Plan/speckit.planSpecify tech stack and architecture, generate plan
4. Task Breakdown/speckit.tasksGenerate actionable task list from plan
5. Implementation/speckit.implementExecute tasks in order, generate code

Optional commands: /speckit.clarify (clarify requirements), /speckit.analyze (cross-artifact consistency), /speckit.checklist (quality checklist)

Use Cases

  1. Greenfield (0-to-1): Generate spec, plan, tasks, and implementation from scratch
  2. Brownfield extension: Iteratively add features, modernize existing codebases
  3. 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-project

Initialize 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 check

Use 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.implement

Supported 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

ComparisonSpec KitPure Vibe CodingTraditional PRD
Spec roleExecutable, generates implementationNoneReference only
WorkflowStructured five-stepNoneDocument-centric
Tech stackSpecifiable, explorableAd-hocSeparate design
Task dependenciesAuto-orderedNoneManual
AI integration20+ assistantsVariesNone

Deep Dive

Development Phases

PhaseFocusActivities
0-to-1 (Greenfield)Generate from scratchHigh-level requirements → spec → plan → implementation
Creative explorationParallel implementationsMultiple tech stacks, architectures, UX patterns
Iterative enhancement (Brownfield)Brownfield modernizationAdd 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/                # Templates

Experimental 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

Official Resources

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