super-engineer-workflow 0.1.6 → 0.1.7

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.
Files changed (27) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +6 -10
  3. package/docs/se/345/221/275/344/273/244/345/215/217/350/256/256.md +42 -297
  4. package/docs//350/267/250/345/271/263/345/217/260/346/224/257/346/214/201/347/237/251/351/230/265.md +34 -0
  5. 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 +3 -2
  6. package/package.json +1 -1
  7. package/scripts/se-cli.py +146 -2
  8. package/scripts/se-e2e-test.py +89 -0
  9. package/scripts/se-setup.py +13 -2
  10. package/super-engineer-workflow/SKILL.md +20 -5
  11. package/super-engineer-workflow/references/commands/apply.md +28 -0
  12. package/super-engineer-workflow/references/commands/archive.md +23 -0
  13. package/super-engineer-workflow/references/commands/bridge.md +25 -0
  14. package/super-engineer-workflow/references/commands/common.md +32 -0
  15. package/super-engineer-workflow/references/commands/plan.md +25 -0
  16. package/super-engineer-workflow/references/commands/propose.md +25 -0
  17. package/super-engineer-workflow/references/commands/review.md +22 -0
  18. package/super-engineer-workflow/references/commands/status.md +22 -0
  19. package/super-engineer-workflow/references/commands/verify.md +23 -0
  20. package/super-engineer-workflow/scripts/bootstrap-openspec.py +3 -1
  21. package/super-engineer-workflow/scripts/common.py +128 -0
  22. package/super-engineer-workflow/scripts/generate-discovery.py +44 -0
  23. package/super-engineer-workflow/scripts/generate-smart-plan.py +12 -2
  24. package/super-engineer-workflow/scripts/prepare-archive-openspec.py +4 -0
  25. package/super-engineer-workflow/scripts/run-workflow.py +90 -23
  26. package/super-engineer-workflow/scripts/writeback-openspec.py +5 -1
  27. package/super-engineer-workflow/references/se-commands.md +0 -586
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.7
4
+
5
+ - 拆分 `/se:*` 协议到 `references/commands/*`,删除旧单体协议入口,AI 按命令读取最小协议上下文,降低固定 token 消耗。
6
+ - 增加 `route-check` JSON 预检入口,统一返回命令、阶段、允许状态和阻塞原因。
7
+ - OpenSpec bridge 记录 `tasks.md` hash;后续 plan/apply 发现 tasks 变化会拒绝继续并要求重新 bridge。
8
+ - 增加 `discovery-summary.json`,plan 阶段优先读取轻量定位摘要,进一步减少完整 discovery 上下文读取。
9
+ - `route-se` 增加 `--json` 摘要输出,并增加跨进程 workflow lock,降低并发或重复 `/se:apply` 的 session 风险。
10
+ - OpenSpec 回写增加 `openspec_hashes` 和独立 `task-mapping.json`,archive-check 会检测 proposal/design/tasks/specs 的 hash 漂移。
11
+ - 增强 `se doctor --fix`,可同步 skill 并补齐多平台命令模板。
12
+ - 增加 `se commands install --target claude|codex|cursor|trae|kimi|all`,补齐主流 AI 编码工具快捷命令模板安装入口。
13
+ - 初始化完成提示改为推荐流程,明确 propose -> bridge -> 审核 todo -> apply。
14
+ - 新增跨平台支持矩阵文档,明确 macOS/Linux/Windows Git Bash/PowerShell 支持等级。
15
+
3
16
  ## 0.1.6
4
17
 
5
18
  - 修复计划生成失败或中断后重复 `/se:apply` 会创建多个空 session/output 目录的问题。
package/README.md CHANGED
@@ -59,6 +59,9 @@
59
59
 
60
60
  OpenSpec 模式下,脚本会维护 `.super-engineer/se-state.json`。
61
61
  `/se:propose` 后只允许 `/se:bridge`,`/se:bridge` 后才允许审核后 `/se:apply`,非法跨阶段命令会被脚本拒绝。
