@zw-team/sdd
v3.2.0
Published
Spec-Driven Development — self-contained Native workflow with on-disk state and independent verification
Readme
SDD Template
SDD3.0版本 面向内部研发的自包含 SDD 工作流模板。它不依赖外部 Skill;需求、评审、实现、验证和归档状态都保存在项目中。
superpower内核版依旧保留,如需使用请指定安装2.x.x版本。
流程
Think ──提交评审包──> Review ──/sdd:build 明确批准──> Build(实现 + 独立验证)
│
├─ 未通过:修复后重新验证
└─ 通过:停止,等待 /sdd:archive关键边界:
- Think 结束只进入技术评审,不会自动开始 Build。
brief.md是需求与验收契约;review.md是可用于技术评审的设计包;Spec 描述归档后的完整能力。- 验证融入 Build,但仍由独立 Verifier 逐项验收。
- 浏览器、设备、凭据或运行环境缺失时记录为
not-run;除非用户明确设为硬验收,不阻塞流程也不要求引入新依赖。 - Build 保留计划暂停、当前目录/branch/worktree、自动/手动提交、顺序/并行和可选 TDD。
- worktree 默认创建在
.worktree/<change>;归档前必须询问 branch/worktree 的处置,归档不会自动 merge、push、PR 或清理。
架构
命令入口 (/sdd, /sdd:think, /sdd:build, /sdd:verify, /sdd:archive)
│
▼
阶段 Skill(中文操作规范与人工停点)
│
▼
Native Runtime(唯一状态写入者)
new / status / next / approve / plan / resume / configure / workspace / archive / ui validate|compare
│
▼
openspec/changes/<change>/
brief.md · review.md · specs/ · plan.md · .sdd-native.jsonRuntime 校验阶段、状态版本、计划完成度、候选 ID 和 Verifier 引用,避免旧候选或旧验证结果覆盖当前状态。状态以临时文件加原子重命名写入;归档会同步 Spec,并把 brief.md 的 Outcome 追加为 openspec/CHANGELOG.md 中的中文工作概述;任一写入失败时保留活动 change 以便重试。
工件
openspec/changes/<change>/
brief.md # 目标、范围、验收和约束
review.md # 技术评审包与评审结论
specs/<capability>/spec.md # 归档后的完整目标能力
plan.md # Build 的可执行 checklist
.sdd-native.json # 仅 Runtime 写入brief.md 的 Acceptance examples 会在提交评审包时固定为 A1、A2 等验收项。review.md 固定覆盖背景、方案选择、详细技术设计、技术实现方案、架构影响、兼容性、风险、回滚、验证策略和待决事项,供技术评审直接使用。详细技术设计须基于实际模块/文件/符号说明数据或调用流、接口与异常语义;技术实现方案须列出待改动点、实施顺序及验收项到验证方式的映射。
使用方式
/sdd:think # 调研并产出 brief、review、Spec;停在评审点
/sdd:build # 记录评审批准,规划、实现并独立验证
/sdd:archive # 确认工作区收尾后同步 Spec 并归档/sdd 是统一入口,但同样不会跨越 Think→Review→Build 或 Build→Archive 的阶段停点。/sdd:verify 是兼容入口:它只在 Build 内的独立验证动作等待时使用。
Runtime 也可直接调用:
sdd native new <change> --json
sdd native next <change> --confirmed --summary "评审材料已完成" --json
sdd native approve <change> --confirmed --summary "技术评审通过" --json
sdd native workspace <change> --confirmed --branch sdd/<change> --json
sdd native archive <change> --confirmed --summary "保留分支和 worktree" --json选择 worktree 时,最后一条 workspace 不传 --path 即使用项目 .worktree/<change>;成功后必须在 Runtime 返回的新目录继续。
验证与开发
npm test测试覆盖 Runtime 状态流、评审门禁、Build 内独立验证、Verifier 结果防过期、归档回滚、重开、branch/worktree 恢复和安装产物不依赖外部 Skill。
