@lininn/openflow 0.1.1 → 0.1.3
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 +10 -10
- package/README.zh-CN.md +10 -10
- package/dist/cli/init.js +6 -6
- package/dist/cli/status.js +3 -3
- package/package.json +1 -1
- package/templates/SKILL.md +10 -10
- package/templates/brainstorming.md +2 -2
- package/templates/build.md +4 -4
- package/templates/close.md +2 -2
- package/templates/proposal.md +2 -2
- package/templates/spec.md +3 -3
package/README.md
CHANGED
|
@@ -47,11 +47,11 @@ Re-generates project skills after upgrading the npm package.
|
|
|
47
47
|
|
|
48
48
|
| Command | Phase | Description |
|
|
49
49
|
|---------|-------|-------------|
|
|
50
|
-
| `/openflow
|
|
51
|
-
| `/openflow
|
|
52
|
-
| `/openflow
|
|
53
|
-
| `/openflow
|
|
54
|
-
| `/openflow
|
|
50
|
+
| `/openflow:proposal` | proposal | Lightweight capture — 3-5 questions to converge on requirements |
|
|
51
|
+
| `/openflow:brainstorming` | brainstorming | Deep design — multi-round tradeoff exploration |
|
|
52
|
+
| `/openflow:spec` | spec | Call OpenSpec to generate specs + auto-translate to plan-ready.md |
|
|
53
|
+
| `/openflow:build` | build | Call Superpowers to execute implementation |
|
|
54
|
+
| `/openflow:close` | close | Verify consistency + archive |
|
|
55
55
|
|
|
56
56
|
## Dependency Strategy
|
|
57
57
|
|
|
@@ -77,14 +77,14 @@ Works without them: yes, with manual-file fallback
|
|
|
77
77
|
```
|
|
78
78
|
User Requirements
|
|
79
79
|
│
|
|
80
|
-
├── Quick ──→ /openflow
|
|
80
|
+
├── Quick ──→ /openflow:proposal ──┐
|
|
81
81
|
│ 3-5 questions │
|
|
82
82
|
│ ├─→ proposal.md
|
|
83
|
-
└── Deep ───→ /openflow
|
|
83
|
+
└── Deep ───→ /openflow:brainstorming ─┘ (openspec/changes/<name>/)
|
|
84
84
|
Multi-round exploration
|
|
85
85
|
│
|
|
86
86
|
┌──────────▼───────────┐
|
|
87
|
-
│ /openflow
|
|
87
|
+
│ /openflow:spec │
|
|
88
88
|
│ OpenSpec generates │
|
|
89
89
|
└──────────┬───────────┘
|
|
90
90
|
│
|
|
@@ -96,13 +96,13 @@ User Requirements
|
|
|
96
96
|
plan-ready.md
|
|
97
97
|
│
|
|
98
98
|
┌──────────▼───────────┐
|
|
99
|
-
│ /openflow
|
|
99
|
+
│ /openflow:build │
|
|
100
100
|
│ Superpowers execution │
|
|
101
101
|
│ TDD + checkpoint │
|
|
102
102
|
└──────────┬───────────┘
|
|
103
103
|
│
|
|
104
104
|
┌──────────▼───────────┐
|
|
105
|
-
│ /openflow
|
|
105
|
+
│ /openflow:close │
|
|
106
106
|
│ Verify + archive │
|
|
107
107
|
└──────────────────────┘
|
|
108
108
|
```
|
package/README.zh-CN.md
CHANGED
|
@@ -47,11 +47,11 @@ openflow update
|
|
|
47
47
|
|
|
48
48
|
| 命令 | 阶段 | 说明 |
|
|
49
49
|
|------|------|------|
|
|
50
|
-
| `/openflow
|
|
51
|
-
| `/openflow
|
|
52
|
-
| `/openflow
|
|
53
|
-
| `/openflow
|
|
54
|
-
| `/openflow
|
|
50
|
+
| `/openflow:proposal` | proposal | 轻量提问,3-5 问快速收敛需求 |
|
|
51
|
+
| `/openflow:brainstorming` | brainstorming | 深度设计,多轮方案探索 |
|
|
52
|
+
| `/openflow:spec` | spec | 调用 OpenSpec 生成规格 + 自动翻译 |
|
|
53
|
+
| `/openflow:build` | build | 调用 Superpowers 执行实现 |
|
|
54
|
+
| `/openflow:close` | close | 验证一致性 + 归档 |
|
|
55
55
|
|
|
56
56
|
## 依赖策略
|
|
57
57
|
|
|
@@ -77,14 +77,14 @@ Works without them: yes, with manual-file fallback
|
|
|
77
77
|
```
|
|
78
78
|
用户需求
|
|
79
79
|
│
|
|
80
|
-
├── 轻量 ──→ /openflow
|
|
80
|
+
├── 轻量 ──→ /openflow:proposal ──┐
|
|
81
81
|
│ 3-5问快速收敛 │
|
|
82
82
|
│ ├─→ proposal.md
|
|
83
|
-
└── 深度 ──→ /openflow
|
|
83
|
+
└── 深度 ──→ /openflow:brainstorming ─┘ (openspec/changes/<name>/)
|
|
84
84
|
多轮方案探索
|
|
85
85
|
│
|
|
86
86
|
┌──────────▼───────────┐
|
|
87
|
-
│ /openflow
|
|
87
|
+
│ /openflow:spec │
|
|
88
88
|
│ OpenSpec 生成规格 │
|
|
89
89
|
└──────────┬───────────┘
|
|
90
90
|
│
|
|
@@ -96,13 +96,13 @@ Works without them: yes, with manual-file fallback
|
|
|
96
96
|
plan-ready.md
|
|
97
97
|
│
|
|
98
98
|
┌──────────▼───────────┐
|
|
99
|
-
│ /openflow
|
|
99
|
+
│ /openflow:build │
|
|
100
100
|
│ Superpowers 执行 │
|
|
101
101
|
│ TDD 铁律 + 断点恢复 │
|
|
102
102
|
└──────────┬───────────┘
|
|
103
103
|
│
|
|
104
104
|
┌──────────▼───────────┐
|
|
105
|
-
│ /openflow
|
|
105
|
+
│ /openflow:close │
|
|
106
106
|
│ 验证一致性 + 归档 │
|
|
107
107
|
└──────────────────────┘
|
|
108
108
|
```
|
package/dist/cli/init.js
CHANGED
|
@@ -91,15 +91,15 @@ export const initCommand = new Command('init')
|
|
|
91
91
|
logger.success('openflow initialized!');
|
|
92
92
|
logger.blank();
|
|
93
93
|
if (!depStatus.superpowers.installed) {
|
|
94
|
-
logger.warn('Note: Superpowers not installed — /openflow
|
|
94
|
+
logger.warn('Note: Superpowers not installed — /openflow:build will use manual execution mode');
|
|
95
95
|
logger.info(` Install with: ${DEPS.superpowers.installHint}`);
|
|
96
96
|
logger.blank();
|
|
97
97
|
}
|
|
98
98
|
logger.info('Available commands:');
|
|
99
|
-
logger.info(' /openflow
|
|
100
|
-
logger.info(' /openflow
|
|
101
|
-
logger.info(' /openflow
|
|
102
|
-
logger.info(' /openflow
|
|
103
|
-
logger.info(' /openflow
|
|
99
|
+
logger.info(' /openflow:proposal Quick requirement capture');
|
|
100
|
+
logger.info(' /openflow:brainstorming Deep design exploration');
|
|
101
|
+
logger.info(' /openflow:spec Generate specs + translate');
|
|
102
|
+
logger.info(' /openflow:build Execute implementation');
|
|
103
|
+
logger.info(' /openflow:close Verify + archive');
|
|
104
104
|
logger.blank();
|
|
105
105
|
});
|
package/dist/cli/status.js
CHANGED
|
@@ -64,13 +64,13 @@ export const statusCommand = new Command('status')
|
|
|
64
64
|
const hasProposal = fs.existsSync(path.join(changeDir, 'proposal.md'));
|
|
65
65
|
let status = '';
|
|
66
66
|
if (hasPlanReady) {
|
|
67
|
-
status = '→ ready for /openflow
|
|
67
|
+
status = '→ ready for /openflow:build';
|
|
68
68
|
}
|
|
69
69
|
else if (hasProposal) {
|
|
70
|
-
status = '→ needs /openflow
|
|
70
|
+
status = '→ needs /openflow:spec';
|
|
71
71
|
}
|
|
72
72
|
else {
|
|
73
|
-
status = '→ needs /openflow
|
|
73
|
+
status = '→ needs /openflow:proposal';
|
|
74
74
|
}
|
|
75
75
|
logger.info(` ${entry.name} ${status}`);
|
|
76
76
|
}
|
package/package.json
CHANGED
package/templates/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openflow
|
|
3
|
-
description: "OpenSpec + Superpowers
|
|
3
|
+
description: "OpenSpec + Superpowers workflow orchestrator. Use /openflow:proposal for quick capture, /openflow:brainstorming for deep design, /openflow:spec to generate specs + translate, /openflow:build to execute, /openflow:close to verify and archive. Bridges requirements specs and engineering execution."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# openflow: 工作流协调器
|
|
@@ -11,11 +11,11 @@ description: "OpenSpec + Superpowers 工作流协调器。使用 /openflow propo
|
|
|
11
11
|
|
|
12
12
|
| 命令 | 阶段 | 说明 |
|
|
13
13
|
|------|------|------|
|
|
14
|
-
| `/openflow
|
|
15
|
-
| `/openflow
|
|
16
|
-
| `/openflow
|
|
17
|
-
| `/openflow
|
|
18
|
-
| `/openflow
|
|
14
|
+
| `/openflow:proposal` | proposal | 轻量提问,快速收敛需求 |
|
|
15
|
+
| `/openflow:brainstorming` | brainstorming | 深度设计,多轮探索 |
|
|
16
|
+
| `/openflow:spec` | spec | 调用 OpenSpec 生成规格 + 翻译 |
|
|
17
|
+
| `/openflow:build` | build | 调用 Superpowers 执行实现 |
|
|
18
|
+
| `/openflow:close` | close | 验证一致性 + 归档 |
|
|
19
19
|
|
|
20
20
|
## 状态检测
|
|
21
21
|
|
|
@@ -39,7 +39,7 @@ description: "OpenSpec + Superpowers 工作流协调器。使用 /openflow propo
|
|
|
39
39
|
|
|
40
40
|
根据子命令或状态检测结果,读取对应阶段文件并执行:
|
|
41
41
|
|
|
42
|
-
1. 如果用户指定了子命令(如 `/openflow
|
|
42
|
+
1. 如果用户指定了子命令(如 `/openflow:build`),优先按指定阶段执行,但检查前置条件
|
|
43
43
|
2. 如果用户只输入 `/openflow`,执行状态检测,自动路由到对应阶段
|
|
44
44
|
3. 读取阶段文件:`${CLAUDE_SKILL_DIR}/<阶段>.md`
|
|
45
45
|
4. 按阶段文件中的流程执行
|
|
@@ -50,6 +50,6 @@ description: "OpenSpec + Superpowers 工作流协调器。使用 /openflow propo
|
|
|
50
50
|
|------|----------|-------------|
|
|
51
51
|
| proposal | 无 | — |
|
|
52
52
|
| brainstorming | 无 | — |
|
|
53
|
-
| spec | 需要有活跃变更目录或有用户需求 | "请先用 /openflow
|
|
54
|
-
| build | 需要存在 plan-ready.md | "请先完成 /openflow
|
|
55
|
-
| close | 需要实现已完成 | "实现尚未完成,请先用 /openflow
|
|
53
|
+
| spec | 需要有活跃变更目录或有用户需求 | "请先用 /openflow:proposal 或 /openflow:brainstorming 描述需求" |
|
|
54
|
+
| build | 需要存在 plan-ready.md | "请先完成 /openflow:spec 生成规格和翻译" |
|
|
55
|
+
| close | 需要实现已完成 | "实现尚未完成,请先用 /openflow:build 执行" |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openflow/brainstorming
|
|
3
|
-
description:
|
|
3
|
+
description: Deep design — multi-round exploration to confirm architecture and approach
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Brainstorming: 深度设计
|
|
@@ -55,7 +55,7 @@ mkdir -p openspec/changes/<变更名>/specs
|
|
|
55
55
|
|
|
56
56
|
### 6. 提示下一步
|
|
57
57
|
|
|
58
|
-
> "需求已记录。接下来可以用 `/openflow
|
|
58
|
+
> "需求已记录。接下来可以用 `/openflow:spec` 生成完整规格。"
|
|
59
59
|
|
|
60
60
|
## 注意
|
|
61
61
|
|
package/templates/build.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openflow/build
|
|
3
|
-
description:
|
|
3
|
+
description: Call Superpowers to execute implementation, supports checkpoint recovery
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Build: Superpowers 执行
|
|
@@ -14,7 +14,7 @@ description: 调用 Superpowers 执行实现,支持断点恢复
|
|
|
14
14
|
- `openspec/changes/<变更名>/plan-ready.md` 存在
|
|
15
15
|
|
|
16
16
|
如果不满足,提示:
|
|
17
|
-
> "还没生成 plan-ready.md。请先完成 /openflow
|
|
17
|
+
> "还没生成 plan-ready.md。请先完成 /openflow:spec。"
|
|
18
18
|
|
|
19
19
|
## 流程
|
|
20
20
|
|
|
@@ -34,7 +34,7 @@ description: 调用 Superpowers 执行实现,支持断点恢复
|
|
|
34
34
|
|
|
35
35
|
如果检测到已有计划文件,检查其中 checkbox 状态:
|
|
36
36
|
|
|
37
|
-
- 全部勾选 → 提示实现已完成,建议 /openflow
|
|
37
|
+
- 全部勾选 → 提示实现已完成,建议 /openflow:close
|
|
38
38
|
- 部分勾选 → 从未完成的 task 继续执行
|
|
39
39
|
- 无勾选 → 从头开始
|
|
40
40
|
|
|
@@ -65,7 +65,7 @@ docs/superpowers/plans/YYYY-MM-DD-<变更名>.md
|
|
|
65
65
|
|
|
66
66
|
所有 task 完成后,提示用户:
|
|
67
67
|
|
|
68
|
-
> "所有实现任务已完成。接下来可以用 /openflow
|
|
68
|
+
> "所有实现任务已完成。接下来可以用 /openflow:close 验证一致性并归档。"
|
|
69
69
|
|
|
70
70
|
## 关键原则
|
|
71
71
|
|
package/templates/close.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openflow/close
|
|
3
|
-
description:
|
|
3
|
+
description: Verify implementation consistency and archive
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Close: 验证归档
|
|
@@ -21,7 +21,7 @@ description: 验证实现一致性并归档
|
|
|
21
21
|
检查 `docs/superpowers/plans/` 下对应的计划文件,确认所有 checkbox 已勾选。
|
|
22
22
|
|
|
23
23
|
如果有未完成的 task:
|
|
24
|
-
> "还有 N 个任务未完成。请先用 /openflow
|
|
24
|
+
> "还有 N 个任务未完成。请先用 /openflow:build 完成实现。"
|
|
25
25
|
|
|
26
26
|
### 2. 验证设计一致性
|
|
27
27
|
|
package/templates/proposal.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openflow/proposal
|
|
3
|
-
description:
|
|
3
|
+
description: Lightweight requirement capture — 3-5 questions to quickly converge on requirements
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Proposal: 轻量需求捕获
|
|
@@ -45,7 +45,7 @@ mkdir -p openspec/changes/<变更名>/specs
|
|
|
45
45
|
|
|
46
46
|
### 4. 提示下一步
|
|
47
47
|
|
|
48
|
-
> "需求已记录。接下来可以用 `/openflow
|
|
48
|
+
> "需求已记录。接下来可以用 `/openflow:spec` 生成完整规格,或继续补充细节。"
|
|
49
49
|
|
|
50
50
|
## 注意
|
|
51
51
|
|
package/templates/spec.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openflow/spec
|
|
3
|
-
description:
|
|
3
|
+
description: Call OpenSpec to generate specs, auto-translate to plan-ready.md after user confirmation
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Spec: 生成规格并翻译
|
|
@@ -21,7 +21,7 @@ description: 调用 OpenSpec 生成规格文档,确认后自动翻译为 plan-
|
|
|
21
21
|
检查 `openspec/changes/` 下是否有活跃变更(非 archive 子目录)。
|
|
22
22
|
|
|
23
23
|
如果没有,提示用户:
|
|
24
|
-
> "还没有活跃变更。请先用 /openflow
|
|
24
|
+
> "还没有活跃变更。请先用 /openflow:proposal 或 /openflow:brainstorming 创建需求。"
|
|
25
25
|
|
|
26
26
|
如果有多个,列出并让用户选择:
|
|
27
27
|
> "检测到多个活跃变更:[列表]。要对哪个生成规格?"
|
|
@@ -94,7 +94,7 @@ openspec propose <变更名>
|
|
|
94
94
|
|
|
95
95
|
### 5. 提示下一步
|
|
96
96
|
|
|
97
|
-
> "规格已确认,plan-ready.md 已生成。接下来可以用 `/openflow
|
|
97
|
+
> "规格已确认,plan-ready.md 已生成。接下来可以用 `/openflow:build` 开始实现。"
|
|
98
98
|
|
|
99
99
|
## 关键原则
|
|
100
100
|
|