渐进式 SDD 工作流
Forge 遵循 No Spec No Code 原则。所有变更通过 Spec-Driven Development(SDD)六步流程管理,变更产物存放在 code-copilot/changes/[变更名]/。
六步流程
spec-init → propose → apply → review → test → archive1. spec-init:初始化项目上下文
bash
/spec-init读取项目配置,建立当前对话的工程上下文。首次开发时执行一次即可。
2. propose:创建变更提案
bash
/propose 新增订单管理模块生成两个文件:
| 文件 | 用途 |
|---|---|
spec.md | 变更规格说明(需求、设计、约束) |
tasks.md | 任务拆解清单 |
3. apply:按 Spec 执行编码
bash
/apply order-management按 spec.md 和 tasks.md 逐项实现代码。执行时严格遵循 Spec 约定。
4. review:两阶段审查
bash
/review order-management| 阶段 | 检查内容 |
|---|---|
| Spec 合规 | 实现是否符合 spec.md 约定 |
| 代码质量 | 编码规范、安全红线、分层约定 |
审查不通过时使用 /fix 增量修正:
bash
/fix order-management5. test:自动化测试
bash
/test order-management按 code-copilot/rules/automated-testing-standard.md 执行,复用已有 test-spec.md,增量生成测试。
6. archive:归档沉淀
bash
/archive order-management归档变更产物,沉淀知识到记忆文件。
产物目录结构
code-copilot/changes/order-management/
├── spec.md # 变更规格
├── tasks.md # 任务清单
├── test-spec.md # 测试规格
├── execution-log.md # 执行日志
└── review-notes.md # 审查记录优先级规则
AGENTS.md > spec.md > .agents/skills/*/SKILL.md > code-copilot/rules/* > 其他参考文档Spec 文档与通用规则冲突时,以 Spec 为准。
何时使用 SDD
| 场景 | 是否需要 SDD |
|---|---|
| 新增功能模块 | 是 |
| 修改核心架构 | 是 |
| 修复简单 Bug | 否(直接修) |
| 调整配置参数 | 否 |
| 涉及资金/权限变更 | 是(必须人工审查) |
