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.
Files changed (53) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/CONTRIBUTING.md +34 -0
  3. package/LICENSE +21 -0
  4. package/README.md +300 -0
  5. package/SECURITY.md +21 -0
  6. package/bin/super-engineer.js +19 -0
  7. package/docs/se/345/221/275/344/273/244/345/215/217/350/256/256.md +335 -0
  8. package/docs//344/270/255/346/226/207/344/275/277/347/224/250/346/211/213/345/206/214.md +707 -0
  9. 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
  10. 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
  11. 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
  12. package/package.json +55 -0
  13. package/scripts/se-cli.py +301 -0
  14. package/scripts/se-setup.py +331 -0
  15. package/scripts/se-smoke-test.py +86 -0
  16. package/super-engineer-workflow/SKILL.md +439 -0
  17. package/super-engineer-workflow/adapters/go.yml +8 -0
  18. package/super-engineer-workflow/adapters/java-gradle.yml +8 -0
  19. package/super-engineer-workflow/adapters/java-maven.yml +8 -0
  20. package/super-engineer-workflow/adapters/node-react.yml +8 -0
  21. package/super-engineer-workflow/adapters/node-vue.yml +8 -0
  22. package/super-engineer-workflow/adapters/python.yml +8 -0
  23. package/super-engineer-workflow/agents/openai.yaml +4 -0
  24. package/super-engineer-workflow/assets/config-schema.json +100 -0
  25. package/super-engineer-workflow/assets/config.example.yml +12 -0
  26. package/super-engineer-workflow/assets/plan-schema.json +362 -0
  27. package/super-engineer-workflow/assets/status-schema.json +83 -0
  28. package/super-engineer-workflow/assets/workspace.example.yml +25 -0
  29. package/super-engineer-workflow/config.example.yml +12 -0
  30. package/super-engineer-workflow/references/contracts.md +39 -0
  31. package/super-engineer-workflow/references/execution-modes.md +38 -0
  32. package/super-engineer-workflow/references/java.md +21 -0
  33. package/super-engineer-workflow/references/planning.md +45 -0
  34. package/super-engineer-workflow/references/platform-openclaw.md +10 -0
  35. package/super-engineer-workflow/references/project-docs.md +7 -0
  36. package/super-engineer-workflow/references/review-checklist.md +26 -0
  37. package/super-engineer-workflow/references/se-commands.md +582 -0
  38. package/super-engineer-workflow/references/verify-checklist.md +45 -0
  39. package/super-engineer-workflow/references/workflow.md +208 -0
  40. package/super-engineer-workflow/scripts/archive-openspec.py +110 -0
  41. package/super-engineer-workflow/scripts/bootstrap-openspec.py +42 -0
  42. package/super-engineer-workflow/scripts/common.py +3285 -0
  43. package/super-engineer-workflow/scripts/generate-discovery.py +185 -0
  44. package/super-engineer-workflow/scripts/generate-review-report.py +296 -0
  45. package/super-engineer-workflow/scripts/generate-self-check.py +185 -0
  46. package/super-engineer-workflow/scripts/generate-smart-plan.py +429 -0
  47. package/super-engineer-workflow/scripts/init-workspace.py +68 -0
  48. package/super-engineer-workflow/scripts/prepare-archive-openspec.py +186 -0
  49. package/super-engineer-workflow/scripts/propose-openspec.py +170 -0
  50. package/super-engineer-workflow/scripts/run-verify-and-report.py +399 -0
  51. package/super-engineer-workflow/scripts/run-workflow.py +506 -0
  52. package/super-engineer-workflow/scripts/update-status.py +43 -0
  53. package/super-engineer-workflow/scripts/writeback-openspec.py +311 -0
