sdd-flow-kit 1.1.0 → 1.2.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.
- package/README.md +35 -0
- package/dist/cli.js +36 -15
- package/dist/core/bootstrap.js +58 -0
- package/dist/core/opsxDelivery.js +63 -36
- package/dist/core/opsxWorkflowPackage.js +23 -0
- package/dist/core/packageJsonPatch.js +89 -0
- package/dist/core/projectRoots.js +94 -0
- package/dist/postinstall.js +22 -18
- package/dist/steps/doctor.js +19 -0
- package/dist/steps/invokeFlow.js +18 -11
- package/dist/steps/resolveRun.js +4 -5
- package/dist/steps/runDeliver.js +4 -9
- package/dist/steps/runFlow.js +2 -0
- package/dist/steps/runGate.js +80 -20
- package/dist/steps/runPhaseAdvance.js +5 -6
- package/dist/steps/runPropose.js +3 -9
- package/dist/steps/setupProject.js +32 -20
- package/dist/steps/startFlow.js +3 -1
- package/package.json +1 -1
- package/src/templates/artifacts/06-agent-skill.template.md +31 -52
- package/src/templates/rules/sdd-no-implement-until-apply.mdc.template +7 -0
|
@@ -1,73 +1,52 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: sdd-flow-kit
|
|
3
|
-
description:
|
|
2
|
+
name: sdd-flow-kit
|
|
3
|
+
description: 用户说「开发/进行 {{DEFAULT_PRODUCT}} x.x.x 版本/需求」「ADI_2.3.2」等时触发。**禁止**未过 gate 直接改 src。必须先 invoke/run,确认点闭合后走 OpenSpec+Superpowers(gate→propose→apply→deliver)。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# SDD Flow
|
|
6
|
+
# SDD Flow Kit({{PROJECT_KIND}} — 脚本门禁)
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## 触发即执行(第一步,禁止跳过)
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
2. **必须**在终端执行其中的 `npx sdd-flow-kit ...`;根据 **exit code** 判断是否可继续(0=通过,非0=停止)。
|
|
12
|
-
3. `docModeOnly: true` 时 **禁止** 修改 `src/`、`e2e/`、`frontend/src/` 等实现路径。
|
|
13
|
-
4. 只有 `gate --expect impl-allowed` 通过后才允许改业务代码。
|
|
14
|
-
5. 只有 `deliver` 成功且 `phase advance --to shipped` 通过后才可宣称「开发完成」。
|
|
15
|
-
|
|
16
|
-
## 准备
|
|
10
|
+
用户一旦表达版本开发意图,**在本回合终端执行**(项目根 = 安装 sdd-flow-kit 的目录,如 `frontend/`):
|
|
17
11
|
|
|
18
12
|
```bash
|
|
19
|
-
npx sdd-flow-kit
|
|
13
|
+
npx sdd-flow-kit invoke "开发 {{DEFAULT_PRODUCT}} <版本号> 需求" -y --agent {{AGENT_NAME}}
|
|
20
14
|
```
|
|
21
15
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
## 标准命令序列(复制 NEXT.md,按序执行)
|
|
25
|
-
|
|
26
|
-
| 阶段 | 门禁 / 推进 |
|
|
27
|
-
|------|-------------|
|
|
28
|
-
| PRD 已拉取 | `gate --expect prd-fetched` → `phase advance --to after-prd` |
|
|
29
|
-
| 提问模式 | `gate --expect questions-open` |
|
|
30
|
-
| 用户确认后(仅文档) | 更新 01/02/03/04 → `gate --expect docs-closed` → `phase advance --to docs-done` |
|
|
31
|
-
| 提案 | `propose --change <name>` →(AI 生成 openspec artifacts)→ `gate --expect propose-ready` → `phase advance --to propose-done` |
|
|
32
|
-
| 实现 | `phase advance --to impl --change <name>` → `gate --expect impl-allowed` → 按 tasks 改代码 |
|
|
33
|
-
| 交付 | `deliver --change <name>` → `phase advance --to shipped` |
|
|
34
|
-
|
|
35
|
-
统一参数(示例):
|
|
16
|
+
或:
|
|
36
17
|
|
|
37
18
|
```bash
|
|
38
|
-
|
|
39
|
-
export RID=<runId>
|
|
40
|
-
export CH=<change-name>
|
|
41
|
-
|
|
42
|
-
npx sdd-flow-kit gate --project-root "$PR" --run-id "$RID" --expect docs-closed
|
|
43
|
-
npx sdd-flow-kit phase advance --project-root "$PR" --run-id "$RID" --to docs-done
|
|
19
|
+
npx sdd-flow-kit run --product {{DEFAULT_PRODUCT}} --version <版本号> -y --agent {{AGENT_NAME}}
|
|
44
20
|
```
|
|
45
21
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
### 阶段 A
|
|
49
|
-
- Step1:`01-获取需求文档指引.md` → 回填 `source/PRD.md`
|
|
50
|
-
- Step2:`02-需求分析提示词.md`;未闭合时 **只** 改 `03`
|
|
51
|
-
|
|
52
|
-
### 阶段 B
|
|
53
|
-
- 用户确认后:生成 01/02/04,**然后必须** `gate docs-closed`(会检测 git 是否误改 src)
|
|
22
|
+
然后 **只读** `openspec/PRD/<runId>/NEXT.md` 与 `.session-state.json`,按其中命令顺序执行;**exit code ≠ 0 必须停止**。
|
|
54
23
|
|
|
55
|
-
|
|
56
|
-
- `propose` 创建 change;AI 按 openspec-propose 写 artifacts;`gate propose-ready` 校验 apply-ready
|
|
24
|
+
## 铁律(防 vibe coding)
|
|
57
25
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
26
|
+
1. `docModeOnly: true` 时 **禁止** 修改 `src/`、`frontend/src/`、`e2e/`。
|
|
27
|
+
2. 用户粘贴确认点、更新 03 后:先产出 01/02/04,再 **必须**:
|
|
28
|
+
```bash
|
|
29
|
+
npx sdd-flow-kit gate --project-root <安装根> --run-id <runId> --expect docs-closed
|
|
30
|
+
npx sdd-flow-kit phase advance --project-root <安装根> --run-id <runId> --to docs-done
|
|
31
|
+
```
|
|
32
|
+
3. **仅当** `gate --expect impl-allowed` 通过后,才允许按 `openspec/changes/<change>/tasks.md` 改业务代码。
|
|
33
|
+
4. 提案/实现 **必须** 读并执行:
|
|
34
|
+
- `.cursor/skills/opsx-superpowers-workflow/SKILL.md`(总编排)
|
|
35
|
+
- `openspec-propose` → `openspec-apply-change` → `pnpm run opsx:delivery-pipeline -- <change>`
|
|
36
|
+
5. **禁止** 跳过 `propose` / `deliver` 或手写 tasks 全勾 `[x]` 宣称完成。
|
|
61
37
|
|
|
62
|
-
##
|
|
38
|
+
## 阶段摘要
|
|
63
39
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
40
|
+
| 阶段 | 动作 |
|
|
41
|
+
|------|------|
|
|
42
|
+
| A | Step1 PRD → `gate prd-fetched` → `phase after-prd` |
|
|
43
|
+
| A2 | 提问模式仅 03 → `gate questions-open` |
|
|
44
|
+
| B | 用户确认后 01/02/04 → `gate docs-closed` → `phase docs-done` |
|
|
45
|
+
| C | `propose` + OpenSpec artifacts → `gate propose-ready` → `phase propose-done` |
|
|
46
|
+
| D | `phase impl` → `gate impl-allowed` → 改代码 → `deliver` → `phase shipped` |
|
|
68
47
|
|
|
69
48
|
## 环境
|
|
70
49
|
|
|
71
50
|
- agent: {{AGENT_NAME}}
|
|
72
|
-
-
|
|
73
|
-
-
|
|
51
|
+
- 全量安装: `npx sdd-flow-kit install --project {{PROJECT_KIND}} -y`
|
|
52
|
+
- 本地 OPSX: `SDD_OPSX_WORKFLOW_PACKAGE=file:../../opsx-workflow`
|
|
@@ -22,6 +22,13 @@ alwaysApply: true
|
|
|
22
22
|
- **禁止** 修改 `src/`、`e2e/`、`frontend/src/` 等
|
|
23
23
|
- 用户粘贴确认点后:先 `gate docs-closed`,通过后再 `phase advance --to docs-done`;**不得**同回合改 ts/vue
|
|
24
24
|
|
|
25
|
+
## 自然语言触发(ADI / OMS 等)
|
|
26
|
+
|
|
27
|
+
用户说「开发/进行 ADI 2.3.2 版本」「ADI_2.3.2」等时:
|
|
28
|
+
|
|
29
|
+
1. **先** 在终端执行:`npx sdd-flow-kit invoke "开发 ADI 2.3.2 需求" -y`
|
|
30
|
+
2. 打开 `openspec/PRD/<runId>/NEXT.md`,**禁止**直接改 `src/`
|
|
31
|
+
|
|
25
32
|
## 用户确认点(无需口令)
|
|
26
33
|
|
|
27
34
|
1. 更新 `03` → 生成 `01/02/04`
|