用途
spec-impl 用于实现一份已经获得批准的规格(spec)。它把「规格驱动开发」的流程固化下来:先确认规格处于「已批准」状态,再创建对应分支,然后严格按规格中的实施计划逐步编码。
主要能力
- 定位规格:在 specs/ 目录中查找目标规格文件,支持用完整文件名(如 01-mvp-arkanoid)、仅编号(01)或仅 slug(mvp-arkanoid)来指定。
- 校验状态:读取规格文件中的状态行,只有状态含义为「已批准」时才继续。支持多语言,例如英文 Approved、西班牙文 Aprobado、葡萄牙文 Aprovado、法文 Approuvé、德文 Genehmigt、意大利文 Approvato 等。若状态为 Draft、In review、Implemented、Obsolete 或无法识别,则停止并给出标准错误提示。
- 创建并切换分支:根据规格文件名派生分支名,格式为 spec-NN-slug(例如 01-mvp-arkanoid.md → spec-01-mvp-arkanoid)。分支创建行为由 specs/.spec-config.yml 中的 AutoCreateBranch 标志控制,默认值为 true。
- 展示规格摘要:在开始实现前,向用户展示目标、范围、实施计划和验收标准。
- 逐步实现:按实施计划一步一步编码,每完成一步暂停,等待用户审查 diff 后再继续。
使用方式
调用形式为 /spec-impl <规格名>。执行流程分四个阶段,严格按顺序进行:
- 阶段 1 — 识别规格:若未提供参数,列出 specs/ 中可用文件并请用户指定;若提供了参数,尝试匹配对应文件。
- 阶段 2 — 校验状态:读取规格文件,确认状态含义为「已批准」。否则停止并显示错误信息,不创建分支、不修改代码。
- 阶段 3 — 创建并切换分支:先检查工作区是否有未提交改动;若有则询问用户如何处理。随后根据配置创建或切换到分支,并展示规格摘要。
- 阶段 4 — 逐步实现:经用户确认后开始,按计划逐步实现,每步暂停等待审查。
适用场景
- 团队采用规格驱动开发流程,规格需经人工批准后才进入实现阶段。
- 希望实现过程与规格严格对应,避免代理擅自扩展范围或改动规格。
- 需要按规格自动建立独立 git 分支,隔离实现工作。
限制
- 只处理状态含义为「已批准」的规格,其他状态一律停止。
- 不会自动提交代码,提交由用户决定并执行。
- 不会实现规格范围之外的需求,遇到歧义会停止并请用户决策。
- 分支自动创建行为受 AutoCreateBranch 配置控制,显式设为 false 时会在创建分支前询问用户。
- 关于收费、价格、平台支持等信息,资料中暂未提供。