@aipper/aiws-spec 0.0.52 → 0.0.53

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 (98) hide show
  1. package/docs/skill-manifest.json +18 -0
  2. package/package.json +1 -1
  3. package/templates/workspace/.opencode/README.md +49 -0
  4. package/templates/workspace/.opencode/command/ws-frontend-design.md +17 -0
  5. package/templates/workspace/.opencode/commands/using-aiws.md +18 -7
  6. package/templates/workspace/.opencode/skills/codebase-design/SKILL.md +114 -0
  7. package/templates/workspace/.opencode/skills/domain-modeling/SKILL.md +74 -0
  8. package/templates/workspace/.opencode/skills/grill-with-docs/SKILL.md +7 -0
  9. package/templates/workspace/.opencode/skills/tdd/SKILL.md +36 -0
  10. package/templates/workspace/.opencode/skills/using-aiws/SKILL.md +2 -1
  11. package/templates/workspace/.opencode/skills/ws-dev/SKILL.md +24 -3
  12. package/templates/workspace/.opencode/skills/ws-plan/SKILL.md +15 -1
  13. package/templates/workspace/.opencode/skills/ws-review/SKILL.md +22 -0
  14. package/templates/workspace/manifest.json +7 -121
  15. package/templates/workspace/.opencode/command/p-aiws-change-archive.md +0 -27
  16. package/templates/workspace/.opencode/command/p-aiws-change-finish.md +0 -27
  17. package/templates/workspace/.opencode/command/p-aiws-change-list.md +0 -26
  18. package/templates/workspace/.opencode/command/p-aiws-change-new.md +0 -27
  19. package/templates/workspace/.opencode/command/p-aiws-change-next.md +0 -27
  20. package/templates/workspace/.opencode/command/p-aiws-change-start.md +0 -27
  21. package/templates/workspace/.opencode/command/p-aiws-change-status.md +0 -27
  22. package/templates/workspace/.opencode/command/p-aiws-change-sync.md +0 -27
  23. package/templates/workspace/.opencode/command/p-aiws-change-templates-init.md +0 -26
  24. package/templates/workspace/.opencode/command/p-aiws-change-templates-which.md +0 -26
  25. package/templates/workspace/.opencode/command/p-aiws-change-validate.md +0 -27
  26. package/templates/workspace/.opencode/command/p-aiws-hooks-install.md +0 -26
  27. package/templates/workspace/.opencode/command/p-aiws-hooks-status.md +0 -26
  28. package/templates/workspace/.opencode/command/p-aiws-init.md +0 -23
  29. package/templates/workspace/.opencode/command/p-aiws-rollback.md +0 -16
  30. package/templates/workspace/.opencode/command/p-aiws-update.md +0 -22
  31. package/templates/workspace/.opencode/command/p-aiws-validate.md +0 -17
  32. package/templates/workspace/.opencode/command/ws-analyze.md +0 -30
  33. package/templates/workspace/.opencode/command/ws-auto.md +0 -33
  34. package/templates/workspace/.opencode/command/ws-autonomy.md +0 -25
  35. package/templates/workspace/.opencode/command/ws-bugfix.md +0 -35
  36. package/templates/workspace/.opencode/command/ws-commit.md +0 -87
  37. package/templates/workspace/.opencode/command/ws-delegate.md +0 -33
  38. package/templates/workspace/.opencode/command/ws-deliver.md +0 -75
  39. package/templates/workspace/.opencode/command/ws-handoff.md +0 -43
  40. package/templates/workspace/.opencode/command/ws-intake.md +0 -22
  41. package/templates/workspace/.opencode/command/ws-migrate.md +0 -25
  42. package/templates/workspace/.opencode/command/ws-plan-verify.md +0 -28
  43. package/templates/workspace/.opencode/command/ws-preflight.md +0 -35
  44. package/templates/workspace/.opencode/command/ws-pull.md +0 -87
  45. package/templates/workspace/.opencode/command/ws-push.md +0 -93
  46. package/templates/workspace/.opencode/command/ws-quality-review.md +0 -30
  47. package/templates/workspace/.opencode/command/ws-req-change.md +0 -45
  48. package/templates/workspace/.opencode/command/ws-req-contract-sync.md +0 -21
  49. package/templates/workspace/.opencode/command/ws-req-contract-validate.md +0 -16
  50. package/templates/workspace/.opencode/command/ws-req-flow-sync.md +0 -23
  51. package/templates/workspace/.opencode/command/ws-req-review.md +0 -36
  52. package/templates/workspace/.opencode/command/ws-rule.md +0 -27
  53. package/templates/workspace/.opencode/command/ws-spec-review.md +0 -30
  54. package/templates/workspace/.opencode/command/ws-submodule-setup.md +0 -57
  55. package/templates/workspace/.opencode/command/ws-verify-before-complete.md +0 -27
  56. package/templates/workspace/.opencode/commands/p-aiws-change-archive.md +0 -27
  57. package/templates/workspace/.opencode/commands/p-aiws-change-finish.md +0 -27
  58. package/templates/workspace/.opencode/commands/p-aiws-change-list.md +0 -26
  59. package/templates/workspace/.opencode/commands/p-aiws-change-new.md +0 -27
  60. package/templates/workspace/.opencode/commands/p-aiws-change-next.md +0 -27
  61. package/templates/workspace/.opencode/commands/p-aiws-change-start.md +0 -27
  62. package/templates/workspace/.opencode/commands/p-aiws-change-status.md +0 -27
  63. package/templates/workspace/.opencode/commands/p-aiws-change-sync.md +0 -27
  64. package/templates/workspace/.opencode/commands/p-aiws-change-templates-init.md +0 -26
  65. package/templates/workspace/.opencode/commands/p-aiws-change-templates-which.md +0 -26
  66. package/templates/workspace/.opencode/commands/p-aiws-change-validate.md +0 -27
  67. package/templates/workspace/.opencode/commands/p-aiws-hooks-install.md +0 -26
  68. package/templates/workspace/.opencode/commands/p-aiws-hooks-status.md +0 -26
  69. package/templates/workspace/.opencode/commands/p-aiws-init.md +0 -23
  70. package/templates/workspace/.opencode/commands/p-aiws-rollback.md +0 -16
  71. package/templates/workspace/.opencode/commands/p-aiws-update.md +0 -22
  72. package/templates/workspace/.opencode/commands/p-aiws-validate.md +0 -17
  73. package/templates/workspace/.opencode/commands/ws-analyze.md +0 -30
  74. package/templates/workspace/.opencode/commands/ws-auto.md +0 -33
  75. package/templates/workspace/.opencode/commands/ws-autonomy.md +0 -25
  76. package/templates/workspace/.opencode/commands/ws-bugfix.md +0 -35
  77. package/templates/workspace/.opencode/commands/ws-commit.md +0 -18
  78. package/templates/workspace/.opencode/commands/ws-delegate.md +0 -33
  79. package/templates/workspace/.opencode/commands/ws-deliver.md +0 -18
  80. package/templates/workspace/.opencode/commands/ws-handoff.md +0 -18
  81. package/templates/workspace/.opencode/commands/ws-intake.md +0 -22
  82. package/templates/workspace/.opencode/commands/ws-migrate.md +0 -18
  83. package/templates/workspace/.opencode/commands/ws-plan-verify.md +0 -18
  84. package/templates/workspace/.opencode/commands/ws-preflight.md +0 -35
  85. package/templates/workspace/.opencode/commands/ws-pull.md +0 -18
  86. package/templates/workspace/.opencode/commands/ws-push.md +0 -18
  87. package/templates/workspace/.opencode/commands/ws-quality-review.md +0 -30
  88. package/templates/workspace/.opencode/commands/ws-req-change.md +0 -45
  89. package/templates/workspace/.opencode/commands/ws-req-contract-sync.md +0 -21
  90. package/templates/workspace/.opencode/commands/ws-req-contract-validate.md +0 -16
  91. package/templates/workspace/.opencode/commands/ws-req-flow-sync.md +0 -23
  92. package/templates/workspace/.opencode/commands/ws-req-review.md +0 -36
  93. package/templates/workspace/.opencode/commands/ws-rule.md +0 -27
  94. package/templates/workspace/.opencode/commands/ws-spec-review.md +0 -30
  95. package/templates/workspace/.opencode/commands/ws-submodule-setup.md +0 -18
  96. package/templates/workspace/.opencode/commands/ws-verify-before-complete.md +0 -18
  97. package/templates/workspace/.opencode/skills/ws-handoff/SKILL.md +0 -18
  98. package/templates/workspace/.opencode/skills/ws-intake/SKILL.md +0 -80
