# MES 功能文档转代码

使用 `mes-prd-to-code` schema 从功能文档生成代码。$ARGUMENTS 为功能文档路径。

## 执行步骤

1. 检查当前状态：
   ```bash
   specpow status
   ```

2. 确认执行参数：
   - 从 $ARGUMENTS 中提取功能文档路径
   - 从文档名推导变更名称（如 `订单管理.md` → `order-management`）
   - 向用户展示即将执行的命令，等待确认：
     ```
     即将执行：
       变更名称: <change-name>
       Schema: mes-prd-to-code
       功能文档: <文档路径>
       命令: specpow propose "<change-name>" --schema mes-prd-to-code

     确认执行？(y/n)
     ```
   - 用户确认后执行

3. 执行创建命令：
   ```bash
   specpow propose "<change-name>" --schema mes-prd-to-code
   ```

4. **逐个工件执行**（重要：不要一次性生成所有工件）

   按以下顺序逐个执行，每个工件完成后**等待用户确认**再继续下一个：

   a. **parse** - 读取功能文档，解析结构化信息
      - 完成后运行 `specpow status` 展示进度
      - 等待用户确认解析结果，然后继续

   b. **confirm-scope** - 苏格拉底式对话确认范围
      - 逐个问题提问（Q0-Q9），每次只问一个问题
      - 等待用户回答后再问下一个
      - 完成后等待用户确认，然后继续

   c. **tech-design** - 生成技术设计文档
      - 完成后等待用户确认，然后继续

   d. **tasks** - 拆分实施任务
      - 完成后等待用户确认，然后继续

   e. **test-gen** - 生成测试代码
      - 完成后等待用户确认，然后继续

   f. **code** - 生成完整代码
      - 完成后运行 `specpow status` 展示最终进度

5. 提示用户运行 `/specpow-apply` 执行实现。

## 关键规则

- **禁止一次性生成所有工件** — 必须逐个执行，每个工件完成后等待用户确认
- **confirm-scope 阶段必须逐问确认** — 每次只问一个问题，等用户回答后再问下一个
- **每个工件完成后运行 `specpow status`** — 展示当前进度，让用户了解状态
