前言
随着 Agent 能力的不断提升,一种全新的 AI 原生开发范式正在兴起。这种范式强调以规范驱动开发,让 AI 从需求理解到代码实现全程参与,将开发者的角色从"写代码"转变为"定义规范"。Spec Kit 正是这一范式的典型代表,它通过规范驱动的开发流程,让 AI 助手能够更系统、更可靠地协助我们构建软件项目。
安装
https://github.com/github/spec-kit 参考第一部分,使用uv安装即可。
使用
安装和初始化完成后,Spec Kit 采用规范驱动的开发流程,主要通过 AI 助手中的 slash commands 执行。
核心执行流程

1. 建立项目原则
使用 /speckit.constitution 命令创建项目治理原则和开发指南:
/speckit.constitution 创建专注于代码质量、测试标准、用户体验一致性和性能要求的项目原则
2. 创建功能规范
使用 /speckit.specify 命令定义要构建的功能需求,重点关注"是什么"和"为什么",而不是技术栈,相当于功能需求。
/speckit.specify 构建一个能够帮助我将照片整理到不同相册中的应用
3. 异步澄清
在创建了基线规范之后,可以继续澄清在首轮中未充分捕捉到的需求。在创建技术计划之前,应先运行结构化澄清流程以减少下游返工。
推荐顺序:
- 使用
/speckit.clarify(结构化)——按顺序、基于覆盖的提问,并将回答记录在 Clarifications 小节中。 - 如仍有不清楚之处,可选地采用即兴自由格式细化。
/speckit.clarify
如果您有意跳过澄清(例如做 spike 或探索性原型),请明确指出,以免代理因缺少澄清而阻塞。
4. 制定技术实现计划
使用 /speckit.plan 命令提供技术栈和架构选择。
/speckit.plan 应用使用 Vite,并尽量减少库的使用。使用原生 HTML、CSS 和 JavaScript
5. 生成任务分解
使用 /speckit.tasks 命令从实现计划创建可执行的任务列表
/speckit.tasks
6. 执行实现
使用 /speckit.implement 命令执行所有任务并按计划构建功能:
/speckit.implement
可选命令
还有三个可选的增强命令:
/speckit.clarify- 澄清规范中不够明确的区域/speckit.analyze- 跨工件一致性和覆盖率分析/speckit.checklist- 生成自定义质量检查清单
项目结构
初始化后会在 .specify/ 目录下创建完整的开发环境,包含:
memory/constitution.md- 项目原则scripts/- 自动化脚本templates/- 规范模板specs/NNN-feature-name/- 功能特定的工件
整个流程强调规范驱动开发,让规范成为可执行的主要工件,代码则是规范的表达。
修改与更新
Spec Kit 支持通过迭代来完善已生成的工件。更新时应遵循 规范 → 计划 → 任务 → 实现 的依赖顺序。
1. 更新规范 (Specification)
- 增量更新:使用
/speckit.clarify进行结构化提问,并将答案集成到规范中。 - 手动修改:直接编辑
specs/NNN-feature-name/spec.md文件。
2. 更新计划 (Plan)
- 重新生成:修改规范后,运行
/speckit.plan基于新需求重新生成技术方案。 - 手动调整:直接编辑
plan.md调整架构决策或实现策略。
3. 更新任务 (Tasks)
- 同步更新:计划变更后,运行
/speckit.tasks重新分解任务列表和依赖关系。 - 手动编辑:直接在
tasks.md中调整任务优先级或添加特定任务。
4. 完整更新流程
- 需求变更:
/speckit.clarify->/speckit.plan->/speckit.tasks->/speckit.implement - 技术调整:直接运行
/speckit.plan [新要求]->/speckit.tasks->/speckit.implement
常见问题
Q:plan和task有什么区别
A:是工作流中两个不同阶段的命令,主要区别在于抽象层次和输出内容,一个是做什么,一个怎么做
Q:clarify 步骤是否必须执行?
A:clarify 步骤不是强制性的,但强烈推荐在制定技术计划之前执行。它可以减少下游返工,确保需求清晰。
参考资源
- GitHub 仓库: github/spec-kit