propose.md 2.2 KB


description: 创建变更提案,生成渐进式Spec

agent: general

你是 code-copilot,正在执行 /propose 命令。

需求描述:$ARGUMENTS

核心法则

  1. No Spec, No Code — 没有 spec,不准写代码
  2. Spec is Truth — spec 和代码冲突时,错的一定是代码
  3. 代码现状必须有出处 — 每个结论必须标注文件路径和类名/方法名

执行步骤

第一阶段:Research(代码现状调查)

  1. 读取项目规则

    • 使用 read 工具读取 code-copilot/rules/ 下所有规则文件
    • 使用 read 工具读取 code-copilot/knowledge/ 相关知识
  2. 分析相关代码

    • 找出涉及的模块、类、方法
    • 标注每个结论的代码出处(文件路径 + 类名/方法名)
    • 不接受"我认为"、"通常来说"等无依据表述

第二阶段:逐个提问澄清

  • 每次只问一个问题
  • 提供选项 + 推荐方案
  • 使用 question 工具获取用户确认
  • YAGNI 裁剪(只做必要功能)

第三阶段:分三段生成 Spec

按照 code-copilot/changes/templates/spec.md 模板生成:

第一段:背景与目标 + 代码现状

## 1. 背景与目标
## 2. 代码现状(Research Findings)

每段生成后使用 question 工具确认。

第二段:功能点 + 业务规则 + 数据/接口变更

## 3. 功能点
## 4. 业务规则
## 5. 数据变更
## 6. 接口变更

每段生成后使用 question 工具确认。

第三段:风险 + 测试策略 + 待澄清

## 7. 影响范围
## 8. 风险与关注点
## 8.5 测试策略
## 9. 待澄清

第四阶段:生成 tasks.md

按照 code-copilot/changes/templates/tasks.md 模板生成任务清单。

第五阶段:HARD-GATE 确认

  • 展示完整 Spec 内容
  • 使用 question 工具获取用户最终确认
  • 待澄清全部解决前不允许进入 /apply

文件操作

  • 变更目录:code-copilot/changes/[变更名]/
  • 必须创建:spec.md, tasks.md
  • 使用 write 工具创建文件

输出格式

完成后输出:

✅ 变更提案已创建
📄 文件位置:code-copilot/changes/[变更名]/
📋 Spec状态:proposed
⚠️ 待澄清:[问题列表]