@@ -1,23 +0,0 @@
1
- ---
2
- description: 私有:初始化:落盘 AIWS 真值与门禁文件
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:aiws-init -->
5
- # aiws init
6
-
7
- (私有原子入口;日常优先用 ws-* 链路。)
8
-
9
- 目标:
10
- - 生成/补齐真值文件与门禁文件(以 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md` 为准)
11
- - 写入/更新 `.gitignore` 的 aiws 托管块
12
- - 生成/更新 `.aiws/manifest.json`(用于漂移检测)
13
-
14
- 建议执行:
15
- 1) `npx @aipper/aiws init`
16
- 2) `npx @aipper/aiws validate`
17
-
18
- 约束:
19
- - 不写入任何 secrets
20
- - 只允许更新托管块(`AIWS_MANAGED_BEGIN/END`)或 spec 指定的 `replace_file` 文件
21
- <!-- AIWS_MANAGED_END:opencode:aiws-init -->
22
-
23
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,16 +0,0 @@
1
- ---
2
- description: 私有:回滚:从 .aiws/backups 恢复快照
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:aiws-rollback -->
5
- # aiws rollback
6
-
7
- (私有原子入口;日常优先用 ws-* 链路。)
8
-
9
- 目标:
10
- - 从 `.aiws/backups/` 恢复到某次备份快照
11
-
12
- 建议执行:
13
- - `npx @aipper/aiws rollback latest`
14
- <!-- AIWS_MANAGED_END:opencode:aiws-rollback -->
15
-
16
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,22 +0,0 @@
1
- ---
2
- description: 私有:更新:刷新模板与 tool-native 文件(先备份)
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:aiws-update -->
5
- # aiws update
6
-
7
- (私有原子入口;日常优先用 ws-* 链路。)
8
-
9
- 目标:
10
- - 基于当前 `@aipper/aiws-spec` 刷新模板与 tool-native 文件
11
- - 更新前备份到 `.aiws/backups/<timestamp>/`
12
-
13
- 建议执行:
14
- 1) `npx @aipper/aiws update`
15
- 2) `npx @aipper/aiws validate`
16
-
17
- 约束:
18
- - 不写入任何 secrets
19
- - 只更新托管块或 spec 指定的 `replace_file` 文件
20
- <!-- AIWS_MANAGED_END:opencode:aiws-update -->
21
-
22
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,17 +0,0 @@
1
- ---
2
- description: 私有:门禁:校验 required/托管块/漂移(可落盘 stamp)
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:aiws-validate -->
5
- # aiws validate
6
-
7
- (私有原子入口;日常优先用 ws-* 链路。)
8
-
9
- 目标:
10
- - 作为 CI/本地门禁:校验 required 文件结构、托管块、`.aiws/manifest.json` 漂移
11
- - 强门禁:缺 `python3`/缺 required 脚本也应失败
12
-
13
- 建议执行:
14
- - `npx @aipper/aiws validate`
15
- <!-- AIWS_MANAGED_END:opencode:aiws-validate -->
16
-
17
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,30 +0,0 @@
1
- ---
2
- description: 分析:实现前技术分析并落盘证据
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-analyze -->
5
- # ws analyze
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 目标:在开始实现/修复前做一次技术分析,产出可执行的最小行动清单,并把证据落盘到 `.agentdocs/tmp/analyze/`。
10
-
11
- 输入:
12
- - 主题/需求:`$ARGUMENTS`(若为空,先问用户一句“本次分析主题是什么?”)
13
-
14
- 步骤(建议):
15
- 1) 先运行 `/ws-preflight`。
16
- 2) 基于真值文件与当前代码现状,输出:
17
- - 目标 / 非目标
18
- - 现状证据(文件路径/接口路径)
19
- - 推荐方案(1 个)+ 备选(可选)
20
- - 风险与回滚(3–8 条)
21
- - 最小验证命令(可复现)
22
- 3) 将分析落盘到:`.agentdocs/tmp/analyze/opencode-analysis.md`(目录不存在则创建)。
23
- 4) 回复中必须包含:`Evidence:` 证据文件路径。
24
-
25
- 安全:
26
- - 不打印 secrets(尤其 `secrets/test-accounts.json`)。
27
- - 不执行破坏性命令。
28
- <!-- AIWS_MANAGED_END:opencode:ws-analyze -->
29
-
30
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,33 +0,0 @@
1
- ---
2
- description: 自动 bootstrap:检查 update、确保 watchdog 已启动,并给出下一步
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-auto -->
5
- # ws auto
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 目标:为当前 OpenCode 工作区执行一次显式 auto bootstrap,先补齐托管内容,再按条件启动 watchdog。
10
-
11
- 执行建议:
12
- 1) 先运行 `/ws-preflight`,确认 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md` 已读取。
13
- 2) 在项目根运行 `aiws opencode auto .`。
14
- 3) 输出:
15
- - `Auto Bootstrap:`
16
- - `Update:`
17
- - `OpenCode mode:`
18
- - `Watchdog:`
19
- - `Next:`
20
- 4) 若输出 `watchdog:` 为已启动状态:
21
- - 若当前任务意图明确:继续 `/using-aiws`、`/ws-plan`、`/ws-dev` 或 `/ws-review`
22
- - 若当前只是要声明自主协作合同:继续 `/ws-autonomy`
23
- 5) 若输出 `watchdog: skipped (...)`:
24
- - 明确写出原因
25
- - 不要假装已经进入 autonomous 模式
26
-
27
- 边界:
28
- - 允许通过 `aiws update .` 刷新 AIWS 托管内容。
29
- - 不自动复制 `.opencode/oh-my-opencode.json.example` 成真实配置。
30
- - 不自动批准 host permission,不自动执行 tmux rescue。
31
- <!-- AIWS_MANAGED_END:opencode:ws-auto -->
32
-
33
- 可在下方追加本项目对 auto bootstrap 的额外说明(托管块外内容会被保留)。
@@ -1,25 +0,0 @@
1
- ---
2
- description: 自主协作实验:声明 completion/retry/rescue 合同,并按需启用 tmux helper
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-autonomy -->
5
- # ws autonomy
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 目标:声明当前 OpenCode/oMo 任务的 autonomous execution mode,并写清 completion/retry/rescue 合同。
10
-
11
- 执行建议:
12
- 1) 先运行 `/ws-preflight`,再读取 `packages/spec/docs/opencode-autonomous-swarm.md` 与 `packages/spec/docs/opencode-omo-adapter.md`。
13
- 2) 输出:
14
- - `Execution Mode: single-agent / omo-native / omo-native + tmux-swarm`
15
- - `Completion Contract:`
16
- - `Retry Contract:`
17
- - `Rescue Policy:`
18
- - `Evidence:`
19
- 3) 若选择 `omo-native + tmux-swarm`:
20
- - 先运行 `.opencode/helpers/tmux-swarm-scan.sh`
21
- - 仅在需要安全白名单救援时运行 `.opencode/helpers/tmux-swarm-rescue.sh`
22
- 4) 明确这是实验层,不接管 runtime controller,不替代 `ws-plan` / `ws-dev` / `ws-review`。
23
- <!-- AIWS_MANAGED_END:opencode:ws-autonomy -->
24
-
25
- 可在下方追加本项目对 autonomous swarm 的额外说明(托管块外内容会被保留)。
@@ -1,35 +0,0 @@
1
- ---
2
- description: 缺陷修复:禅道 MCP 拉单、图片证据落盘并汇总 fix_bus_issues.csv
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-bugfix -->
5
- # ws bugfix
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 目标:
10
- - 通过禅道 MCP 拉单、图片证据落盘并汇总 `issues/fix_bus_issues.csv`。
11
-
12
- 建议流程:
13
- 1) 先运行 `/ws-preflight`。
14
- 2) 若当前不在 `change/<change-id>` 分支 / worktree,先建立 change 上下文:
15
- - 工作区先保持干净
16
- - 仓库已有提交:优先 `aiws change start <change-id> --hooks --switch`
17
- - superproject + submodule:优先 `aiws change start <change-id> --hooks --switch`
18
- - 仓库尚无提交 / 不满足 worktree 前置条件:回退 `aiws change start <change-id> --hooks --no-switch`
19
- 3) 若上一步创建了 worktree:后续 bug 证据、CSV 更新、`/ws-dev` 修复都必须在该 worktree 中继续。
20
- 4) 通过已配置 zentao MCP 拉取 bug 字段与附件列表。
21
- 5) 落盘证据到当前 active change 上下文的 `changes/<change-id>/bug/`:
22
- - `zentao-bug-<bug-id>.json`
23
- - `zentao-bug-<bug-id>.md`
24
- - `images/<bug-id>/...`
25
- 6) upsert 当前 active change 上下文中的 `issues/fix_bus_issues.csv`(主键 `Bug_ID`)。
26
- 7) 进入 `/ws-dev` 修复并回填 `Fix_Status/Verify_Command/Updated_At`。
27
- 8) 质量门:`aiws change validate <change-id> --strict` + `aiws validate . --stamp`。
28
-
29
- 强制约束:
30
- - 不自动 commit / push。
31
- - 不写入 secrets(token、cookie、内网地址)。
32
- - 无法复现时先输出阻塞信息并落盘,不直接改代码。
33
- <!-- AIWS_MANAGED_END:opencode:ws-bugfix -->
34
-
35
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,18 +0,0 @@
1
- ---
2
- description: 提交:门禁/审计后提交(submodule 感知)
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-commit -->
5
- # ws commit
6
-
7
- Thin CLI wrapper. Delegates to `aiws commit`.
8
-
9
- ```bash
10
- if [[ -x "./node_modules/.bin/aiws" ]]; then
11
- ./node_modules/.bin/aiws commit -m "<message>"
12
- elif command -v aiws >/dev/null 2>&1; then
13
- aiws commit -m "<message>"
14
- else
15
- npx @aipper/aiws commit -m "<message>"
16
- fi
17
- ```
18
- <!-- AIWS_MANAGED_END:opencode:ws-commit -->
@@ -1,33 +0,0 @@
1
- ---
2
- description: 委托:按 AIWS 合同拆分子任务,并优先借用 oMo agent
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-delegate -->
5
- # ws delegate
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 目标:先写清 delegation plan,再决定是否优先借用 `oh-my-opencode` 的 `planner-sisyphus` / `explore` / `librarian` / `oracle`;若不可用则回退,不阻断流程。
10
-
11
- 执行建议:
12
- 1) 先运行 `/ws-preflight`,再读取 `packages/spec/docs/workflow-delegation-contracts.md` 与 `packages/spec/docs/opencode-omo-adapter.md`。
13
- 2) 先写 `Delegation Plan:`,至少包含:
14
- - `role`
15
- - `preferred agent`
16
- - `task`
17
- - `readScope`
18
- - `writeScope`
19
- - `artifactTargets`
20
- - `fallback`
21
- 3) 若检测到 `.opencode/oh-my-opencode.json` 或当前会话明确可用相关 agent:
22
- - planning 优先 `planner-sisyphus`
23
- - 探索优先 `@explore` / `@librarian`
24
- - 独立审查优先 `@oracle`
25
- 4) 主 agent 统一收敛结果,并把产物回收到:
26
- - `changes/<id>/analysis/`
27
- - `changes/<id>/patches/`
28
- - `changes/<id>/review/`
29
- - `changes/<id>/evidence/`
30
- 5) 若 oMo agent 不可用:明确回退为普通 OpenCode delegation / 单 agent 执行。
31
- <!-- AIWS_MANAGED_END:opencode:ws-delegate -->
32
-
33
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,18 +0,0 @@
1
- ---
2
- description: 交付:submodules+superproject 分步提交并安全合并回 base
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-deliver -->
5
- # ws deliver
6
-
7
- Thin CLI wrapper. Delegates to `aiws deliver`.
8
-
9
- ```bash
10
- if [[ -x "./node_modules/.bin/aiws" ]]; then
11
- ./node_modules/.bin/aiws deliver -m "<message>"
12
- elif command -v aiws >/dev/null 2>&1; then
13
- aiws deliver -m "<message>"
14
- else
15
- npx @aipper/aiws deliver -m "<message>"
16
- fi
17
- ```
18
- <!-- AIWS_MANAGED_END:opencode:ws-deliver -->
@@ -1,18 +0,0 @@
1
- ---
2
- description: 交接:查看归档 change 的 handoff.md
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-handoff -->
5
- # ws handoff
6
-
7
- Thin CLI wrapper. Delegates to `aiws handoff`.
8
-
9
- ```bash
10
- if [[ -x "./node_modules/.bin/aiws" ]]; then
11
- ./node_modules/.bin/aiws handoff
12
- elif command -v aiws >/dev/null 2>&1; then
13
- aiws handoff
14
- else
15
- npx @aipper/aiws handoff
16
- fi
17
- ```
18
- <!-- AIWS_MANAGED_END:opencode:ws-handoff -->
@@ -1,22 +0,0 @@
1
- ---
2
- description: 计划前置澄清:逐条冻结问题并写入 intake 草案,再交给 ws-plan
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-intake -->
5
- # ws intake
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 目标:
10
- - 在正式 `/ws-plan` 前,先把需求里的待确认问题逐条澄清并冻结。
11
-
12
- 执行建议:
13
- 1) 先读取 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`。
14
- 2) 若存在最新 `plan/*.intake.md`,先续写;否则创建新的 intake 草案。
15
- 3) 把问题写成 `Open Questions`,状态只允许 `open / in_discussion / frozen / deferred`。
16
- 4) 每次只推进 1 条 `Current question`,允许围绕这 1 条问题多轮沟通。
17
- 5) 当前问题未标记为 `frozen` 或 `deferred` 前,不进入下一题。
18
- 6) 每轮都要把结论落到 `plan/<timestamp>-<slug>.intake.md`,并输出 `Ready for ws-plan: yes/no`。
19
- 7) 只有关键问题已冻结时,`Next` 才能进入 `/ws-plan`;否则继续 `/ws-intake`。
20
- <!-- AIWS_MANAGED_END:opencode:ws-intake -->
21
-
22
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,18 +0,0 @@
1
- ---
2
- description: 迁移:把仓库对齐到 aiws workspace 模板
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-migrate -->
5
- # ws migrate
6
-
7
- Thin CLI wrapper. Delegates to `aiws migrate`.
8
-
9
- ```bash
10
- if [[ -x "./node_modules/.bin/aiws" ]]; then
11
- ./node_modules/.bin/aiws migrate
12
- elif command -v aiws >/dev/null 2>&1; then
13
- aiws migrate
14
- else
15
- npx @aipper/aiws migrate
16
- fi
17
- ```
18
- <!-- AIWS_MANAGED_END:opencode:ws-migrate -->
@@ -1,18 +0,0 @@
1
- ---
2
- description: 计划质检:执行前检查并给出最小修正项。通过后标记 plan 阶段为 DONE
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-plan-verify -->
5
- # ws plan verify
6
-
7
- Thin CLI wrapper. Delegates to `aiws plan-verify`.
8
-
9
- ```bash
10
- if [[ -x "./node_modules/.bin/aiws" ]]; then
11
- ./node_modules/.bin/aiws plan-verify
12
- elif command -v aiws >/dev/null 2>&1; then
13
- aiws plan-verify
14
- else
15
- npx @aipper/aiws plan-verify
16
- fi
17
- ```
18
- <!-- AIWS_MANAGED_END:opencode:ws-plan-verify -->
@@ -1,35 +0,0 @@
1
- ---
2
- description: 预检:读取真值文件并输出约束摘要
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-preflight -->
5
- # ws preflight
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 目标:在开始任何“写代码/改配置/落盘文件”之前,对齐工作区真值文件,避免规则漂移。
10
-
11
- 执行步骤(强制):
12
- 1) 定位项目根目录(submodule 感知):
13
- - 优先:`git rev-parse --show-superproject-working-tree`(submodule 内上溯到 superproject 根)
14
- - 若为空:`git rev-parse --show-toplevel`
15
- - 若两者都失败:停止并让用户确认当前目录是否为项目根(不要猜测)。
16
- 2) 在项目根目录读取以下文件(存在则必须读取;缺失则明确报告缺失项,不要臆测内容):
17
- - `AI_PROJECT.md`
18
- - `REQUIREMENTS.md`
19
- - `AI_WORKSPACE.md`
20
- 3) 输出:
21
- - `Root:` <项目根路径>
22
- - `Found:` <实际读取到的文件列表>
23
- - `Missing:` <缺失文件列表>
24
- - `OpenCode mode:`
25
- - 若检测到 `.opencode/oh-my-opencode.json`:`oMo-enabled`
26
- - 否则:`standard-opencode`
27
- - 若为 `oMo-enabled`:附一句说明后续 `ws-plan` / `ws-review` / `ws-spec-review` / `ws-quality-review` / `ws-delegate` 会优先借用 oMo agent
28
- - `Key rules:` 3–8 条 bullet(范围/禁止项/必须产物/必须验证命令)
29
-
30
- 安全:
31
- - 不打印 secrets;遇到疑似敏感值只提示“存在风险”但不要复述原文。
32
- - 不执行破坏性命令。
33
- <!-- AIWS_MANAGED_END:opencode:ws-preflight -->
34
-
35
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,18 +0,0 @@
1
- ---
2
- description: 拉取:fast-forward 拉取并对齐 submodules(尽量避免 detached)
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-pull -->
5
- # ws pull
6
-
7
- Thin CLI wrapper. Delegates to `aiws pull`.
8
-
9
- ```bash
10
- if [[ -x "./node_modules/.bin/aiws" ]]; then
11
- ./node_modules/.bin/aiws pull
12
- elif command -v aiws >/dev/null 2>&1; then
13
- aiws pull
14
- else
15
- npx @aipper/aiws pull
16
- fi
17
- ```
18
- <!-- AIWS_MANAGED_END:opencode:ws-pull -->
@@ -1,18 +0,0 @@
1
- ---
2
- description: 推送:submodule 感知(先 submodules 后 superproject;fast-forward;不 force)
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-push -->
5
- # ws push
6
-
7
- Thin CLI wrapper. Delegates to `aiws push`.
8
-
9
- ```bash
10
- if [[ -x "./node_modules/.bin/aiws" ]]; then
11
- ./node_modules/.bin/aiws push
12
- elif command -v aiws >/dev/null 2>&1; then
13
- aiws push
14
- else
15
- npx @aipper/aiws push
16
- fi
17
- ```
18
- <!-- AIWS_MANAGED_END:opencode:ws-push -->
@@ -1,30 +0,0 @@
1
- ---
2
- description: 质量审查:行为回归 / 测试覆盖 / 实现质量
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-quality-review -->
5
- # ws quality review
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 目标:审查行为回归、边界条件、测试覆盖与实现质量。
10
-
11
- 步骤(建议):
12
- 1) 读取 `git diff`、已执行的验证结果和相关代码。
13
- - 若检测到 `.opencode/oh-my-opencode.json` 或当前会话明确可用 `oracle` / `explore`:优先按 `packages/spec/docs/opencode-omo-adapter.md` 借用这些 agent。
14
- - 质量/回归审查优先 `@oracle`;代码路径与影响面补充优先 `@explore`。
15
- 2) 检查:
16
- - 是否存在行为回归或明显 bug 风险
17
- - 边界条件 / 失败路径是否覆盖
18
- - 测试是否足以支撑当前改动
19
- 3) 将结论落盘到:
20
- - 默认:`changes/<change-id>/review/quality-review.md`
21
- - 回退:`.agentdocs/tmp/review/quality-review.md`
22
- 4) 输出:
23
- - `证据(Evidence):`
24
- - `主要发现(Findings):`
25
- - `测试缺口(Gaps):`
26
- - `下一步(Next):`
27
- 5) 若 oMo 不可用:回退为当前 agent 本地 quality review。
28
- <!-- AIWS_MANAGED_END:opencode:ws-quality-review -->
29
-
30
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,45 +0,0 @@
1
- ---
2
- description: 需求变更:更新 REQUIREMENTS 并同步执行合同
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-req-change -->
5
- # ws req change
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 目标:记录需求变更(更新 `REQUIREMENTS.md` + 追加 `requirements/CHANGELOG.md`),并同步/校验执行合同 `requirements/requirements-issues.csv`。
10
-
11
- 步骤(必须按顺序):
12
- 1) 读取:`AI_PROJECT.md`、`REQUIREMENTS.md`、`AI_WORKSPACE.md`、`requirements/CHANGELOG.md`(缺失则创建目录与文件)。
13
- 2) 先产出“拟变更方案”(不要立刻写文件):
14
- - 变更摘要(1–5 条)
15
- - 影响范围(API/鉴权/字段/状态码/测试边界)
16
- - 回滚思路(1–2 条)
17
- 3) 对比与冲突检查(强制,不写文件):
18
- - 对比“变更前 vs 拟变更后”的差异清单(新增/删除/语义变化)
19
- - 整理潜在冲突/不确定点(只列“最可能影响验收/实现”的,避免噪音)
20
- 4) 逐条澄清(强制,避免一次问完):
21
- - 若存在潜在冲突/不确定点:**本轮只问 1 个**最高优先级问题(给出 2–4 个可选答案或二选一),然后停止,等待用户回复;不要继续问下一题,也不要写文件。
22
- - 收到用户回复后:更新“拟变更方案”,回到步骤 3) 重新对比,直至没有未决问题。
23
- 5) 强制停下来让用户确认:是否继续落盘?(Y/N)
24
- 6) 用户确认 Y 后再写入:
25
- - 更新 `REQUIREMENTS.md`(只保留当前有效版本,不在此堆历史)
26
- - 追加 `requirements/CHANGELOG.md`
27
- 7) 同步/补齐需求执行合同(强制,自动处理 FlowSpec 有/无两种情况):
28
- - `python3 tools/requirements_contract_sync.py --workspace .`
29
- - 说明:若 `REQUIREMENTS.md` 中不存在 FlowSpec(或 flows 为空),该命令只会确保 `requirements/requirements-issues.csv` 表头存在并给出 WARN(这是预期行为,不要当成失败)。
30
- 8) 校验需求执行合同(强制):`python3 tools/requirements_contract.py validate`
31
- 9) 同步场景合同(可选,但若存在 FlowSpec 则强烈建议自动执行):
32
- - 若 `REQUIREMENTS.md` 同时包含 `<!-- FLOW_SPEC_BEGIN -->` 与 `<!-- FLOW_SPEC_END -->`:运行 `/ws-req-flow-sync`
33
- - 否则:跳过,并提示用户“可以先不维护 FlowSpec;后续需要场景回归时再补”
34
-
35
- 输出必须包含:
36
- - 本次更新的文件清单(路径)
37
- - 回滚方案(如何撤销本次需求变更)
38
- - 下一步建议命令
39
-
40
- 安全:
41
- - 不打印 `secrets/test-accounts.json`
42
- - 不引入任何 token/密钥到仓库
43
- <!-- AIWS_MANAGED_END:opencode:ws-req-change -->
44
-
45
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,21 +0,0 @@
1
- ---
2
- description: 合同同步:把 REQUIREMENTS FlowSpec 同步到 requirements-issues.csv
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-req-contract-sync -->
5
- # ws req contract sync
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 用途:从 `REQUIREMENTS.md` 的 FlowSpec 补齐 `requirements/requirements-issues.csv`(只生成骨架,不猜测完成状态)。
10
-
11
- 执行(在 workspace 根目录):
12
- - `python3 tools/requirements_contract_sync.py --workspace .`
13
-
14
- 输出要求:
15
- - 说明新增/更新了多少条
16
- - 明确下一步:手工补齐 CRUD/Inputs/Outputs/Business_Logic/Tests,并将可开工条目标为 `Spec_Status=READY`
17
-
18
- 下一步建议:`/ws-req-contract-validate`
19
- <!-- AIWS_MANAGED_END:opencode:ws-req-contract-sync -->
20
-
21
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,16 +0,0 @@
1
- ---
2
- description: 合同校验:校验 requirements-issues.csv 字段完整性
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-req-contract-validate -->
5
- # ws req contract validate
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 执行(失败则修正 CSV 后重试):
10
- - `python3 tools/requirements_contract.py validate`
11
-
12
- 输出要求:
13
- - 若失败:列出前 20 条缺失字段(Req_ID + field),并给出最小补齐建议
14
- <!-- AIWS_MANAGED_END:opencode:ws-req-contract-validate -->
15
-
16
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,23 +0,0 @@
1
- ---
2
- description: Flow 同步:从 REQUIREMENTS 生成 api-flow 与场景执行合同
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-req-flow-sync -->
5
- # ws req flow sync
6
-
7
- 用中文输出;命令与路径保持原样不翻译。
8
-
9
- 目标:基于 `REQUIREMENTS.md` 的 FlowSpec 生成:
10
- - `docs/api-flow.mmd`(简短逻辑图,Mermaid)
11
- - `issues/server-scenario-issues.csv`(场景执行合同:TODO/DONE/BLOCKED)
12
-
13
- 执行(在 workspace 根目录):
14
- `python3 tools/requirements_flow_gen.py --workspace .`
15
-
16
- 若缺少工具 `tools/requirements_flow_gen.py`:提示用户先运行 `npx @aipper/aiws init .`(默认会安装 optional tools)。
17
-
18
- 输出要求:只打印生成的文件路径与下一步命令:
19
- - 查看逻辑图:`cat docs/api-flow.mmd`
20
- - 查看场景合同:`cat issues/server-scenario-issues.csv`
21
- <!-- AIWS_MANAGED_END:opencode:ws-req-flow-sync -->
22
-
23
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,36 +0,0 @@
1
- ---
2
- description: 需求评审:对 REQUIREMENTS 做整体 QA(不改文件)
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-req-review -->
5
- # ws req review
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 目标:在不修改任何文件的前提下,对 `REQUIREMENTS.md` 做一次整体 QA,输出缺口/冲突/风险,减少实现漂移。
10
-
11
- 执行步骤(强制):
12
- 1) 定位项目根目录:先尝试 `git rev-parse --show-superproject-working-tree`(submodule 感知上溯);若为空再用 `git rev-parse --show-toplevel`。都失败则停止并让用户确认根目录。
13
- 2) 读取(存在则必须读取;缺失则明确列出,不要臆测):
14
- - `AI_PROJECT.md`
15
- - `REQUIREMENTS.md`
16
- - `AI_WORKSPACE.md`
17
- - `requirements/CHANGELOG.md`(若存在)
18
- - `requirements/requirements-issues.csv`(若存在)
19
- 3) 输出固定结构的报告:
20
-
21
- ## Requirements QA
22
- - 结论:是否可进入实现(是/否/有条件)
23
- - 漂移风险:最容易导致不一致的点
24
- - 可验收性缺口:缺少输入/输出/错误码/边界/示例的条目
25
- - 完整性:Non-goals/兼容性/鉴权/重试/并发/观测性/性能
26
- - 一致性:与 `AI_PROJECT.md` 约束冲突点
27
- - 可测试性与证据:最小验证命令 + 期望结果 + 证据路径
28
- - 风险清单:3–8 条
29
- - 需要澄清的问题:5–12 个(按优先级)
30
-
31
- 4) 最后询问用户:是否进入需求落盘流程 `/ws-req-change`?(Y/N)
32
-
33
- 安全:不打印 `secrets/test-accounts.json`。
34
- <!-- AIWS_MANAGED_END:opencode:ws-req-review -->
35
-
36
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
@@ -1,27 +0,0 @@
1
- ---
2
- description: 规则:把口述规则整理并写入 AI_PROJECT.md 托管段
3
- ---
4
- <!-- AIWS_MANAGED_BEGIN:opencode:ws-rule -->
5
- # ws rule
6
-
7
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
8
-
9
- 目标:把用户口述的“项目特有规则”整理成可执行条款,并写入 `AI_PROJECT.md` 的 `AI_PROJECT_RULES_BEGIN/END` 段(托管块外内容会被保留)。
10
-
11
- 安全规则(强制):
12
- - 不打印/不写入 secrets(token、密钥、内网地址、账号密码)。
13
- - 不执行破坏性命令。
14
-
15
- 工作流:
16
- 1) 先运行 `/ws-preflight`;若缺失 `AI_PROJECT.md`:提示用户先 `/ws-migrate` 或运行 `npx @aipper/aiws init .`。
17
- 2) 写入前创建备份(必须):
18
- `ts="$(date +%Y%m%d-%H%M%S)"; mkdir -p .aiws/backups/manual; cp -a AI_PROJECT.md .aiws/backups/manual/AI_PROJECT.md.bak.${ts}`
19
- 3) 先输出“将写入的规则清单”(3–12 条),并要求用户回复 `CONFIRM` 后再落盘。
20
- 4) 用户确认后,**仅更新** BEGIN/END 段内内容(合并去重;写成可检查条款:目录白名单/必须验证命令/禁止项/产物要求)。
21
- 5) 输出必须包含:
22
- - 更新了哪些文件(路径)
23
- - 回滚方式(恢复备份文件)
24
- - 下一步建议:`aiws validate .`
25
- <!-- AIWS_MANAGED_END:opencode:ws-rule -->
26
-
27
- 可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。