规范驱动开发工具包 speckit

Spec Kit是一个AI辅助的规范驱动开发(SDD)工具包,用于将自然语言想法快速转化为可执行规范、实现计划和任务列表。适用于功能规划、PRD创建、开发管理和项目管理,支持增量交付和质量保证。关键词:规范驱动开发、AI辅助、软件开发工具、项目管理、敏捷开发、架构设计。

架构设计 0 次安装 0 次浏览 更新于 3/7/2026

名称: 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 - 质量验证清单

过程:

  1. 解析用户描述,提取关键概念(参与者、动作、数据、约束)
  2. 生成用户场景,带优先级故事(P1, P2, P3)
  3. 定义功能需求(FR-001, FR-002 等)
  4. 创建可衡量的成功标准
  5. 识别关键实体
  6. 根据质量清单验证
  7. 如果存在关键歧义,提出澄清问题(最多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 - 验证场景

过程:

  1. 加载功能规范和项目章程
  2. 填充技术上下文部分
  3. 运行章程检查(评估架构门控)
  4. 阶段0:研究未知,生成 research.md
  5. 阶段1:设计数据模型,生成合同
  6. 设计后重新评估章程合规性

章程门控(如果使用章程):

  • 简单性门控:使用≤3个项目?无未来防护?
  • 反抽象门控:直接使用框架?
  • 集成优先门控:合同已定义?

详细模板:阅读 references/plan-template.md 命令详情:阅读 references/commands/plan.md


/speckit.tasks

从实施计划生成可执行任务列表。

用法: /speckit.tasks

前提条件: plan.mdspec.md 必须存在

输出:

  • specs/{功能}/tasks.md - 依赖排序的任务列表

过程:

  1. 加载 plan.md(技术栈、结构)和 spec.md(用户故事)
  2. 可选加载:data-model.md, contracts/, research.md
  3. 按用户故事组织生成任务:
    • 阶段1:设置(共享基础设施)
    • 阶段2:基础(阻塞先决条件)
    • 阶段3+:按优先级排序的用户故事(P1, P2, P3…)
    • 最终阶段:优化和跨领域
  4. [P] 标记可并行任务
  5. 编号任务(T001, T002…)
  6. 生成依赖图和并行执行示例

任务格式: [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 命令将:

  1. 规划前根据章程门控验证
  2. 要求对任何违规进行理由
  3. 跟踪复杂性偏差

示例原则:

  • 库优先:功能作为独立库开始
  • 测试优先:TDD强制(红-绿-重构)
  • 简单性:最多3个项目,YAGNI
  • 集成优先:真实数据库优于模拟

章程模板:阅读 references/constitution-template.md

关键概念

用户故事组织

任务按用户故事分组,以实现:

  • 独立实施
  • 独立测试
  • 增量交付(先发布P1,然后P2,然后P3)

MVP优先交付

  1. 完成设置 + 基础阶段
  2. 实施用户故事1(P1)→ 测试 → 部署
  3. 添加用户故事2(P2)→ 测试 → 部署
  4. 逐步继续

模板驱动质量

模板约束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/ - 详细命令定义