@specpow/framework 0.7.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# MES 功能文档转代码
|
|
2
|
+
|
|
3
|
+
使用 `mes-prd-to-code` schema 从功能文档生成代码。$ARGUMENTS 为功能文档路径。
|
|
4
|
+
|
|
5
|
+
## 执行步骤
|
|
6
|
+
|
|
7
|
+
1. 检查当前状态:
|
|
8
|
+
```bash
|
|
9
|
+
specpow status
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
2. 确认执行参数:
|
|
13
|
+
- 从 $ARGUMENTS 中提取功能文档路径
|
|
14
|
+
- 从文档名推导变更名称(如 `订单管理.md` → `order-management`)
|
|
15
|
+
- 向用户展示即将执行的命令,等待确认:
|
|
16
|
+
```
|
|
17
|
+
即将执行:
|
|
18
|
+
变更名称: <change-name>
|
|
19
|
+
Schema: mes-prd-to-code
|
|
20
|
+
功能文档: <文档路径>
|
|
21
|
+
命令: specpow propose "<change-name>" --schema mes-prd-to-code
|
|
22
|
+
|
|
23
|
+
确认执行?(y/n)
|
|
24
|
+
```
|
|
25
|
+
- 用户确认后执行
|
|
26
|
+
|
|
27
|
+
3. 执行创建命令:
|
|
28
|
+
```bash
|
|
29
|
+
specpow propose "<change-name>" --schema mes-prd-to-code
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
4. **逐个工件执行**(重要:不要一次性生成所有工件)
|
|
33
|
+
|
|
34
|
+
按以下顺序逐个执行,每个工件完成后**等待用户确认**再继续下一个:
|
|
35
|
+
|
|
36
|
+
a. **parse** - 读取功能文档,解析结构化信息
|
|
37
|
+
- 完成后运行 `specpow status` 展示进度
|
|
38
|
+
- 等待用户确认解析结果,然后继续
|
|
39
|
+
|
|
40
|
+
b. **confirm-scope** - 苏格拉底式对话确认范围
|
|
41
|
+
- 逐个问题提问(Q0-Q9),每次只问一个问题
|
|
42
|
+
- 等待用户回答后再问下一个
|
|
43
|
+
- 完成后等待用户确认,然后继续
|
|
44
|
+
|
|
45
|
+
c. **tech-design** - 生成技术设计文档
|
|
46
|
+
- 完成后等待用户确认,然后继续
|
|
47
|
+
|
|
48
|
+
d. **tasks** - 拆分实施任务
|
|
49
|
+
- 完成后等待用户确认,然后继续
|
|
50
|
+
|
|
51
|
+
e. **test-gen** - 生成测试代码
|
|
52
|
+
- 完成后等待用户确认,然后继续
|
|
53
|
+
|
|
54
|
+
f. **code** - 生成完整代码
|
|
55
|
+
- 完成后运行 `specpow status` 展示最终进度
|
|
56
|
+
|
|
57
|
+
5. 提示用户运行 `/specpow-apply` 执行实现。
|
|
58
|
+
|
|
59
|
+
## 关键规则
|
|
60
|
+
|
|
61
|
+
- **禁止一次性生成所有工件** — 必须逐个执行,每个工件完成后等待用户确认
|
|
62
|
+
- **confirm-scope 阶段必须逐问确认** — 每次只问一个问题,等用户回答后再问下一个
|
|
63
|
+
- **每个工件完成后运行 `specpow status`** — 展示当前进度,让用户了解状态
|