Skip to content

SDD 工作流

规格驱动开发将规格视为活跃的开发契约。实现的每个阶段都由明确定义的标准把关,并在每次过渡时自动验证。

生命周期

澄清 → create_spec → DoR 检查 → 实现 (PLAN.md) → 验证 → 漂移检测 → 完成

每个箭头都是一个关卡。不满足上一阶段的完成定义,就无法推进到下一阶段。

第 1 阶段 — 澄清

工具: clarify_requirementsreality_check

在编写任何一行规格之前,先发现模糊之处。

提示词:"使用 specforge 澄清项目 [id] 中 [功能] 的需求"

clarify_requirements 生成一份有针对性的问题清单 — 涵盖范围边界、边缘情况、非功能性需求、外部依赖 — 确保规格从清晰、无歧义的意图开始。

reality_check 评估需求在当前项目上下文中是否可行。它会在"周五之前不可能完成"的情况变成技术债务之前就发现问题。

第 2 阶段 — 创建规格

工具: create_specdesign_schemadefine_ui_contractgenerate_adr

提示词:"为项目 [id] 中的 [功能] 创建规格"

create_spec 生成一个结构化的 HU.md,包含:

章节内容
用户故事谁、什么、为什么
验收标准可测试、无歧义的标准
DoR 检查列表准备就绪定义关卡
数据库架构提示表、列、关系
UI 契约组件契约、状态管理
架构决策记录提示Architecture Decision Records
PLAN.md逐步执行计划

当项目检测到 AI 原生架构时,规格还会生成:

  • 延迟预算和回退链
  • 提示词版本控制标准
  • LLM 可观测性需求

第 3 阶段 — DoR 检查

工具: check_readinessdetect_contradictions

在实现开始之前,验证规格是否真正准备好了。

提示词:"检查项目 [id] 中的规格 SPEC-003 是否已准备好实现"

check_readiness 评估:

  • 验收标准的完整性
  • 标准质量(可测试、无歧义)
  • 依赖状态(阻塞规格是否已解决?)
  • 章程合规性

detect_contradictions 扫描所有规格中的语义冲突 — 捕获 SPEC-A 说"用户可以删除账号"而 SPEC-B 说"账号不可更改"的情况。

第 4 阶段 — 实现

工具: generate_execution_planpackage_handoffgenerate_tests

提示词:"为项目 [id] 中的规格 SPEC-003 生成执行计划"

generate_execution_plan 生成一个 PLAN.md,包含:

  • RED/GREEN/VERIFY 循环步骤
  • 识别出可并行的步骤
  • 每个步骤的文件归属
  • 每个步骤的估算工作量

package_handoff 将规格打包成 AI 代理的结构化交接包 — 目标、标准、文件列表、约束 — 准备好进行自主实现。

generate_tests 根据规格的验收标准生成测试计划和测试文件框架。

第 5 阶段 — 验证

工具: validateauditsecurity_check

实现完成后,验证覆盖率:

提示词:"根据 /path/to/src 的代码验证规格 SPEC-003"

validate 检查:

  • 哪些验收标准被代码覆盖
  • 哪些缺失或只是部分实现
  • 整体规格覆盖率百分比

audit 对实现进行 0–100 评分,评分维度包括:

  • SOLID 原则
  • 清洁代码
  • 架构合规性
  • 章程违规

security_check 通过 OWASP Top 10 运行规格,并扫描代码中不安全的模式,生成安全评分(A–F)。

第 6 阶段 — 漂移检测

工具: detect_driftreconcile_spec

随着需求演进,保持规格和代码对齐:

提示词:"检测项目 [id] 中规格 SPEC-003 的漂移"

detect_drift 报告:

  • 不再与代码匹配的标准
  • 自上次检查以来引入的章程违规
  • 下游影响:哪些其他规格受到漂移影响

当漂移是有意为之时(规格需要更新):

提示词:"将项目 [id] 中的规格 SPEC-003 与实现变更协调"

reconcile_spec 逐项变更提交审批,并在保存前检查章程合规性。

项目章程

章程是一组从你的 CLAUDE.md.cursorrules 或其他 AI 代理配置文件中提取的不可变架构原则。

提示词:"从 CLAUDE.md 初始化项目 [id] 的章程"

一旦设置,章程会在 create_specauditdetect_drift 中自动执行。违规会在到达代码审查之前被标记出来。

状态流转

状态描述
draft规格已创建,尚未准备好
ready通过 DoR 检查
in_progress实现已开始
review实现完成,等待验证
done已验证并接受
blocked被依赖项阻塞
提示词:"将项目 [id] 中规格 SPEC-003 的状态更新为 in_progress"

每次状态转换都会运行 DoR/DoD 验证。在满足 DoD 标准之前,无法将规格标记为 done