sdd-flow-kit 1.0.22 → 1.0.27

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,38 @@
1
+ # 06 OPSX 自动串联(阶段 B 完成后立即执行)
2
+
3
+ > **不要**在阶段 B 结束后停下来问用户「是否继续」或「是否 apply」。
4
+ > 除非用户明确说「只提案」「先别写代码」,或 `.session-state.json` 中 `autoChainOpsx: false`。
5
+
6
+ ## 输入(本 runId)
7
+ | 文件 | 路径 |
8
+ |------|------|
9
+ | 需求分析 | `01-需求分析报告.md` |
10
+ | 改动清单 | `02-改动点清单.md` |
11
+ | 技术草稿 | `04-技术文档草稿.md` |
12
+ | UI 参考 | 见下方「UI 路径解析」 |
13
+
14
+ ## UI 路径解析(按优先级)
15
+ 1. 用户本条消息给出的路径
16
+ 2. `source/PRD.md` 中的「原型图片目录」行(如 `docs/adi-v232/`)
17
+ 3. `docs/<product>-v<version无点>/` 或 `docs/<product>-<version>/` 目录(只读扫描)
18
+
19
+ 缺失 UI 时:**仍继续** propose,在 `proposal.md` / `design.md` 注明「UI 待补」。
20
+
21
+ ## 阶段 C — `/opsx-propose`(同一对话回合内)
22
+ 1. 读仓库根 `.cursor/skills/opsx-superpowers-workflow/SKILL.md` 与 `openspec-propose/SKILL.md`
23
+ 2. 执行 `/opsx-propose`(或等价的 openspec CLI 全流程),输入 = 上表 01 + 02 + UI
24
+ 3. change 名建议:`{{PRODUCT}}-v{{VERSION}}-<short-topic>`(kebab-case)
25
+ 4. 更新 `05-openspec-提案草稿.md` 与 `.session-state.json`:`status: propose_done`
26
+ 5. **禁止**在本阶段写 `src/` 或跑 delivery-pipeline
27
+
28
+ ## 阶段 D — `/opsx-apply`(提案 apply-ready 后**立即**执行,无需再等用户)
29
+ 1. `npx sdd-flow-kit ensure-opsx --agent cursor -y`(仓库根)
30
+ 2. 写 `.opsx-active-change` = change 名
31
+ 3. 读并执行:`openspec-apply-change` → `tdd-script` → `openspec-superpowers-pipeline` → `opsx-dev-delivery-pipeline`
32
+ 4. `pnpm run opsx:delivery-pipeline -- <change-name>` 直至 **exit 0**
33
+ 5. 更新 `.session-state.json`:`status: complete`,`docModeOnly: false`
34
+
35
+ ## 完成判定
36
+ - [ ] `openspec/changes/<name>/` 下 applyRequires 全部 done
37
+ - [ ] `tasks.md` 全部 `- [x]`
38
+ - [ ] delivery-pipeline exit 0
@@ -86,8 +86,10 @@
86
86
  1. 更新 `03-待确认问题清单.md`,标注“**矛盾点池状态:已闭合**”,写入用户确认结论。
87
87
  2. 生成最终版 `01-需求分析报告.md` 和 `02-改动点清单.md`(清单中的路径是**计划**,不得在本回合修改这些文件)。
88
88
  3. 确认 `02-改动点清单.md` 中仅包含代码文件改动,不涉及 `openspec/spec/` 内容。
89
- 4. **禁止** 修改 `src/` 等业务代码;**禁止** `/opsx-propose` 或 `/opsx-apply`。
90
- 5. 输出时附带:`01/02/03/04 已更新,未改业务代码。需要提案时回复「继续」或提供 UI 参考路径。`
89
+ 4. **禁止** 在阶段 B 内修改 `src/` 等业务代码。
90
+ 5. 更新 `.session-state.json`:`status: ready_for_propose`,`phase: B_done`。
91
+ 6. **若 `autoChainOpsx !== false`(默认)且用户未说「只提案」**:同一回合继续读 `06-opsx-自动串联指引.md`,执行 `/opsx-propose`(输入 01+02+UI)→ `/opsx-apply`;**不要**要求用户再说「继续」。
92
+ 7. 仅当 `autoChainOpsx === false` 时输出:`01/02/03/04 已更新。回复「继续」进入提案。`
91
93
 
92
94
  ---
93
95
 
@@ -32,10 +32,15 @@ alwaysApply: true
32
32
  1. 定位最新或对话相关的 `openspec/PRD/<runId>/`(读 `RUNME.md` 或 `.session-state.json`)。
33
33
  2. **仅**更新 `03`(写入用户结论,标为已闭合)。
34
34
  3. 再生成/更新 `01`、`02`、`04`。
35
- 4. 回复简短说明文档已更新即可;**不要**在同一回合改 `.tsx/.ts/.vue`。
36
- 5. 主动问一句是否需要 UI 参考路径;用户说「继续/可以/做提案」即进入 `/opsx-propose`(仍不写业务代码)。
35
+ 4. 生成 `01`、`02`、`04` 后更新 `.session-state.json`:`status: ready_for_propose`,`phase: B_done`。
36
+ 5. **默认自动串联**(`autoChainOpsx !== false`,且用户未说「只提案」「先别写代码」):
37
+ - **同一回合**读 `06-opsx-自动串联指引.md`,执行 `/opsx-propose` → `/opsx-apply`。
38
+ - UI 参考优先:`source/PRD.md` 中的原型目录(如 `docs/adi-v232/`),其次用户本条消息给出的路径。
39
+ - **不要**停下来问「是否继续」或「是否 apply」。
40
+ 6. 仅当 `autoChainOpsx === false` 时:文档更新后停止,等用户说「继续」再 propose。
37
41
 
38
42
  ## 唯一允许写业务代码的时机
39
- - 用户已走完:`/opsx-propose` openspec change apply-ready 用户明确同意 **`/opsx-apply`**(如「开始 apply」「执行 apply」)。
43
+ - 阶段 D:`/opsx-propose` 已完成且 change **apply-ready** 后执行 `/opsx-apply`(SDD 默认与用户确认后**自动**进入,无需再等「开始 apply」)。
44
+ - 用户明确「只提案」时:在 apply-ready 之前**禁止**写业务代码。
40
45
 
41
- 若用户只说「确认了」「按上面来」但未进入 apply 阶段,**仍禁止**写业务代码。
46
+ 路径 B(03 已闭合、01/02/04 已生成)中:**禁止**仅更新文档就结束回合而不进入 propose(除非 `autoChainOpsx === false` 或用户说只提案)。