名称: speckit 描述: 规范驱动开发(SDD)工具包。将想法转化为可执行规范、实现计划和任务列表。用于功能规划、PRD创建或当用户调用/speckit.specify、/speckit.plan、/speckit.tasks命令时。 许可证: MIT
Spec Kit: 规范驱动开发
概述
Spec Kit 实现了规范驱动开发(SDD)——一种规范驱动代码的方法论,而非反之。规范不再仅为代码文档,代码成为规范的表达。
权力倒置
传统开发:代码是真理,规范是脚手架 SDD:规范是真理,代码是生成输出
这通过AI使规范可执行,消除了意图与实现之间的差距。
命令
/speckit.specify <功能描述>
从自然语言描述创建全面的功能规范。
用法: /speckit.specify 带消息历史和用户状态的实时聊天
输出:
specs/{功能名称}/spec.md- 完整功能规范specs/{功能名称}/checklists/requirements.md- 质量验证清单
过程:
- 解析用户描述,提取关键概念(参与者、动作、数据、约束)
- 生成用户场景,带优先级故事(P1, P2, P3)
- 定义功能需求(FR-001, FR-002 等)
- 创建可衡量的成功标准
- 识别关键实体
- 根据质量清单验证
- 如果存在关键歧义,提出澄清问题(最多3个)
指南:
- 关注用户需要什么及为什么
- 避免如何(无技术栈、API、代码结构)
- 使用行业标准做明智猜测
- 限制
[需要澄清]标记至最多3个 - 每个需求必须可测试
详细模板:阅读 references/spec-template.md
命令详情:阅读 references/commands/specify.md
/speckit.plan [技术上下文]
从现有规范创建实施计划。
用法: /speckit.plan WebSocket, PostgreSQL, Redis 或 /speckit.plan(将从上下文确定技术)
前提条件: 功能目录中必须存在 spec.md
输出:
specs/{功能}/plan.md- 带技术决策的实施计划specs/{功能}/research.md- 技术研究和决策specs/{功能}/data-model.md- 实体定义specs/{功能}/contracts/- API 规范(OpenAPI/GraphQL)specs/{功能}/quickstart.md- 验证场景
过程:
- 加载功能规范和项目章程
- 填充技术上下文部分
- 运行章程检查(评估架构门控)
- 阶段0:研究未知,生成
research.md - 阶段1:设计数据模型,生成合同
- 设计后重新评估章程合规性
章程门控(如果使用章程):
- 简单性门控:使用≤3个项目?无未来防护?
- 反抽象门控:直接使用框架?
- 集成优先门控:合同已定义?
详细模板:阅读 references/plan-template.md
命令详情:阅读 references/commands/plan.md
/speckit.tasks
从实施计划生成可执行任务列表。
用法: /speckit.tasks
前提条件: plan.md 和 spec.md 必须存在
输出:
specs/{功能}/tasks.md- 依赖排序的任务列表
过程:
- 加载 plan.md(技术栈、结构)和 spec.md(用户故事)
- 可选加载:data-model.md, contracts/, research.md
- 按用户故事组织生成任务:
- 阶段1:设置(共享基础设施)
- 阶段2:基础(阻塞先决条件)
- 阶段3+:按优先级排序的用户故事(P1, P2, P3…)
- 最终阶段:优化和跨领域
- 用
[P]标记可并行任务 - 编号任务(T001, T002…)
- 生成依赖图和并行执行示例
任务格式: [ID] [P?] [故事] 描述
[P]= 可并行运行(不同文件,无依赖)[故事]= 哪个用户故事(US1, US2, US3)
详细模板:阅读 references/tasks-template.md
命令详情:阅读 references/commands/tasks.md
工作流示例
# 1. 创建规范(5分钟)
/speckit.specify 带消息历史和用户状态的实时聊天
# 2. 生成实施计划(5分钟)
/speckit.plan 消息用WebSocket,历史用PostgreSQL,状态用Redis
# 3. 创建任务列表(5分钟)
/speckit.tasks
结果(15分钟内):
- 完整功能规范,含用户故事和验收标准
- 详细实施计划,带技术理由
- API合同和数据模型
- 按用户故事组织的可执行任务列表
项目章程
章程定义项目的不可变架构原则。当存在于 memory/constitution.md 时,/speckit.plan 命令将:
- 规划前根据章程门控验证
- 要求对任何违规进行理由
- 跟踪复杂性偏差
示例原则:
- 库优先:功能作为独立库开始
- 测试优先:TDD强制(红-绿-重构)
- 简单性:最多3个项目,YAGNI
- 集成优先:真实数据库优于模拟
章程模板:阅读 references/constitution-template.md
关键概念
用户故事组织
任务按用户故事分组,以实现:
- 独立实施
- 独立测试
- 增量交付(先发布P1,然后P2,然后P3)
MVP优先交付
- 完成设置 + 基础阶段
- 实施用户故事1(P1)→ 测试 → 部署
- 添加用户故事2(P2)→ 测试 → 部署
- 逐步继续
模板驱动质量
模板约束AI行为以获更好结果:
- 防止过早实施细节
- 强制显式不确定性标记
- 强制执行测试优先思维
- 防止推测性功能
文件位置
在项目中工作时:
- 规范:
specs/{功能名称}/ - 章程:
memory/constitution.md
参考文件
references/spec-template.md- 功能规范模板references/plan-template.md- 实施计划模板references/tasks-template.md- 任务列表模板references/constitution-template.md- 项目章程模板references/methodology.md- 完整SDD哲学文档references/commands/- 详细命令定义