用途:在变更完成后收尾,把系统当前行为同步进 specs/features/ 活规格,并清掉可选的工作流临时产物。不依赖框架,无论使用临时变更产物、计划模式、TDD 还是直接实现都可使用;唯一硬性要求是 specs/features/ 必须反映系统现在的行为。
主要能力:可选用变更名(使用 specs/changes/<name>/ 时),否则自动从 git 推断差异;用 git diff HEAD --stat 与 git status 了解改动,读取关键变更文件判断行为新增、修改或删除;若有 specs/changes/<name>/ 则作为规划上下文更新正式规格,若无则直接读改动代码定位受影响的规格需求;按 RFC 2119 与 WHEN/THEN 格式对规格做最小必要更新,新行为可创建 specs/features/<新能力>/spec.md;最后删除临时产物并汇报 specs/features/ 的变更,提示用户随代码一并提交。
使用方式:核心命令为 git diff HEAD --stat、git status,以及清理时的 rm -rf specs/changes/<name>。规格格式为“### Requirement:”声明式行为加 SHALL/MUST 一句话描述,场景用“#### Scenario:”,含 WHEN/THEN 条款。
适用场景:结构化变更流程的收尾、计划模式或 TDD 完成后的规格同步。
限制:规格只描述行为,不写数据库 schema、组件名、端点路径或技术框架;每个能力一份 spec.md,而非每个任务或 PR 一份;临时产物只删除不归档(已被 gitignore);若为无可见行为变化的纯内部重构,跳过前须与用户确认;规格更新须通过重建测试——开发者能否仅凭规格重建该功能。