super-engineer-workflow 0.1.0
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/CHANGELOG.md +9 -0
- package/CONTRIBUTING.md +34 -0
- package/LICENSE +21 -0
- package/README.md +300 -0
- package/SECURITY.md +21 -0
- package/bin/super-engineer.js +19 -0
- package/docs/se/345/221/275/344/273/244/345/215/217/350/256/256.md +335 -0
- package/docs//344/270/255/346/226/207/344/275/277/347/224/250/346/211/213/345/206/214.md +707 -0
- package/docs//345/205/254/345/274/200/345/217/221/345/270/203/346/243/200/346/237/245/346/270/205/345/215/225.md +43 -0
- package/docs//345/277/253/351/200/237/345/210/235/345/247/213/345/214/226/345/267/245/344/275/234/345/214/272.md +419 -0
- package/docs//351/241/271/347/233/256/346/236/266/346/236/204/344/270/216/350/256/276/350/256/241/350/257/264/346/230/216.md +657 -0
- package/package.json +55 -0
- package/scripts/se-cli.py +301 -0
- package/scripts/se-setup.py +331 -0
- package/scripts/se-smoke-test.py +86 -0
- package/super-engineer-workflow/SKILL.md +439 -0
- package/super-engineer-workflow/adapters/go.yml +8 -0
- package/super-engineer-workflow/adapters/java-gradle.yml +8 -0
- package/super-engineer-workflow/adapters/java-maven.yml +8 -0
- package/super-engineer-workflow/adapters/node-react.yml +8 -0
- package/super-engineer-workflow/adapters/node-vue.yml +8 -0
- package/super-engineer-workflow/adapters/python.yml +8 -0
- package/super-engineer-workflow/agents/openai.yaml +4 -0
- package/super-engineer-workflow/assets/config-schema.json +100 -0
- package/super-engineer-workflow/assets/config.example.yml +12 -0
- package/super-engineer-workflow/assets/plan-schema.json +362 -0
- package/super-engineer-workflow/assets/status-schema.json +83 -0
- package/super-engineer-workflow/assets/workspace.example.yml +25 -0
- package/super-engineer-workflow/config.example.yml +12 -0
- package/super-engineer-workflow/references/contracts.md +39 -0
- package/super-engineer-workflow/references/execution-modes.md +38 -0
- package/super-engineer-workflow/references/java.md +21 -0
- package/super-engineer-workflow/references/planning.md +45 -0
- package/super-engineer-workflow/references/platform-openclaw.md +10 -0
- package/super-engineer-workflow/references/project-docs.md +7 -0
- package/super-engineer-workflow/references/review-checklist.md +26 -0
- package/super-engineer-workflow/references/se-commands.md +582 -0
- package/super-engineer-workflow/references/verify-checklist.md +45 -0
- package/super-engineer-workflow/references/workflow.md +208 -0
- package/super-engineer-workflow/scripts/archive-openspec.py +110 -0
- package/super-engineer-workflow/scripts/bootstrap-openspec.py +42 -0
- package/super-engineer-workflow/scripts/common.py +3285 -0
- package/super-engineer-workflow/scripts/generate-discovery.py +185 -0
- package/super-engineer-workflow/scripts/generate-review-report.py +296 -0
- package/super-engineer-workflow/scripts/generate-self-check.py +185 -0
- package/super-engineer-workflow/scripts/generate-smart-plan.py +429 -0
- package/super-engineer-workflow/scripts/init-workspace.py +68 -0
- package/super-engineer-workflow/scripts/prepare-archive-openspec.py +186 -0
- package/super-engineer-workflow/scripts/propose-openspec.py +170 -0
- package/super-engineer-workflow/scripts/run-verify-and-report.py +399 -0
- package/super-engineer-workflow/scripts/run-workflow.py +506 -0
- package/super-engineer-workflow/scripts/update-status.py +43 -0
- package/super-engineer-workflow/scripts/writeback-openspec.py +311 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
# `se` 命令协议
|
|
2
|
+
|
|
3
|
+
`se` 是 `super-engineer` 的专属命令前缀。
|
|
4
|
+
|
|
5
|
+
它的定位不是 shell 命令,而是用户发给 AI 的工作流指令。
|
|
6
|
+
AI 收到这些指令后,再根据当前工作空间、当前模式和当前阶段,调用内部 workflow。
|
|
7
|
+
|
|
8
|
+
## 1. 设计原则
|
|
9
|
+
|
|
10
|
+
- 不复用 OpenSpec 官方 `/opsx:*`
|
|
11
|
+
- `se` 只表达 `super-engineer` 的工作流意图
|
|
12
|
+
- 用户只面向阶段说话,不需要关心底层脚本
|
|
13
|
+
- `openspec` 模式下,桥接 todo 是桥接产物,不是规格源头
|
|
14
|
+
- 桥接 todo 的实际路径由 `workspace.yml.todo_file` 决定,推荐继续使用 `todo.md`
|
|
15
|
+
- OpenSpec change 名称必须在 `/se:propose <change-name>` 中显式指定,AI 不得根据需求标题或 `vars.demand_name` 自行推导
|
|
16
|
+
|
|
17
|
+
## 2. 阶段模型
|
|
18
|
+
|
|
19
|
+
推荐把整个流程分成三段:
|
|
20
|
+
|
|
21
|
+
1. 规格阶段
|
|
22
|
+
2. 交付阶段
|
|
23
|
+
3. 归档阶段
|
|
24
|
+
|
|
25
|
+
典型状态流转:
|
|
26
|
+
|
|
27
|
+
```text
|
|
28
|
+
draft
|
|
29
|
+
-> proposed
|
|
30
|
+
-> bridged
|
|
31
|
+
-> planned
|
|
32
|
+
-> implementing
|
|
33
|
+
-> self_checked
|
|
34
|
+
-> reviewed
|
|
35
|
+
-> verified
|
|
36
|
+
-> archive_ready
|
|
37
|
+
-> archived
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
如果出现阻塞,则进入:
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
blocked
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
实际状态由 `<workspace>/.super-engineer/se-state.json` 维护,脚本会根据 `allowed_next` 拒绝非法跨阶段命令。
|
|
47
|
+
|
|
48
|
+
## 3. 命令列表
|
|
49
|
+
|
|
50
|
+
### `/se:init`
|
|
51
|
+
|
|
52
|
+
作用:
|
|
53
|
+
|
|
54
|
+
- 检查 `workspace.yml`
|
|
55
|
+
- 检查 `~/.super-engineer/skill-config.yml`
|
|
56
|
+
- 初始化工作流运行目录
|
|
57
|
+
|
|
58
|
+
适用模式:
|
|
59
|
+
|
|
60
|
+
- `todo`
|
|
61
|
+
- `openspec`
|
|
62
|
+
|
|
63
|
+
典型提示词:
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
/se:init
|
|
67
|
+
使用当前工作空间,检查 workspace 是否可用,并告诉我缺哪些配置。
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### `/se:propose <change-name>`
|
|
71
|
+
|
|
72
|
+
作用:
|
|
73
|
+
|
|
74
|
+
- 为当前需求生成或完善 OpenSpec change
|
|
75
|
+
- 产出或更新 `proposal.md`、`design.md`、`tasks.md`
|
|
76
|
+
- 优先读取 `workspace.yml.demand_file` 作为原始需求输入
|
|
77
|
+
- 读取 `workspace.yml.reference_files` 中真实存在的参考文件作为上下文
|
|
78
|
+
- 优先使用 OpenSpec CLI 创建 change、读取 status 和 artifact instructions
|
|
79
|
+
|
|
80
|
+
适用模式:
|
|
81
|
+
|
|
82
|
+
- `openspec`
|
|
83
|
+
|
|
84
|
+
典型提示词:
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
/se:propose add-user-phone-filter
|
|
88
|
+
请根据当前 workspace 的 demand_file 生成或完善 OpenSpec change。
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### `/se:bridge`
|
|
92
|
+
|
|
93
|
+
作用:
|
|
94
|
+
|
|
95
|
+
- 读取当前 OpenSpec change
|
|
96
|
+
- 把 `tasks.md` 转成桥接 todo
|
|
97
|
+
- 输出待审核执行清单
|
|
98
|
+
|
|
99
|
+
适用模式:
|
|
100
|
+
|
|
101
|
+
- `openspec`
|
|
102
|
+
|
|
103
|
+
前置条件:
|
|
104
|
+
|
|
105
|
+
- 当前 change 已存在 `tasks.md`
|
|
106
|
+
|
|
107
|
+
典型提示词:
|
|
108
|
+
|
|
109
|
+
```text
|
|
110
|
+
/se:bridge
|
|
111
|
+
针对当前 OpenSpec change 生成桥接 todo,并总结待审核项。
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### `/se:plan`
|
|
115
|
+
|
|
116
|
+
作用:
|
|
117
|
+
|
|
118
|
+
- 创建新的交付会话
|
|
119
|
+
- 生成 `plan.json` 和 `plan.md`
|
|
120
|
+
- 给出影响范围、验收标准和主要风险
|
|
121
|
+
|
|
122
|
+
适用模式:
|
|
123
|
+
|
|
124
|
+
- `todo`
|
|
125
|
+
- `openspec`
|
|
126
|
+
|
|
127
|
+
前置条件:
|
|
128
|
+
|
|
129
|
+
- `todo` 模式:`todo.md` 已存在
|
|
130
|
+
- `openspec` 模式:推荐在 `/se:bridge` 后人工审核 `todo.md`,再执行
|
|
131
|
+
|
|
132
|
+
典型提示词:
|
|
133
|
+
|
|
134
|
+
```text
|
|
135
|
+
/se:plan
|
|
136
|
+
使用当前工作空间。
|
|
137
|
+
基于当前交付输入生成计划,先不要改代码。
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### `/se:apply`
|
|
141
|
+
|
|
142
|
+
作用:
|
|
143
|
+
|
|
144
|
+
- 启动交付阶段
|
|
145
|
+
- 由脚本进入实现阶段,AI 按 `plan.json` 修改业务代码
|
|
146
|
+
- 实现完成后由脚本推进自查、审查、验证
|
|
147
|
+
- `openspec` 模式下 verify 后自动回写执行摘要
|
|
148
|
+
|
|
149
|
+
适用模式:
|
|
150
|
+
|
|
151
|
+
- `todo`
|
|
152
|
+
- `openspec`
|
|
153
|
+
|
|
154
|
+
前置条件:
|
|
155
|
+
|
|
156
|
+
- `todo` 模式:`todo.md` 已存在
|
|
157
|
+
- `openspec` 模式:当前桥接 todo 已审核通过
|
|
158
|
+
|
|
159
|
+
典型提示词:
|
|
160
|
+
|
|
161
|
+
```text
|
|
162
|
+
/se:apply
|
|
163
|
+
使用当前工作空间。
|
|
164
|
+
如果没有硬阻塞,继续推进当前交付阶段。
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### `/se:review`
|
|
168
|
+
|
|
169
|
+
作用:
|
|
170
|
+
|
|
171
|
+
- 对当前代码改动做审查
|
|
172
|
+
- 给出 gate、blocking findings、warning findings
|
|
173
|
+
|
|
174
|
+
适用模式:
|
|
175
|
+
|
|
176
|
+
- `todo`
|
|
177
|
+
- `openspec`
|
|
178
|
+
|
|
179
|
+
典型提示词:
|
|
180
|
+
|
|
181
|
+
```text
|
|
182
|
+
/se:review
|
|
183
|
+
继续当前工作空间,对当前改动做代码审查。
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### `/se:verify`
|
|
187
|
+
|
|
188
|
+
作用:
|
|
189
|
+
|
|
190
|
+
- 执行验证
|
|
191
|
+
- 汇总每个仓库的验证结果
|
|
192
|
+
- 判断当前 workflow 是 `done` 还是 `blocked`
|
|
193
|
+
|
|
194
|
+
适用模式:
|
|
195
|
+
|
|
196
|
+
- `todo`
|
|
197
|
+
- `openspec`
|
|
198
|
+
|
|
199
|
+
典型提示词:
|
|
200
|
+
|
|
201
|
+
```text
|
|
202
|
+
/se:verify
|
|
203
|
+
继续当前工作空间,执行验证并汇报结果。
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### `/se:archive-check`
|
|
207
|
+
|
|
208
|
+
作用:
|
|
209
|
+
|
|
210
|
+
- 检查当前 OpenSpec change 是否满足归档条件
|
|
211
|
+
- 输出 `archive_ready`、`merge_mode`、`blockers`、`spec_conflicts`
|
|
212
|
+
|
|
213
|
+
适用模式:
|
|
214
|
+
|
|
215
|
+
- `openspec`
|
|
216
|
+
|
|
217
|
+
前置条件:
|
|
218
|
+
|
|
219
|
+
- 当前 change 已完成交付并已有执行摘要
|
|
220
|
+
|
|
221
|
+
典型提示词:
|
|
222
|
+
|
|
223
|
+
```text
|
|
224
|
+
/se:archive-check
|
|
225
|
+
检查当前 OpenSpec change 是否满足归档条件。
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### `/se:archive`
|
|
229
|
+
|
|
230
|
+
作用:
|
|
231
|
+
|
|
232
|
+
- 在满足安全条件时执行归档
|
|
233
|
+
- 同步 delta specs
|
|
234
|
+
- 移动当前 change 到 archive 目录
|
|
235
|
+
|
|
236
|
+
适用模式:
|
|
237
|
+
|
|
238
|
+
- `openspec`
|
|
239
|
+
|
|
240
|
+
前置条件:
|
|
241
|
+
|
|
242
|
+
- `archive_ready=true`
|
|
243
|
+
- `merge_mode=safe_merge`
|
|
244
|
+
- `spec_conflicts` 为空
|
|
245
|
+
|
|
246
|
+
典型提示词:
|
|
247
|
+
|
|
248
|
+
```text
|
|
249
|
+
/se:archive
|
|
250
|
+
仅在当前 change 满足安全归档条件时执行归档。
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### `/se:status`
|
|
254
|
+
|
|
255
|
+
作用:
|
|
256
|
+
|
|
257
|
+
- 查看当前阶段
|
|
258
|
+
- 查看当前 session
|
|
259
|
+
- 查看阻塞项和下一步建议
|
|
260
|
+
|
|
261
|
+
适用模式:
|
|
262
|
+
|
|
263
|
+
- `todo`
|
|
264
|
+
- `openspec`
|
|
265
|
+
|
|
266
|
+
典型提示词:
|
|
267
|
+
|
|
268
|
+
```text
|
|
269
|
+
/se:status
|
|
270
|
+
告诉我当前工作流处在哪个阶段,还有哪些阻塞项。
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
## 4. 两种模式下怎么理解命令
|
|
274
|
+
|
|
275
|
+
### `todo` 模式
|
|
276
|
+
|
|
277
|
+
`todo` 模式通常从这里开始:
|
|
278
|
+
|
|
279
|
+
- `/se:init`
|
|
280
|
+
- `/se:plan`
|
|
281
|
+
- `/se:apply`
|
|
282
|
+
|
|
283
|
+
如果是 `auto`,通常直接 `/se:apply`。
|
|
284
|
+
如果是 `manual`,通常先 `/se:plan`,再逐步 `/se:apply`、`/se:review`、`/se:verify`。
|
|
285
|
+
|
|
286
|
+
### `openspec` 模式
|
|
287
|
+
|
|
288
|
+
`openspec` 模式通常从这里开始:
|
|
289
|
+
|
|
290
|
+
- `/se:propose <change-name>`
|
|
291
|
+
- `/se:bridge`
|
|
292
|
+
- `/se:plan` 或 `/se:apply`
|
|
293
|
+
- `/se:archive-check`
|
|
294
|
+
- `/se:archive`
|
|
295
|
+
|
|
296
|
+
核心区别是:
|
|
297
|
+
|
|
298
|
+
- `todo` 模式的输入是用户直接维护的 `todo.md`
|
|
299
|
+
- `openspec` 模式的输入先是 OpenSpec change,再桥接成桥接 todo
|
|
300
|
+
|
|
301
|
+
## 5. 推荐使用约束
|
|
302
|
+
|
|
303
|
+
- `openspec` 模式下,不建议跳过 `/se:bridge`
|
|
304
|
+
- `openspec` 模式下,不建议跳过桥接 todo 的人工审核
|
|
305
|
+
- `manual` 模式下,建议在 `/se:plan` 之后先看计划再进入实现
|
|
306
|
+
- `auto` 模式下,只有出现硬阻塞才应该停下
|
|
307
|
+
- 归档前一定先做 `/se:archive-check`
|
|
308
|
+
|
|
309
|
+
## 6. 一个完整例子
|
|
310
|
+
|
|
311
|
+
下面是一条比较完整的 `openspec + auto` 使用链路:
|
|
312
|
+
|
|
313
|
+
```text
|
|
314
|
+
/se:propose add-user-phone-filter
|
|
315
|
+
请根据当前 workspace 的 demand_file 生成或完善 OpenSpec change。
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
```text
|
|
319
|
+
/se:bridge
|
|
320
|
+
针对当前 OpenSpec change 生成桥接 todo,并总结待审核项。
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
```text
|
|
324
|
+
/se:apply
|
|
325
|
+
我已审核当前桥接 todo,可以进入交付阶段。
|
|
326
|
+
使用当前工作空间。
|
|
327
|
+
当前模式是 openspec + auto。
|
|
328
|
+
如果没有硬阻塞,自动推进到 verify。
|
|
329
|
+
verify 通过后继续检查归档条件;如果结果为 safe_merge,状态进入 archive_ready,下一步再执行 /se:archive。
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
```text
|
|
333
|
+
/se:status
|
|
334
|
+
告诉我当前交付是否完成,是否已经进入归档阶段。
|
|
335
|
+
```
|