名称: 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/- 详细命令定义