62
+ 桥接时会记录 `tasks.md` hash;如果后续 OpenSpec tasks 发生变化,`/se:plan` 和 `/se:apply` 会要求重新 `/se:bridge`,避免规格和交付 todo 不一致。
63
+
64
+ 为降低 token 消耗,`/se:*` 协议已按命令拆分到 `super-engineer-workflow/references/commands/`。AI 收到某个命令时只读取公共协议和对应命令文件。
62
65
 
63
66
  标准工作流产物由脚本写入,AI 不应手工伪造 `.super-engineer` 状态文件、`verify.json`、`notification.json` 或 output 下的标准报告。飞书通知只以 `notification.json` 中由 `run-workflow.py verify` 生成的记录为准。
64
67
 
@@ -111,6 +114,8 @@ se init
111
114
  ```bash
112
115
  se init # 交互式安装 skill 并初始化工作区
113
116
  se doctor # 检查本机环境和 workspace.yml
117
+ se doctor --fix # 同步 skill 并补齐工作区快捷命令
118
+ se commands install --target all # 安装 Claude/Codex/Cursor/Trae/Kimi 快捷命令模板
114
119
  se templates # 查看内置 workspace.yml 模板
115
120
  se install # 安装 skill 到 Codex / Claude
116
121
  se sync # 强制同步最新 skill 到 Codex / Claude
@@ -127,6 +132,7 @@ se template copy openspec-auto --workspace /path/to/ai-workspace --demand-name 1
127
132
  ```
128
133
 
129
134
  模板说明见 [docs/模板使用指南.md](/Users/muke/Documents/personal/codex/super-engineer/docs/模板使用指南.md)。
135
+ 跨平台支持说明见 [docs/跨平台支持矩阵.md](/Users/muke/Documents/personal/codex/super-engineer/docs/跨平台支持矩阵.md)。
130
136
 
131
137
  本地源码开发时,也可以直接使用引导脚本。默认是一步一步的交互式向导:
132
138
 
@@ -161,34 +167,24 @@ npm 包入口由 `package.json` 的 `bin` 字段提供,`super-engineer` 和 `s
161
167
 
162
168
  ```text
163
169
  /se:apply
164
- 使用当前工作空间。
165
- 需求是:经销商用户列表接口增加手机号精确筛选,要求兼容旧查询行为,并补齐 controller / service 层测试。
166
- 当前模式是 todo + auto。
167
- 如果 workspace 未初始化,先初始化;如果没有硬阻塞,直接推进到实现、自查、审查和验证。
168
170
  ```
169
171
 
170
172
  `openspec` 模式常见起点:
171
173
 
172
174
  ```text
173
175
  /se:propose add-phone-filter
174
- 请根据当前 workspace 的 demand_file 生成或完善 OpenSpec change。
175
176
  ```
176
177
 
177
178
  然后:
178
179
 
179
180
  ```text
180
181
  /se:bridge
181
- 针对当前 OpenSpec change 生成交付阶段的桥接 todo,并总结待审核项。
182
182
  ```
183
183
 
184
184
  人工确认后:
185
185
 
186
186
  ```text
187
187
  /se:apply
188
- 使用当前工作空间,当前模式是 openspec + auto。
189
- 我已审核当前桥接 todo,可以进入交付阶段。
190
- 如果没有硬阻塞,自动推进到 verify;verify 通过后继续检查归档条件。
191
- 如果结果为 safe_merge,下一步再执行 /se:archive。
192
188
  ```
193
189
 
194
190
  ## 工作空间配置
@@ -1,335 +1,80 @@
1
1
  # `se` 命令协议
2
2
 
3
- `se` `super-engineer` 的专属命令前缀。
3
+ `/se:*` 是用户发给 AI 的工作流指令,不是 shell 命令,也不是 OpenSpec `/opsx:*`。
4
4
 
5
- 它的定位不是 shell 命令,而是用户发给 AI 的工作流指令。
6
- AI 收到这些指令后,再根据当前工作空间、当前模式和当前阶段,调用内部 workflow。
5
+ 用户只需要输入命令;AI 会根据当前 `workspace.yml`、状态机和 skill 协议调用底层脚本。
7
6
 
8
- ## 1. 设计原则
7
+ ## 命令顺序
9
8
 
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
- 如果出现阻塞,则进入:
9
+ ### todo 模式
41
10
 
42
11
  ```text
