GitHub Spec Kit:规范驱动开发(SDD)工具包
Spec Kit 是 GitHub 官方开源的 SDD 工具包,核心理念是规范生成实现——不是从模糊需求直接跳到代码,而是通过 Constitution → Specify → Plan → Tasks → Implement 五个阶段,逐步将意图细化为可执行的规范,再由 AI 生成代码。
SDD 的核心翻转
传统开发中,代码是主角,文档是附属品。SDD 颠倒了这个关系:
规范不服务于代码,代码服务于规范。
代码只是规范在某个语言和框架中的"表达"。维护软件 = 演进规范,而非手动修改代码。
SDD 六大原则
| 原则 | 说明 |
|---|---|
| 规范即主要产出物 | 规范是第一公民,代码是它的表达 |
| 可执行的规范 | 规范足够精确,可以直接驱动代码生成 |
| 持续精炼 | 不是一次性定稿,而是持续发现歧义和矛盾 |
| 研究驱动的上下文 | AI 代理调研技术选项、性能影响、组织约束 |
| 双向反馈 | 生产数据和运维经验反哺规范演进 |
| 分支探索 | 同一规范可生成多种实现方案进行对比 |
Spec Kit vs OpenSpec
在阅读本文之前,建议先了解 OpenSpec & SDD 中关于 SDD 的基础概念。两者的核心区别:
| 维度 | Spec Kit | OpenSpec |
|---|---|---|
| 出品方 | GitHub 官方 | Fission AI 社区 |
| 定位 | 结构化、模板驱动 | 轻量级、灵活 |
| 工作流 | 五阶段线性流程 | 三步循环(提案→实现→归档) |
| 核心特色 | Constitution 宪章机制 | 双文件夹分离模型 |
| 模板系统 | 内置丰富模板,约束 AI 行为 | 较自由,手动定义 |
| 适合场景 | 新项目从零开始、需要严格规范 | 存量项目增量开发 |
安装
环境要求
- Python 3.11+
- Git
- uv 包管理器
- 支持的 AI 编程工具
安装 CLI
# 持久安装(推荐)
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
# 一次性使用(不安装)
uvx --from git+https://github.com/github/spec-kit.git specify init my-project
# 升级到最新版
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git
检查环境
specify check
验证 Git、Python、AI 工具等是否就绪。
初始化项目
新项目(Greenfield)
specify init my-project --ai claude