规格套件: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 发出提示并希望得到最好的结果),而是强制执行严格的方法:

  1. 定义您想要什么(规格)
  2. 验证它是否有意义(宪法)
  3. 生成实现(代码)
  4. 验证它符合规范(测试)

开始使用 #

先决条件 #

  • 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 应用程序。

用户故事 #

  1. 作为用户,我想创建按日期分组的相册
  2. 作为用户,我想在相册之间拖放照片 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 跟踪
漂移检测内置

规格套件与敏捷用户故事 #

方面用户故事规格套件
粒度高水平详细
技术规格分开包含
测试标准隐式明确
人工智能准备就绪可怜优秀
溯源手册自动化

最佳实践 #

编写有效的规范 #

  1. 关注什么,而不是如何 - 描述期望的结果,而不是实施
  2. 具体说明约束 - 性能、安全性、兼容性要求
  3. 包括验收标准 - 明确的通过/失败条件
  4. 版本化您的规格 - 跟踪随时间的变化
  5. 保持规范的活力 - 随着需求的变化更新规范

与 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

💬 留言讨论