43
- blocked
12
+ /se:init
13
+ -> /se:plan 或 /se:apply
14
+ -> /se:review
15
+ -> /se:verify
44
16
  ```
45
17
 
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`
18
+ `todo + auto` 通常可以直接从 `/se:apply` 开始。
62
19
 
63
- 典型提示词:
20
+ ### OpenSpec 模式
64
21
 
65
22
  ```text
66
- /se:init
67
- 使用当前工作空间,检查 workspace 是否可用,并告诉我缺哪些配置。
23
+ /se:propose <change-name>
24
+ -> /se:bridge
25
+ -> 人工审核 todo.md
26
+ -> /se:apply
27
+ -> /se:archive-check
28
+ -> /se:archive
68
29
  ```
69
30
 
70
- ### `/se:propose <change-name>`
71
-
72
- 作用:
31
+ `/se:propose` 后禁止直接 `/se:apply`;必须先 `/se:bridge`。
73
32
 
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
33
+ ## 命令表
79
34
 
80
- 适用模式:
35
+ | 命令 | 作用 | 下一步 |
36
+ | --- | --- | --- |
37
+ | `/se:init` | 初始化或检查工作区 | todo 模式可 `/se:apply`,OpenSpec 模式可 `/se:propose <change-name>` |
38
+ | `/se:propose <change-name>` | 生成或修正 OpenSpec change,不改代码 | `/se:bridge` |
39
+ | `/se:bridge` | 将 `tasks.md` 桥接为待审核 `todo.md` | 审核后 `/se:apply` |
40
+ | `/se:plan` | 只生成实施计划,不改代码 | `/se:apply` |
41
+ | `/se:apply` | 进入交付,实现、自查,并在 auto 模式继续 review/verify | 失败则修复后重跑,通过后看状态 |
42
+ | `/se:review` | 单独执行代码审查 | `/se:verify` 或 `/se:apply` 修复 |
43
+ | `/se:verify` | 执行验证并由脚本发送通知 | OpenSpec 模式下一步 `/se:archive-check` |
44
+ | `/se:archive-check` | 检查 OpenSpec 是否可安全归档 | safe_merge 后 `/se:archive` |
45
+ | `/se:archive` | 归档 OpenSpec change 和相关 specs | 完成 |
46
+ | `/se:status` | 查看当前状态和阻塞项 | 按 allowed_next 继续 |
81
47
 
82
- - `openspec`
48
+ ## 最短提示词
83
49
 
84
- 典型提示词:
50
+ OpenSpec 模式:
85
51
 
86
52
  ```text
87
53
  /se:propose add-user-phone-filter
88
- 请根据当前 workspace 的 demand_file 生成或完善 OpenSpec change。
89
54
  ```
90
55
 
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
56
  ```text
110
57
  /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
58
  ```
139
59
 
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
- 典型提示词:
60
+ 审核 `todo.md` 后:
160
61
 
161
62
  ```text
162
63
  /se:apply
163
- 使用当前工作空间。
164
- 如果没有硬阻塞,继续推进当前交付阶段。
165
64
  ```
166
65
 
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
- 典型提示词:
66
+ todo 模式:
200
67
 
201
68
  ```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。
69
+ /se:apply
316
70
  ```
317
71
 
318
- ```text
319
- /se:bridge
320
- 针对当前 OpenSpec change 生成桥接 todo,并总结待审核项。
321
- ```
72
+ ## 约束
322
73
 
323
- ```text
324
- /se:apply
325
- 我已审核当前桥接 todo,可以进入交付阶段。
326
- 使用当前工作空间。
327
- 当前模式是 openspec + auto。
328
- 如果没有硬阻塞,自动推进到 verify。
329
- verify 通过后继续检查归档条件;如果结果为 safe_merge,状态进入 archive_ready,下一步再执行 /se:archive。
330
- ```
74
+ - `workspace.yml` 是用户维护的契约,AI 禁止修改。
75
+ - 状态、报告、通知必须由脚本生成。
76
+ - 飞书/PushPlus 通知只能由 verify 脚本发送。
77
+ - OpenSpec `tasks.md` 在 bridge 后发生变化时,必须重新 `/se:bridge`。
78
+ - 归档前必须先 `/se:archive-check`。
331
79
 
