规格套件:GitHub
GitHub 的 Spec Kit 完整指南——通过规范驱动开发改变开发者构建软件方式的开源工具包。安装、工作流程和实际案例。
- 更新于 2026-06-20
规格套件:GitHub 革命性的规格驱动开发工具包 #
软件开发一直受到根本性脱节的困扰:我们指定的很少与我们构建的相匹配。 需求文档落满灰尘,PRD 在几天之内就过时了,最终产品往往与最初的愿景有很大偏差。
输入 Spec Kit - GitHub 的突破性开源工具包,完全翻转了这个脚本。 凭借 114,000 多个 GitHub star 和快速采用,Spec Kit 引入了规范驱动开发 (SDD),这是一种范式,其中规范成为直接生成工作实现的可执行工件。
在这份综合指南中,我们将探讨 Spec Kit 的工作原理、其重要性、如何开始以及展示其变革潜力的现实示例。
什么是规格套件? #
Spec Kit 是由 GitHub 开发的一个开源工具包,它支持规范驱动开发 - 在这种方法中,规范不仅仅是文档,而且是指导和生成代码的可执行工件。
传统的开发工作流程如下所示:
需求→设计→实施→测试→部署
(文档)(文档)(代码)(测试)(产品)
规格套件将其更改为:
规范→实施→测试→部署
(可执行文件)(代码)(测试)(产品)
规范成为真相的来源 - 活生生的,呼吸的,并直接连接到代码库。
核心理念 #
规范作为可执行工件 #
与传统的需求文档不同,Spec Kit 的规格包括:

- 版本控制与代码一起
- 机器可读供AI代理使用
- 根据实施自动验证
- 跟踪规范和代码之间的偏差
AI 原生开发 #
规格套件专为人工智能时代而设计编码剂。 它提供人工智能代理可以直接使用的结构化提示和模板,确保:
- 跨代理的一致输出
- 从规范到代码的可追踪决策
- 自动化质量门
- 多代理协作支持
Vibe 编码的可预测结果 #
Spec Kit 没有采用“氛围编码”(向 AI 发出提示并希望得到最好的结果),而是强制执行严格的方法:
- 定义您想要什么(规格)
- 验证它是否有意义(宪法)
- 生成实现(代码)
- 验证它符合规范(测试)
开始使用 #
先决条件 #
- uv - Python 包管理器
- AI 编码代理(Copilot、Claude Code、Codex CLI 等)
- 安装了Git
第 1 步:安装指定 CLI #
# 使用 uv 安装
uv 工具安装指定-cli \
--来自 git+https://github.com/github/spec-kit.git@latest
# 验证安装
指定--版本
第 2 步:初始化项目 #
# 使用spec-kit创建一个新项目
指定 init my-awesome-app --integration copilot
# 导航到项目
cd 我的很棒的应用程序
# 创建项目结构:
# ├── .spec-kit/
# │ ├── 宪法.md
# │ ├── 规格/
# │ └── 模板/
# ├── 规格.md
# └── README.md
第 3 步:建立项目原则 #
在项目目录中启动编码代理并使用“/speckit.constitution”命令:
# 在你的人工智能编码代理中:
/speckit.constitution 创建重点关注的原则:
- 代码质量标准
- 测试要求
- 性能基准
- 安全指南
- 文档期望
这将创建一个“constitution.md”文件来管理所有后续的开发决策。
第 4 步:编写您的第一个规范 #
使用“/speckit.specify”命令来描述您想要构建的内容:
/speckit.specify 构建具有以下功能的照片组织应用程序:
- 用户可以创建按日期分组的相册
- 相册可以通过拖放重新组织
- 照片支持元数据编辑
- 协作共享相册
该规范被保存为人工智能代理可以使用的结构化文档。
规格套件的工作原理 #
规范驱动的开发工作流程 #
┌──────────────────────────────────────────────────────────────┐
│ 规格套件工作流程 │
├──────────────────────────────────────────────────────────────┤
│ │
│ 1. 章程 │
│ └─ 定义项目原则和指南 │
│ │
│ 2. 明确 │
│ └─ 描述要构建什么(什么/为什么,而不是如何)│
│ │
│ 3. 计划 │
│ └─ 将规范分解为可操作的任务 │
│ │
│ 4. 创建 │
│ └─ 根据规范生成实现 │
│ │
│ 5. 验证 │
│ └─ 确保实施符合规范 │
│ │
│ 6. 部署 │
│ └─ 投入生产 │
│ │
└──────────────────────────────────────────────────────────────┘
规格格式 #
规范遵循结构化格式:
``降价
规格:相册管理器 #
总结 #
用于将照片组织到基于日期的相册中的 Web 应用程序。
用户故事 #
- 作为用户,我想创建按日期分组的相册
- 作为用户,我想在相册之间拖放照片 3.A是用户,我想与协作者共享相册
技术要求 #
- 框架:React + TypeScript
- 状态管理:Zustand
- 存储:IndexedDB 与云同步
- 测试:Vitest + Playwright
成功标准 #
- 可以创建、重命名、删除相册
- 拖放可在桌面和移动设备上使用
- 共享相册跨设备同步
- 性能:1000 张照片 <100 毫秒
### AI 代理集成
Spec Kit 可与多种 AI 编码代理配合使用:
| 代理| 积分方法|
|--------|--------------------|
| GitHub 副驾驶 | `/speckit.*` 斜线命令 |
| 法典 CLI | `$speckit-*` 命令 |
| 克劳德·代码 | 代理提示模板|
| 双子座 CLI | 自定义函数调用|
| 开放代码 | 技能定义|
## 现实世界的例子
### 示例 1:构建 REST API
````bash
# 定义规范
/speckit.specify 为博客平台构建 REST API:
- 帖子的CRUD操作
- 使用 JWT 进行用户身份验证
- 带有嵌套的评论系统
- 搜索功能
- 速率限制
# 生成实现
/speckit.create
# 根据规范进行验证
/speckit.validate
示例 2:创建移动应用程序 #
# 定义规范
/speckit.specify 使用以下内容构建健身跟踪移动应用程序:
- 使用运动库记录运动记录
- 进度图表和统计数据
- 社交功能(分享锻炼)
- 离线支持
- HealthKit/Google Fit 集成
# 生成实现
/speckit.create --framework 颤动
示例 3:微服务架构 #
# 定义规范
/speckit.specify 设计微服务架构:
- 用户服务(身份验证、配置文件)
- 订单服务(订单、付款)
- 库存服务(库存、仓库)
- 通知服务(电子邮件、短信、推送)
- 用于路由的API网关
# 生成实现
/speckit.plan --架构微服务
/speckit.create --framework kubernetes
捆绑包:基于角色的设置 #
规格套件包括针对不同团队角色的预配置捆绑包:
开发人员捆绑包 #
针对个人开发者优化:
指定 init --bundle 开发者
包括:
- 简化的工作流程
- 快速反馈循环
- 本地优先发展
团队捆绑包 #
专为协作开发而设计:
指定 init --bundle team
包括:
- 代码审查门
- 分支机构保护规则
- 共享章程模板
企业包 #
对于大型组织:
指定 init --bundle enterprise
包括:
- 合规模板
- 审计追踪
- 多环境支持
- 定制集成
高级功能 #
扩展系统 #
规格套件支持自定义工作流程的扩展:
# 安装扩展
指定扩展安装 github/spec-kit-extension-ci
# 创建自定义模板
指定模板创建 my-custom-spec
自定义预设 #
定义您自己的规格预设:
# .spec-kit/presets.yaml
预设:
网络应用程序:
框架:反应
州: 祖斯坦
测试: 维测试
api 服务:
框架:fastapi
数据库:postgresql
缓存:redis
移动应用程序:
框架:颤动
州: 河波德
测试:集成测试
漂移检测 #
规格套件会自动检测实施何时偏离规格:
# 检查规格漂移
指定漂移检查
# 查看漂移报告
指定漂移报告--输出html
报告包括:
- 规范中缺少功能
- 规范中不推荐使用的功能
- 测试覆盖率差距
- 文档不一致
与传统方法的比较 #
规格套件与传统 PRD #
| 方面 | 传统珠三角 | 规格套件 |
|---|---|---|
| 格式 | 自由格式文档 | 结构化规范 |
| 生活状况 | 已经过时了 | 始终保持同步 |
| AI耗材 | 没有 | 是的 |
| 验证 | 手册 | 自动化 |
| 版本控制 | 单独的维基 | Git 跟踪 |
| 漂移检测 | 无 | 内置 |
规格套件与敏捷用户故事 #
| 方面 | 用户故事 | 规格套件 |
|---|---|---|
| 粒度 | 高水平 | 详细 |
| 技术规格 | 分开 | 包含 |
| 测试标准 | 隐式 | 明确 |
| 人工智能准备就绪 | 可怜 | 优秀 |
| 溯源 | 手册 | 自动化 |
最佳实践 #
编写有效的规范 #
- 关注什么,而不是如何 - 描述期望的结果,而不是实施
- 具体说明约束 - 性能、安全性、兼容性要求
- 包括验收标准 - 明确的通过/失败条件
- 版本化您的规格 - 跟踪随时间的变化
- 保持规范的活力 - 随着需求的变化更新规范
与 CI/CD 集成 #
# .github/workflows/spec-validate.yml
名称:验证规格
上:[pull_request]
职位:
验证:
运行:ubuntu-latest
步骤:
- 使用:actions/checkout@v4
- name: 安装指定 CLI
运行: uv 工具安装指定-cli
- 名称:验证规格漂移
运行:指定漂移检查
- 名称:运行基于规范的测试
运行:指定测试 --from-spec
团队协作 #
- 跨项目共享宪法模板
- 使用常见模式的规范库
- 实施前审查规格
- 跟踪规范到代码的可追溯性
常见问题 #
问:规格套件可以免费使用吗? #
是的! Spec Kit 是根据 MIT 许可证开源的。 它完全免费供个人和商业用途。
问:支持哪些 AI 代理? #
规格套件官方支持:
- GitHub Copilot(本机集成)
- 克劳德代码(通过模板)
- Codex CLI(通过命令)
- Gemini CLI(通过函数调用)
- OpenCode(通过技能)
- 任何可以使用结构化规范的代理
问:我需要将 Spec Kit 与 AI 代理一起使用吗? #
不会。虽然 Spec Kit 的设计考虑了 AI 代理,但它也可用于传统的人类主导的开发。 无论由谁实现,结构化规范格式都可以提高清晰度。
问:Spec Kit 如何处理复杂的项目? #
规格套件通过以下方式扩展:
- 模块化规格 - 将大规格分解为更小的、可管理的部分
- 组合 - 结合复杂系统的多个规格
- 分层组织 - 父子规范关系
- 依赖管理 - 跟踪规范相互依赖关系
问:我可以从现有文档迁移吗? #
是的! Spec Kit 提供迁移工具:
- 将 Markdown 文档转换为规范
- 从 Jira/Linear 中提取需求
- 将 PRD 转化为结构化规范
- 将用户故事导入规范格式
问:敏捷仪式怎么样? #
Spec Kit 与敏捷工作流程集成:
- 规格成为活生生的用户故事
- 章程取代了团队工作协议
- 漂移检测支持冲刺评审
- 规范验证有助于完成的定义
结论 #
Spec Kit 代表了我们软件开发方式的根本转变。 通过使规范可执行、版本控制和人工智能可使用,它弥合了我们打算构建的内容和实际构建的内容之间的差距。
无论您是寻求更可预测结果的个人开发人员,还是寻求标准化开发流程的团队,Spec Kit 都能提供您所需的结构、灵活性和 AI 原生功能。
在 GitHub 的支持和开发者社区的快速采用下,Spec Kit 有望成为现代开发者工具包中的重要工具。
资源 #
来源:
💬 加入我们的电报群讨论群组: t.me/DIBI8_Group
💬 留言讨论