@@ -0,0 +1,657 @@
1
+ # super-engineer 项目架构与设计说明
2
+
3
+ 本文面向首次接触 `super-engineer` 的开发者,说明项目当前阶段、核心思想、架构分层和后续演进方向。
4
+
5
+ ## 1. 项目当前阶段
6
+
7
+ `super-engineer` 当前处于“可用工作流内核 + Skill 分发”的阶段。
8
+
9
+ 它已经具备:
10
+
11
+ - 可安装为 Codex / Claude skill 的工作流本体
12
+ - 基于 `workspace.yml` 的工作空间配置
13
+ - `todo` 与 `openspec` 两种输入模式
14
+ - `manual` 与 `auto` 两种执行模式
15
+ - `/se:*` 专属命令协议
16
+ - 会话级运行状态与产物归档
17
+ - 代码定位、计划生成、自查、审查、验证报告
18
+ - OpenSpec change 创建前置准备、`tasks.md -> todo.md` 桥接、执行摘要回写、归档检查、安全归档
19
+ - Java、Node.js / Vue / React、Go、Python、Rust、.NET、PHP、Ruby、Make / CMake 等主流项目识别与验证命令推断
20
+ - `workspace.yml.verify_commands` 自定义验证命令覆盖
21
+ - PushPlus / 飞书通知
22
+
23
+ 它暂时不是完整的平台产品,也不是一个独立的 Web 应用。当前的定位更接近“AI 工程交付操作系统的本地内核”:用户通过 AI 输入 `/se:*` 阶段命令,AI 按 skill 规则调用本项目脚本,脚本负责稳定地产出状态、报告和门禁证据。
24
+
25
+ 当前边界也需要明确:
26
+
27
+ - 代码实现动作仍由 AI 根据 `plan.json` 和代码上下文完成,不是由 Python 脚本自动改业务代码。
28
+ - OpenSpec 已接入到 change 生命周期,但还不是完全替代 OpenSpec 官方 CLI 的产品。
29
+ - `/se:*` 是发给 AI 的协议,不是 shell 命令,也不是 OpenSpec 官方命令。
30
+ - 脚本主要负责流程编排、状态管理、报告生成、验证执行和 OpenSpec 桥接。
31
+ - 当前已提供 `/se:*` 的脚本路由入口,AI 收到命令后应优先通过统一入口解析并推进,不应自行组合状态文件。
32
+
33
+ ## 2. 项目要解决的问题
34
+
35
+ 普通 AI 编码容易出现几个问题:
36
+
37
+ - 需求、计划、实现、验证都停留在聊天上下文里,后续无法追踪。
38
+ - AI 直接写代码,缺少计划基线、审查门禁和验证闭环。
39
+ - 存量系统、多服务、多仓库场景下,AI 容易改错服务或扩大修改范围。
40
+ - 需求迭代完成后,缺少长期规格归档,下一次迭代不能复用前面的知识。
41
+
42
+ `super-engineer` 的核心目标是把一次需求迭代拆成稳定阶段,并把关键事实落到文件系统:
43
+
44
+ ```text
45
+ 需求输入
46
+ -> 规格阶段
47
+ -> 交付计划
48
+ -> 代码实现
49
+ -> 实现自查
50
+ -> 代码审查
51
+ -> 自动化验证
52
+ -> 规格回写与归档
53
+ ```
54
+
55
+ 这样做的结果是:
56
+
57
+ - AI 可以持续推进,而不是每一步重新理解。
58
+ - 人可以审核关键门禁,而不是只看最终代码。
59
+ - 团队可以复盘每次交付的计划、风险、验证结果。
60
+ - OpenSpec 模式下,需求迭代可以沉淀到长期规格。
61
+
62
+ ## 3. 核心设计思想
63
+
64
+ ### 3.1 Skill 是交互层,脚本是执行层
65
+
66
+ `SKILL.md` 和 `references/` 定义 AI 应该如何理解用户意图,尤其是 `/se:*` 命令。
67
+
68
+ `scripts/` 提供可重复调用的本地执行能力,例如初始化、生成计划、生成审查报告、执行验证、回写 OpenSpec。
69
+
70
+ 这种分层的好处是:
71
+
72
+ - 用户只需要和 AI 对话,不需要直接执行底层脚本。
73
+ - AI 的行为有明确协议,不完全依赖临场发挥。
74
+ - 脚本产物稳定,方便调试、复盘和团队共享。
75
+ - 状态机、通知、OpenSpec 回写、归档检查等关键证据由脚本生成,降低 AI 手工越过流程的概率。
76
+
77
+ ### 3.2 工作空间是唯一上下文入口
78
+
79
+ 每个实际需求迭代都从一个工作空间开始。工作空间根目录必须有:
80
+
81
+ ```text
82
+ workspace.yml
83
+ ```
84
+
85
+ `workspace.yml` 负责声明:
86
+
87
+ - 当前模式:`todo` 或 `openspec`
88
+ - 执行方式:`manual` 或 `auto`
89
+ - 需求文件:`demand_file`
90
+ - 执行入口:`todo_file`
91
+ - 参考资料:`reference_files`
92
+ - 代码根目录:`code_path`
93
+ - 输出目录:`output_dir`
94
+ - OpenSpec change 目录:`openspec.change_dir`
95
+
96
+ 路径支持相对路径和绝对路径。相对路径以当前工作空间根目录为基准。
97
+
98
+ ### 3.3 todo 是交付入口,OpenSpec 是规格入口
99
+
100
+ 项目支持两种输入来源:
101
+
102
+ - `workflow_source=todo`:用户直接维护 `todo.md`,AI 基于 todo 进入交付。
103
+ - `workflow_source=openspec`:先生成或完善 OpenSpec change,再把 `tasks.md` 桥接为 `todo.md`,审核通过后进入交付。
104
+
105
+ 两者的关键区别:
106
+
107
+ - `todo.md` 面向“本轮要做什么”,是交付入口。
108
+ - OpenSpec change 面向“需求为什么变、规格怎么变”,是长期规格入口。
109
+
110
+ 在 OpenSpec 模式下,`todo.md` 是桥接产物,不是规格源头。
111
+
112
+ ### 3.4 每次运行都是一次可追踪会话
113
+
114
+ 每次生成计划都会创建新的 `session_id`。运行产物分为两类。
115
+
116
+ 机器可读产物:
117
+
118
+ ```text
119
+ <workspace>/.super-engineer/current-session.json
120
+ <workspace>/.super-engineer/sessions/<session_id>/discovery.json
121
+ <workspace>/.super-engineer/sessions/<session_id>/plan.json
122
+ <workspace>/.super-engineer/sessions/<session_id>/self-check.json
123
+ <workspace>/.super-engineer/sessions/<session_id>/review.json
124
+ <workspace>/.super-engineer/sessions/<session_id>/verify.json
125
+ <workspace>/.super-engineer/sessions/<session_id>/status.json
126
+ ```
127
+
128
+ 人可读报告:
129
+
130
+ ```text
131
+ <output_dir>/<session_id>/discovery.md
132
+ <output_dir>/<session_id>/plan.md
133
+ <output_dir>/<session_id>/self-check.md
134
+ <output_dir>/<session_id>/review.md
135
+ <output_dir>/<session_id>/verify.md
136
+ ```
137
+
138
+ 这个设计保证聊天上下文丢失后,AI 仍然能通过文件恢复当前阶段。
139
+
140
+ ## 4. 目录结构
141
+
142
+ ```text
143
+ super-engineer/
144
+ ├── README.md
145
+ ├── LICENSE
146
+ ├── docs/
147
+ │ ├── 中文使用手册.md
148
+ │ ├── se命令协议.md
149
+ │ └── 项目架构与设计说明.md
150
+ └── super-engineer-workflow/
151
+ ├── SKILL.md
152
+ ├── agents/
153
+ ├── adapters/
154
+ ├── assets/
155
+ ├── references/
156
+ └── scripts/
157
+ ```
158
+
159
+ ### 4.1 `super-engineer-workflow/SKILL.md`
160
+
161
+ Skill 入口文件,定义:
162
+
163
+ - skill 的适用场景
164
+ - `/se:*` 命令处理规则
165
+ - 工作流强约束
166
+ - 输入模式和执行模式
167
+ - 必走阶段
168
+ - 资源导航
169
+
170
+ AI 使用这个 skill 时,首先读取 `SKILL.md`,再按需读取 `references/` 和调用 `scripts/`。
171
+
172
+ ### 4.2 `references/`
173
+
174
+ `references/` 是 AI 行为协议和工程规则库:
175
+
176
+ - `se-commands.md`:`/se:*` 专属命令协议
177
+ - `workflow.md`:工作空间配置、运行目录、会话规则、阻塞规则
178
+ - `contracts.md`:关键产物、可靠性边界、归档前置条件
179
+ - `execution-modes.md`:`manual` 与 `auto` 行为差异
180
+ - `planning.md`:计划质量要求
181
+ - `project-docs.md`:参考资料使用规则
182
+ - `java.md`:Java 项目识别和验证建议
183
+ - `review-checklist.md`:审查规则
184
+ - `verify-checklist.md`:验证规则
185
+ - `platform-openclaw.md`:后续平台化接入约束
186
+
187
+ ### 4.3 `adapters/`
188
+
189
+ `adapters/` 是多语言项目识别与默认验证命令的适配层。
190
+
191
+ 当前内置:
192
+
193
+ - `java-maven.yml`
194
+ - `java-gradle.yml`
195
+ - `node-react.yml`
196
+ - `node-vue.yml`
197
+ - `go.yml`
198
+ - `python.yml`
199
+
200
+ 每个 adapter 描述:
201
+
202
+ - 识别文件
203
+ - 语言
204
+ - 构建工具
205
+ - 默认测试命令
206
+ - 默认启动命令
207
+ - 默认验证命令
208
+ - review profile
209
+
210
+ `workspace.yml.verify_commands` 仍然拥有最高优先级,可覆盖 adapter 或内置识别结果。
211
+
212
+ 这些文件不是给终端直接执行的,而是给 AI 读取后约束行为的。
213
+
214
+ ### 4.4 `assets/`
215
+
216
+ `assets/` 存放配置示例和结构化 schema:
217
+
218
+ - `workspace.example.yml`
219
+ - `config.example.yml`
220
+ - `config-schema.json`
221
+ - `plan-schema.json`
222
+ - `status-schema.json`
223
+
224
+ 这些文件的作用是稳定输入输出结构,降低不同 AI 模型理解差异。
225
+
226
+ ### 4.5 `scripts/`
227
+
228
+ `scripts/` 是本项目的本地 runtime。统一入口是:
229
+
230
+ ```text
231
+ scripts/run-workflow.py
232
+ ```
233
+
234
+ 主要脚本职责:
235
+
236
+ - `init-workspace.py`:校验工作空间,创建运行目录,必要时创建 todo 模板和 skill 配置。
237
+ - `propose-openspec.py`:为 OpenSpec propose 阶段准备输入,优先调用 OpenSpec CLI。
238
+ - `bootstrap-openspec.py`:把 OpenSpec `tasks.md` 桥接成 `todo_file`。
239
+ - `generate-discovery.py`:根据 todo 关键词定位代码证据。
240
+ - `generate-smart-plan.py`:生成结构化计划和计划报告。
241
+ - `update-status.py`:更新当前会话状态。
242
+ - `generate-self-check.py`:生成实现自查。
243
+ - `generate-review-report.py`:基于 Git diff 和计划生成审查报告。
244
+ - `run-verify-and-report.py`:执行验证命令并生成验证报告。
245
+ - `writeback-openspec.py`:把计划、审查、验证摘要回写到 OpenSpec change。
246
+ - `prepare-archive-openspec.py`:检查归档条件和 spec 冲突。
247
+ - `archive-openspec.py`:安全归档 OpenSpec change,并合并 delta specs。
248
+ - `common.py`:共享工具层,包括配置解析、路径解析、会话管理、todo 解析、项目识别、通知等。
249
+
250
+ ## 5. 工作流架构
251
+
252
+ ### 5.1 todo 模式
253
+
254
+ ```text
255
+ workspace.yml
256
+ -> todo.md
257
+ -> init
258
+ -> discover
259
+ -> plan
260
+ -> implement
261
+ -> self-check
262
+ -> review
263
+ -> verify
264
+ ```
265
+
266
+ 适合:
267
+
268
+ - 需求较小
269
+ - 不需要长期规格沉淀
270
+ - 团队先希望用 AI 规范交付流程
271
+
272
+ ### 5.2 OpenSpec 模式
273
+
274
+ ```text
275
+ demand_file
276
+ -> /se:propose <change-name>
277
+ -> OpenSpec change
278
+ -> tasks.md
279
+ -> /se:bridge
280
+ -> todo.md
281
+ -> plan / apply
282
+ -> review
283
+ -> verify
284
+ -> writeback
285
+ -> archive-check
286
+ -> archive
287
+ ```
288
+
289
+ 适合:
290
+
291
+ - 存量系统长期迭代
292
+ - 多服务、多仓库协作
293
+ - 需求变更需要团队共享和追踪
294
+ - 希望把验收结果沉淀回规格体系
295
+
296
+ ### 5.3 manual 与 auto
297
+
298
+ `manual` 模式:
299
+
300
+ - 计划后停
301
+ - 实现后停
302
+ - 审查后停
303
+ - 更适合早期引入、风险较高或需要人工强审核的需求
304
+
305
+ `auto` 模式:
306
+
307
+ - 除硬阻塞外连续推进
308
+ - 自动进入自查、审查和验证
309
+ - 更适合规则已经稳定、测试命令明确的仓库
310
+
311
+ 硬阻塞包括:
312
+
313
+ - 配置缺失或不合法
314
+ - 无法定位目标仓库
315
+ - 多服务目标不明确
316
+ - 验证失败到必须人工介入
317
+ - review 出现阻塞级问题
318
+ - 需求和代码现实严重冲突
319
+
320
+ ## 6. OpenSpec 集成方式
321
+
322
+ 当前项目采用“轻量桥接 + 局部 native”的方式接入 OpenSpec。
323
+
324
+ 已经做到:
325
+
326
+ - `/se:propose <change-name>` 阶段优先调用 OpenSpec CLI 创建指定 change。
327
+ - 读取 OpenSpec CLI status 和 artifact instructions。
328
+ - 从 `demand_file` 准备 propose 输入。
329
+ - 从 OpenSpec `tasks.md` 桥接生成 `todo.md`。
330
+ - review / verify 后生成 `execution-summary.json` 和 `execution-summary.md`。
331
+ - archive-check 阶段检查验收、review、verify、spec 冲突。
332
+ - archive 阶段只允许在 `safe_merge` 条件下归档。
333
+
334
+ OpenSpec change 名称必须显式指定,例如:
335
+
336
+ ```text
337
+ /se:propose demand-addition-rate
338
+ ```
339
+
340
+ 工作流不会从 `vars.demand_name`、需求文件名或需求标题推导 change 名称。这样能避免 AI 把“需求目录名”“业务标题”和“OpenSpec change 名称”混在一起。
341
+
342
+ ## 7. 数据流
343
+
344
+ ### 7.1 配置加载
345
+
346
+ ```text
347
+ workspace.yml
348
+ -> common.load_workspace_config
349
+ -> 变量展开
350
+ -> 相对路径解析
351
+ -> 读取当前 active OpenSpec change
352
+ -> 合并 ~/.super-engineer/skill-config.yml
353
+ ```
354
+
355
+ ### 7.2 计划生成
356
+
357
+ ```text
358
+ todo.md
359
+ + reference_files
360
+ + code_path
361
+ + discovery.json
362
+ -> plan.json
363
+ -> plan.md
364
+ -> status.json
365
+ ```
366
+
367
+ ### 7.3 审查与验证
368
+
369
+ ```text
370
+ plan.json
371
+ + Git diff
372
+ -> review.json
373
+ -> review.md
374
+
375
+ plan.json
376
+ + 项目识别出的验证命令
377
+ -> verify.json
378
+ -> verify.md
379
+ -> status.json
380
+ -> notification
381
+ ```
382
+
383
+ 验证命令会优先使用 `workspace.yml.verify_commands` 的显式配置。未配置时,工作流根据项目文件自动推断主流技术栈的验证命令,例如 Maven、Gradle、npm、pnpm、yarn、Go、pytest、Cargo、dotnet、Composer、Bundler、Make 等。无法识别可靠命令时,verify 阶段应进入 blocked。
384
+
385
+ ### 7.4 OpenSpec 回写与归档
386
+
387
+ ```text
388
+ plan.json
389
+ + review.json
390
+ + verify.json
391
+ + bridge context
392
+ -> execution-summary.json
393
+ -> archive-input.json
394
+ -> archive-result.json
395
+ ```
396
+
397
+ ## 8. 关键设计取舍
398
+
399
+ ### 8.1 为什么不让用户直接跑脚本
400
+
401
+ 脚本是执行层,不是用户界面。用户直接跑脚本会暴露过多内部细节,也容易绕过阶段门禁。
402
+
403
+ 项目推荐用户通过 `/se:*` 与 AI 交互,由 AI 根据 skill 协议调用脚本。这样可以保留自然语言协作体验,同时让底层执行稳定可追踪。
404
+
405
+ ### 8.2 为什么保留 todo 模式
406
+
407
+ OpenSpec 适合长期规格治理,但不是所有需求都值得先建 change。
408
+
409
+ `todo` 模式提供低成本入口:
410
+
411
+ - 配置简单
412
+ - 学习成本低
413
+ - 适合小需求或早期试点
414
+
415
+ OpenSpec 模式则用于更正式、更长期、更需要协作追踪的需求。
416
+
417
+ ### 8.3 为什么 OpenSpec 前面还有桥接 todo
418
+
419
+ OpenSpec 的 `tasks.md` 面向规格交付任务,不一定直接适合作为 AI 实现输入。
420
+
421
+ 桥接 `todo.md` 的作用是:
422
+
423
+ - 把规格任务转换成交付任务
424
+ - 汇总实现约束
425
+ - 给人工审核一个明确入口
426
+ - 复用原有 todo 驱动的计划、审查、验证能力
427
+
428
+ 这是一种低侵入集成方式,避免一次性把整个 workflow 改成强 OpenSpec-native。
429
+
430
+ ### 8.4 为什么要有 JSON 和 Markdown 双产物
431
+
432
+ JSON 给 AI 和脚本读取,Markdown 给人看。
433
+
434
+ 这能同时满足:
435
+
436
+ - 自动推进
437
+ - 人工审核
438
+ - 团队复盘
439
+ - 后续平台化展示
440
+
441
+ ## 9. 开发者如何理解一次完整运行
442
+
443
+ 以 OpenSpec + auto 为例:
444
+
445
+ 1. 用户把原始需求写入 `demand_file`。
446
+ 2. 用户发 `/se:propose <change-name>`。
447
+ 3. AI 通过 `run-workflow.py route-se --command-text "/se:propose <change-name>"` 准备 OpenSpec 输入,并生成或完善 `proposal.md`、`design.md`、`tasks.md`。
448
+ 4. 用户发 `/se:bridge`。
449
+ 5. AI 通过 `run-workflow.py route-se --command-text "/se:bridge"` 把 `tasks.md` 转成 `todo.md`。
450
+ 6. 用户审核 `todo.md` 后发 `/se:apply`。
451
+ 7. AI 调用 `run-workflow.py plan`,生成 session、discovery、plan。
452
+ 8. AI 根据 `plan.json` 修改业务代码。
453
+ 9. AI 调用 `finish-implement` 生成 self-check。
454
+ 10. AI 调用 `review` 生成 review 门禁。
455
+ 11. AI 调用 `verify` 执行验证命令。
456
+ 12. OpenSpec 模式下自动回写 execution summary。
457
+ 14. 用户或 AI 执行 archive-check,满足 safe_merge 后 archive。
458
+
459
+ ## 10. 当前适用性判断
460
+
461
+ 当前项目适合:
462
+
463
+ - 已经存在多年、结构复杂的业务中台系统
464
+ - 多服务、多仓库交付
465
+ - 需要规范 AI 编码行为的团队
466
+ - 希望从“AI 帮忙写代码”升级到“AI 按工程流程交付”
467
+ - 希望逐步引入 OpenSpec,而不是一次性重构研发流程
468
+
469
+ 当前不适合:
470
+
471
+ - 追求完全无人值守的大规模自动改代码
472
+ - 没有测试命令、没有基本工程结构的项目
473
+ - 需求本身极度模糊且没有人工审核环节的场景
474
+ - 期望它直接替代项目管理系统或完整 DevOps 平台
475
+
476
+ ## 11. 相比单一 OpenSpec 的优缺点
477
+
478
+ 这里的“单一 OpenSpec”指团队主要围绕 OpenSpec change、spec、tasks、archive 来管理需求变更,但不额外引入 `super-engineer` 的计划、审查、验证和会话产物。
479
+
480
+ ### 11.1 优点
481
+
482
+ 相比只使用 OpenSpec,`super-engineer + OpenSpec` 混合工作流的优势主要在交付阶段。
483
+
484
+ 第一,交付过程更可控。OpenSpec 更擅长描述“规格如何变化”,但不会天然约束 AI 在代码实现阶段如何做计划、自查、审查和验证。`super-engineer` 在 `tasks.md` 后增加 `todo.md` 桥接、`plan.json`、`review.json`、`verify.json`,让交付阶段有明确门禁。
485
+
486
+ 第二,更适合复杂存量系统。供应链中台、多服务、多仓库项目里,需求往往不只是改一个 spec,还要定位服务、确认调用链、识别测试入口、判断计划外改动。`super-engineer` 的 `discover -> plan -> review -> verify` 对这类场景更直接。
487
+
488
+ 第三,更适合 AI 编码协作。OpenSpec 主要管理需求和规格,`super-engineer` 进一步约束 AI 怎么读配置、怎么找代码、怎么记录状态、什么时候停止、什么时候自动推进。
489
+
490
+ 第四,有更完整的本地交付记录。每次运行都会产生 session 目录,包含计划、审查、验证和状态。即使聊天上下文丢失,也能从文件恢复。
491
+
492
+ 第五,支持渐进落地。团队可以先用 `todo` 模式规范 AI 交付,再逐步切到 `openspec` 模式,不需要一开始就把所有需求治理都迁移到 OpenSpec。
493
+
494
+ ### 11.2 缺点
495
+
496
+ 混合工作流也会带来额外成本。
497
+
498
+ 第一,流程更长。OpenSpec change 之后还要 bridge 成 `todo.md`,并审核 todo 后再进入实现。对很小的需求来说,这可能偏重。
499
+
500
+ 第二,概念更多。开发者需要理解 `workspace.yml`、`demand_file`、`todo_file`、session、OpenSpec change、archive-check 等概念。
501
+
502
+ 第三,维护面更大。除了 OpenSpec 文件,还要维护 skill、脚本、配置、运行产物和团队约定。
503
+
504
+ 第四,AI 仍然是执行主体。当前项目不是全自动代码生成引擎,业务代码实现仍依赖 AI 按计划修改。因此团队仍需要 review、verify 和人工判断。
505
+
506
+ 第五,OpenSpec-native 程度还在演进。当前是“轻量桥接 + 局部 native”,不是完全替代 OpenSpec 官方流程。
507
+
508
+ ### 11.3 怎么选择
509
+
510
+ 如果团队只是想管理规格变更,并且代码实现主要由人完成,单一 OpenSpec 更轻。
511
+
512
+ 如果团队希望 AI 参与真实编码交付,并且项目是存量系统、多服务、多仓库、需要审查和验证门禁,那么混合工作流更适合。
513
+
514
+ 可以按这个判断:
515
+
516
+ ```text
517
+ 只管规格治理:OpenSpec
518
+ 规格治理 + AI 交付闭环:super-engineer + OpenSpec
519
+ 只想快速让 AI 按 todo 写代码:super-engineer todo 模式
520
+ ```
521
+
522
+ ## 12. 新手快速入门
523
+
524
+ 新手不要一开始理解所有脚本。先按“一个工作空间、一份配置、一组 `/se:*` 提示词”来用。
525
+
526
+ ### 12.1 先理解三个文件
527
+
528
+ 最少只需要理解:
529
+
530
+ ```text
531
+ workspace.yml
532
+ 需求.md
533
+ todo.md
534
+ ```
535
+
536
+ 它们的关系是:
537
+
538
+ ```text
539
+ 需求.md 原始需求,给 OpenSpec propose 用
540
+ todo.md 本轮交付任务,给 AI 实现用
541
+ workspace.yml 告诉 AI 上面两个文件在哪里、代码在哪里、结果写哪里
542
+ ```
543
+
544
+ ### 12.2 如果先用 todo 模式
545
+
546
+ 适合第一次试用,流程最短。
547
+
548
+ 准备 `workspace.yml`:
549
+
550
+ ```yaml
551
+ version: 1
552
+ mode: auto
553
+ workflow_source: todo
554
+ todo_file: todo.md
555
+ reference_files: []
556
+ code_path: ../code
557
+ output_dir: output
558
+ ```
559
+
560
+ 准备 `todo.md`:
561
+
562
+ ```md
563
+ # 限制条件
564
+ - 修改的服务是 user-service
565
+
566
+ # 待办事项
567
+
568
+ ## 用户查询
569
+ - [ ] 用户列表接口增加手机号精确筛选
570
+ 1. 兼容旧查询行为
571
+ 2. 补齐 controller 和 service 层测试
572
+ ```
573
+
574
+ 然后给 AI 发:
575
+
576
+ ```text
577
+ /se:apply
578
+ 使用当前工作空间。
579
+ 当前模式是 todo + auto。
580
+ 如果没有硬阻塞,自动推进到计划、实现、自查、审查和验证。
581
+ ```
582
+
583
+ ### 12.3 如果使用 OpenSpec 模式
584
+
585
+ 适合正式需求迭代。
586
+
587
+ 准备 `workspace.yml`:
588
+
589
+ ```yaml
590
+ version: 1
591
+ mode: auto
592
+ workflow_source: openspec
593
+ vars:
594
+ demand_name: 7-add-phone-filter
595
+ demand_file: superengineer/${demand_name}/需求.md
596
+ todo_file: superengineer/${demand_name}/todo.md
597
+ reference_files: []
598
+ code_path: ../code
599
+ output_dir: superengineer/${demand_name}/output
600
+ openspec:
601
+ changes_dir: openspec/changes
602
+ ```
603
+
604
+ 准备需求文件:
605
+
606
+ ```text
607
+ superengineer/7-add-phone-filter/需求.md
608
+ ```
609
+
610
+ 然后按顺序给 AI 发:
611
+
612
+ ```text
613
+ /se:propose add-phone-filter
614
+ 请根据当前 workspace 的 demand_file 生成或完善 OpenSpec change。
615
+ 先不要改代码。
616
+ ```
617
+
618
+ ```text
619
+ /se:bridge
620
+ 针对当前 OpenSpec change 生成交付阶段的桥接 todo,并总结待审核项。
621
+ ```
622
+
623
+ 人工审核 `todo.md` 后发:
624
+
625
+ ```text
626
+ /se:apply
627
+ 我已审核当前桥接 todo,可以进入交付阶段。
628
+ 使用当前工作空间,当前模式是 openspec + auto。
629
+ 如果没有硬阻塞,自动推进到 verify;verify 通过后继续检查归档条件。
630
+ ```
631
+
632
+ ### 12.4 新手应该先看哪些文档
633
+
634
+ 建议阅读顺序:
635
+
636
+ 1. [README.md](/Users/muke/Documents/personal/codex/super-engineer/README.md)
637
+ 2. [docs/中文使用手册.md](/Users/muke/Documents/personal/codex/super-engineer/docs/中文使用手册.md)
638
+ 3. [docs/se命令协议.md](/Users/muke/Documents/personal/codex/super-engineer/docs/se命令协议.md)
639
+ 4. [super-engineer-workflow/references/workflow.md](/Users/muke/Documents/personal/codex/super-engineer/super-engineer-workflow/references/workflow.md)
640
+
641
+ 不建议新手一开始直接研究 `scripts/`。先跑通一次完整需求,再看脚本实现会更清楚。
642
+
643
+ ## 13. 后续演进方向
644
+
645
+ 建议后续按以下方向推进:
646
+
647
+ 1. 增强 OpenSpec-native 能力:让 propose、apply、archive 的状态和 OpenSpec artifact 更深度绑定。
648
+ 2. 增强桥接 todo 审核追踪:记录审核人、todo hash 和审核时间,但不新增用户命令。
649
+ 3. 增强多仓库支持:更明确地记录每个服务的计划、diff、review、verify。
650
+ 4. 增强验证策略:支持项目级 verify profile,避免只靠自动识别。
651
+ 5. 增强 schema 校验:对 `workspace.yml`、`plan.json`、`status.json`、OpenSpec 回写产物执行更严格校验。
652
+ 6. 增强平台化接入:把 JSON 产物作为后端数据源,提供可视化运行状态、报告和归档记录。
653
+ 7. 增强模型兼容性:把命令协议、阶段门禁和脚本输出进一步结构化,降低不同 AI 模型理解差异。
654
+
655
+ ## 14. 一句话总结
656
+
657
+ `super-engineer` 的核心不是“再写一个 AI 编码提示词”,而是把 AI 编码变成一个可配置、可追踪、可审查、可验证、可归档的工程工作流。
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "super-engineer-workflow",
3
+ "version": "0.1.0",
4
+ "description": "Super Engineer workflow skill and CLI for legacy-system AI delivery with OpenSpec bridge support.",
5
+ "license": "MIT",
6
+ "author": "Gary-Coding",
7
+ "homepage": "https://github.com/Gary-Coding/super-engineer#readme",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/Gary-Coding/super-engineer.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/Gary-Coding/super-engineer/issues"
14
+ },
15
+ "engines": {
16
+ "node": ">=18",
17
+ "npm": ">=9"
18
+ },
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
22
+ "bin": {
23
+ "super-engineer": "bin/super-engineer.js",
24
+ "se": "bin/super-engineer.js"
25
+ },
26
+ "files": [
27
+ "bin/",
28
+ "scripts/",
29
+ "!scripts/__pycache__/",
30
+ "!scripts/**/*.pyc",
31
+ "super-engineer-workflow/",
32
+ "!super-engineer-workflow/scripts/__pycache__/",
33
+ "!super-engineer-workflow/scripts/**/*.pyc",
34
+ "docs/",
35
+ "README.md",
36
+ "LICENSE",
37
+ "CHANGELOG.md",
38
+ "CONTRIBUTING.md",
39
+ "SECURITY.md"
40
+ ],
41
+ "scripts": {
42
+ "setup": "python3 scripts/se-setup.py",
43
+ "check": "python3 -m py_compile scripts/se-cli.py scripts/se-setup.py scripts/se-smoke-test.py super-engineer-workflow/scripts/*.py",
44
+ "smoke": "python3 scripts/se-smoke-test.py",
45
+ "pack:check": "npm pack --dry-run"
46
+ },
47
+ "keywords": [
48
+ "ai",
49
+ "workflow",
50
+ "openspec",
51
+ "codex",
52
+ "claude",
53
+ "skill"
54
+ ]
55
+ }