332
- ```text
333
- /se:status
334
- 告诉我当前交付是否完成,是否已经进入归档阶段。
335
- ```
80
+ AI 内部执行协议以 `super-engineer-workflow/references/commands/` 下的命令分片为准。
@@ -0,0 +1,34 @@
1
+ # 跨平台支持矩阵
2
+
3
+ ## 支持等级
4
+
5
+ | 平台 | 支持等级 | 建议 |
6
+ | --- | --- | --- |
7
+ | macOS | 完整支持 | 推荐日常使用与发布验证 |
8
+ | Linux | 完整支持 | 推荐 CI / 服务器环境 |
9
+ | Windows Git Bash | Beta 支持 | 推荐 Windows 用户优先使用 |
10
+ | Windows PowerShell | Beta 支持 | 需要重点验证路径、引号和验证命令 |
11
+
12
+ ## 依赖
13
+
14
+ - Node.js >= 18
15
+ - npm >= 9
16
+ - Python 3
17
+ - 可选:OpenSpec CLI
18
+ - 可选:飞书/Lark CLI,用于云文档需求源
19
+
20
+ ## 检查命令
21
+
22
+ ```bash
23
+ se doctor --workspace <workspace>
24
+ se doctor --workspace <workspace> --fix
25
+ ```
26
+
27
+ `--fix` 会同步本机 skill,并补齐 Claude、Codex、Cursor、Trae、Kimi 的 `/se:*` 快捷命令模板。
28
+
29
+ ## Windows 注意事项
30
+
31
+ - 优先使用 Git Bash。
32
+ - `workspace.yml` 中路径建议使用 `/`,例如 `../code/project-a`。
33
+ - PowerShell 下自定义 `verify_commands` 时注意引号转义。
34
+ - 路径包含空格时,建议先用 `se doctor` 检查解析结果。
@@ -146,6 +146,7 @@ super-engineer/
146
146
  ├── docs/
147
147
  │ ├── 中文使用手册.md
148
148
  │ ├── se命令协议.md
149
+ │ ├── 跨平台支持矩阵.md
149
150
  │ └── 项目架构与设计说明.md
150
151
  └── super-engineer-workflow/
151
152
  ├── SKILL.md
@@ -173,7 +174,7 @@ AI 使用这个 skill 时,首先读取 `SKILL.md`,再按需读取 `reference
173
174
 
174
175
  `references/` 是 AI 行为协议和工程规则库:
175
176
 
176
- - `se-commands.md`:`/se:*` 专属命令协议
177
+ - `commands/`:按命令拆分的 `/se:*` 专属协议,AI 只读取当前命令需要的分片
177
178
  - `workflow.md`:工作空间配置、运行目录、会话规则、阻塞规则
178
179
  - `contracts.md`:关键产物、可靠性边界、归档前置条件
179
180
  - `execution-modes.md`:`manual` 与 `auto` 行为差异
@@ -650,7 +651,7 @@ superengineer/7-add-phone-filter/需求.md
650
651
  4. 增强验证策略:支持项目级 verify profile,避免只靠自动识别。
651
652
  5. 增强 schema 校验:对 `workspace.yml`、`plan.json`、`status.json`、OpenSpec 回写产物执行更严格校验。
652
653
  6. 增强平台化接入:把 JSON 产物作为后端数据源,提供可视化运行状态、报告和归档记录。
653
- 7. 增强模型兼容性:把命令协议、阶段门禁和脚本输出进一步结构化,降低不同 AI 模型理解差异。
654
+ 7. 增强模型兼容性:继续收紧命令分片、阶段门禁和脚本 JSON 输出,降低不同 AI 模型理解差异。
654
655
 
655
656
  ## 14. 一句话总结
656
657
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "super-engineer-workflow",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Super Engineer workflow skill and CLI for demand-driven AI delivery with OpenSpec bridge support.",
5
5
  "license": "MIT",
6
6
  "author": "Gary-Coding",