用途
Spec Kit 实现规范驱动开发(Specification-Driven Development,SDD)方法论。其核心是「权力反转」:传统开发中代码是真相、规范只是脚手架;而在 SDD 中,规范是真相,代码是通过 AI 生成的输出。这样做的目的是消除意图与实现之间的差距,让规范变得可执行。
主要能力
Spec Kit 提供三个核心命令:
/speckit.specify <feature-description> 从自然语言描述创建完整的功能规范。输出包括 specs/{feature-name}/spec.md(完整功能规范)和 specs/{feature-name}/checklists/requirements.md(质量验证清单)。处理流程为:解析用户描述并提取关键概念(参与者、动作、数据、约束);生成带优先级(P1、P2、P3)的用户场景;定义功能需求(FR-001、FR-002 等);创建可衡量的成功标准;识别关键实体;对照质量清单验证;若存在关键歧义则提出澄清问题(最多 3 个)。指南要求聚焦用户需要什么和为什么,避免涉及技术栈、API、代码结构等「如何做」的内容,每个需求都必须可测试。
/speckit.plan [tech-context] 从已有规范创建实现计划。前置条件是功能目录中必须存在 spec.md。输出包括 plan.md(含技术决策的实现计划)、research.md(技术研究与决策)、data-model.md(实体定义)、contracts/(API 规范,如 OpenAPI/GraphQL)、quickstart.md(验证场景)。流程为:加载功能规范和项目章程;填写技术上下文;运行章程检查(评估架构门禁);阶段 0 研究未知项并生成 research.md;阶段 1 设计数据模型并生成契约;设计后重新评估章程合规性。
/speckit.tasks 从实现计划生成可执行任务列表。前置条件是 plan.md 和 spec.md 必须存在。输出为 specs/{feature}/tasks.md(按依赖排序的任务列表)。任务按用户故事组织:阶段 1 为设置(共享基础设施),阶段 2 为基础(阻塞性前置条件),阶段 3 及以后按优先级顺序(P1、P2、P3)处理用户故事,最后阶段为打磨与横切关注点。可并行任务标记为 [P],任务编号为 T001、T002 等,并生成依赖图和并行执行示例。任务格式为:[ID] [P?] [Story] 描述。
使用方式
典型工作流示例:
- 创建规范(约 5 分钟):/speckit.specify Real-time chat with message history and user presence
- 生成实现计划(约 5 分钟):/speckit.plan WebSocket for messaging, PostgreSQL for history, Redis for presence
- 创建任务列表(约 5 分钟):/speckit.tasks
约 15 分钟后可得到:含用户故事和验收标准的完整功能规范、含技术理由的详细实现计划、API 契约和数据模型、按用户故事组织的可执行任务列表。
项目章程
章程定义项目不可变的架构原则。当 memory/constitution.md 存在时,/speckit.plan 命令会在规划前对照章程门禁进行验证,要求对任何违规提供理由,并跟踪复杂度偏差。示例原则包括:库优先(功能从独立库开始)、测试优先(强制 TDD,红-绿-重构)、简洁性(最多 3 个项目,YAGNI)、集成优先(使用真实数据库而非模拟)。
关键概念
用户故事组织:任务按用户故事分组,以支持独立实现、独立测试和增量交付(先交付 P1,再 P2,再 P3)。
MVP 优先交付:完成设置和基础阶段后,实现用户故事 1(P1)→ 测试 → 部署,然后添加用户故事 2(P2)→ 测试 → 部署,依此类推。
模板驱动质量:模板约束 AI 行为以获得更好结果,防止过早的实现细节、强制显式不确定性标记、推行测试优先思维、防止投机性功能。
文件位置
在项目中工作时:规范位于 specs/{feature-name}/,章程位于 memory/constitution.md。
参考文件
模板(用于输出的填写工件):assets/templates/spec-template.md、assets/templates/plan-template.md、assets/templates/tasks-template.md、assets/templates/constitution-template.md。
文档(方法论和命令详情):references/methodology.md、references/commands/specify.md、references/commands/plan.md、references/commands/tasks.md。
适用场景
适用于功能开发前期的需求梳理、技术方案设计和任务拆解,尤其适合希望以用户故事为单位进行增量交付、并借助 AI 将规范转化为可执行产物的开发团队。
限制
资料未提供关于收费、价格、平台支持范围、具体效果数据等信息,暂未提供。