@aipper/aiws-spec 0.0.24 → 0.0.26

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 (252) hide show
  1. package/README.md +22 -0
  2. package/docs/aiws-bootstrap-routing-design.md +138 -0
  3. package/docs/aiws-governance-positioning.md +69 -0
  4. package/docs/cli-interface.md +91 -6
  5. package/docs/collaboration-artifacts.md +62 -0
  6. package/docs/opencode-omo-adapter.md +135 -0
  7. package/docs/opencode-omo-validation-checklist.md +90 -0
  8. package/docs/spec-contract.md +30 -22
  9. package/docs/superpowers-collaboration-adoption.md +92 -0
  10. package/docs/workflow-delegation-contracts.json +274 -0
  11. package/docs/workflow-delegation-contracts.md +248 -0
  12. package/docs/workflow-delegation-contracts.schema.json +176 -0
  13. package/docs/workflow-governance-rules.json +294 -0
  14. package/docs/workflow-governance-rules.md +63 -0
  15. package/docs/workflow-governance-rules.schema.json +182 -0
  16. package/docs/workflow-review-gates.json +72 -0
  17. package/docs/workflow-review-gates.md +36 -0
  18. package/docs/workflow-review-gates.schema.json +67 -0
  19. package/docs/workflow-router-rules.json +196 -0
  20. package/docs/workflow-router-rules.md +83 -0
  21. package/docs/workflow-router-rules.schema.json +119 -0
  22. package/docs/workflow-stage-contracts.json +148 -0
  23. package/docs/workflow-stage-contracts.md +70 -0
  24. package/docs/workflow-stage-contracts.schema.json +98 -0
  25. package/package.json +1 -1
  26. package/templates/workspace/.agents/skills/using-aiws/SKILL.md +87 -0
  27. package/templates/workspace/.agents/skills/ws-commit/SKILL.md +27 -1
  28. package/templates/workspace/.agents/skills/ws-delegate/SKILL.md +75 -0
  29. package/templates/workspace/.agents/skills/ws-deliver/SKILL.md +25 -4
  30. package/templates/workspace/.agents/skills/ws-dev/SKILL.md +35 -6
  31. package/templates/workspace/.agents/skills/ws-dev-lite/SKILL.md +58 -0
  32. package/templates/workspace/.agents/skills/ws-finish/SKILL.md +25 -12
  33. package/templates/workspace/.agents/skills/ws-frontend-design/SKILL.md +126 -0
  34. package/templates/workspace/.agents/skills/ws-handoff/SKILL.md +25 -4
  35. package/templates/workspace/.agents/skills/ws-plan/SKILL.md +25 -1
  36. package/templates/workspace/.agents/skills/ws-plan-verify/SKILL.md +20 -0
  37. package/templates/workspace/.agents/skills/ws-preflight/SKILL.md +23 -0
  38. package/templates/workspace/.agents/skills/ws-quality-review/SKILL.md +56 -0
  39. package/templates/workspace/.agents/skills/ws-review/SKILL.md +24 -0
  40. package/templates/workspace/.agents/skills/ws-spec-review/SKILL.md +57 -0
  41. package/templates/workspace/.agents/skills/ws-verify-before-complete/SKILL.md +59 -0
  42. package/templates/workspace/.aiws/manifest.json +2 -6
  43. package/templates/workspace/.claude/commands/using-aiws.md +25 -0
  44. package/templates/workspace/.claude/commands/ws-dev-lite.md +31 -0
  45. package/templates/workspace/.claude/commands/ws-finish.md +1 -1
  46. package/templates/workspace/.claude/commands/ws-handoff.md +3 -2
  47. package/templates/workspace/.claude/commands/ws-quality-review.md +24 -0
  48. package/templates/workspace/.claude/commands/ws-review.md +2 -2
  49. package/templates/workspace/.claude/commands/ws-spec-review.md +24 -0
  50. package/templates/workspace/.claude/commands/ws-verify-before-complete.md +24 -0
  51. package/templates/workspace/.claude/skills/p-aiws-change-archive/SKILL.md +24 -0
  52. package/templates/workspace/.claude/skills/p-aiws-change-finish/SKILL.md +24 -0
  53. package/templates/workspace/.claude/skills/p-aiws-change-list/SKILL.md +18 -0
  54. package/templates/workspace/.claude/skills/p-aiws-change-new/SKILL.md +26 -0
  55. package/templates/workspace/.claude/skills/p-aiws-change-next/SKILL.md +19 -0
  56. package/templates/workspace/.claude/skills/p-aiws-change-start/SKILL.md +33 -0
  57. package/templates/workspace/.claude/skills/p-aiws-change-status/SKILL.md +19 -0
  58. package/templates/workspace/.claude/skills/p-aiws-change-sync/SKILL.md +19 -0
  59. package/templates/workspace/.claude/skills/p-aiws-change-templates-init/SKILL.md +18 -0
  60. package/templates/workspace/.claude/skills/p-aiws-change-templates-which/SKILL.md +18 -0
  61. package/templates/workspace/.claude/skills/p-aiws-change-validate/SKILL.md +23 -0
  62. package/templates/workspace/.claude/skills/p-aiws-hooks-install/SKILL.md +30 -0
  63. package/templates/workspace/.claude/skills/p-aiws-hooks-status/SKILL.md +18 -0
  64. package/templates/workspace/.claude/skills/p-aiws-init/SKILL.md +27 -0
  65. package/templates/workspace/.claude/skills/p-aiws-rollback/SKILL.md +18 -0
  66. package/templates/workspace/.claude/skills/p-aiws-update/SKILL.md +26 -0
  67. package/templates/workspace/.claude/skills/p-aiws-validate/SKILL.md +22 -0
  68. package/templates/workspace/.claude/skills/p-tasks-plan/SKILL.md +37 -0
  69. package/templates/workspace/.claude/skills/using-aiws/SKILL.md +87 -0
  70. package/templates/workspace/.claude/skills/ws-analyze/SKILL.md +26 -0
  71. package/templates/workspace/.claude/skills/ws-bugfix/SKILL.md +111 -0
  72. package/templates/workspace/.claude/skills/ws-commit/SKILL.md +130 -0
  73. package/templates/workspace/.claude/skills/ws-deliver/SKILL.md +230 -0
  74. package/templates/workspace/.claude/skills/ws-dev/SKILL.md +168 -0
  75. package/templates/workspace/.claude/skills/ws-dev-lite/SKILL.md +58 -0
  76. package/templates/workspace/.claude/skills/ws-finish/SKILL.md +209 -0
  77. package/templates/workspace/.claude/skills/ws-frontend-design/SKILL.md +126 -0
  78. package/templates/workspace/.claude/skills/ws-handoff/SKILL.md +52 -0
  79. package/templates/workspace/.claude/skills/ws-migrate/SKILL.md +54 -0
  80. package/templates/workspace/.claude/skills/ws-plan/SKILL.md +138 -0
  81. package/templates/workspace/.claude/skills/ws-plan-verify/SKILL.md +61 -0
  82. package/templates/workspace/.claude/skills/ws-preflight/SKILL.md +55 -0
  83. package/templates/workspace/.claude/skills/ws-pull/SKILL.md +119 -0
  84. package/templates/workspace/.claude/skills/ws-push/SKILL.md +110 -0
  85. package/templates/workspace/.claude/skills/ws-quality-review/SKILL.md +56 -0
  86. package/templates/workspace/.claude/skills/ws-req-change/SKILL.md +41 -0
  87. package/templates/workspace/.claude/skills/ws-req-contract-sync/SKILL.md +17 -0
  88. package/templates/workspace/.claude/skills/ws-req-contract-validate/SKILL.md +12 -0
  89. package/templates/workspace/.claude/skills/ws-req-flow-sync/SKILL.md +28 -0
  90. package/templates/workspace/.claude/skills/ws-req-review/SKILL.md +32 -0
  91. package/templates/workspace/.claude/skills/ws-review/SKILL.md +50 -0
  92. package/templates/workspace/.claude/skills/ws-rule/SKILL.md +23 -0
  93. package/templates/workspace/.claude/skills/ws-spec-review/SKILL.md +57 -0
  94. package/templates/workspace/.claude/skills/ws-submodule-setup/SKILL.md +65 -0
  95. package/templates/workspace/.claude/skills/ws-verify-before-complete/SKILL.md +59 -0
  96. package/templates/workspace/.githooks/commit-msg +10 -0
  97. package/templates/workspace/.opencode/command/using-aiws.md +30 -0
  98. package/templates/workspace/.opencode/command/ws-delegate.md +33 -0
  99. package/templates/workspace/.opencode/command/ws-dev-lite.md +34 -0
  100. package/templates/workspace/.opencode/command/ws-finish.md +1 -1
  101. package/templates/workspace/.opencode/command/ws-handoff.md +4 -3
  102. package/templates/workspace/.opencode/command/ws-plan.md +3 -0
  103. package/templates/workspace/.opencode/command/ws-preflight.md +4 -0
  104. package/templates/workspace/.opencode/command/ws-quality-review.md +30 -0
  105. package/templates/workspace/.opencode/command/ws-review.md +5 -2
  106. package/templates/workspace/.opencode/command/ws-spec-review.md +30 -0
  107. package/templates/workspace/.opencode/command/ws-verify-before-complete.md +27 -0
  108. package/templates/workspace/.opencode/commands/p-aiws-change-archive.md +27 -0
  109. package/templates/workspace/.opencode/commands/p-aiws-change-finish.md +27 -0
  110. package/templates/workspace/.opencode/commands/p-aiws-change-list.md +26 -0
  111. package/templates/workspace/.opencode/commands/p-aiws-change-new.md +27 -0
  112. package/templates/workspace/.opencode/commands/p-aiws-change-next.md +27 -0
  113. package/templates/workspace/.opencode/commands/p-aiws-change-start.md +27 -0
  114. package/templates/workspace/.opencode/commands/p-aiws-change-status.md +27 -0
  115. package/templates/workspace/.opencode/commands/p-aiws-change-sync.md +27 -0
  116. package/templates/workspace/.opencode/commands/p-aiws-change-templates-init.md +26 -0
  117. package/templates/workspace/.opencode/commands/p-aiws-change-templates-which.md +26 -0
  118. package/templates/workspace/.opencode/commands/p-aiws-change-validate.md +27 -0
  119. package/templates/workspace/.opencode/commands/p-aiws-hooks-install.md +26 -0
  120. package/templates/workspace/.opencode/commands/p-aiws-hooks-status.md +26 -0
  121. package/templates/workspace/.opencode/commands/p-aiws-init.md +23 -0
  122. package/templates/workspace/.opencode/commands/p-aiws-rollback.md +16 -0
  123. package/templates/workspace/.opencode/commands/p-aiws-update.md +22 -0
  124. package/templates/workspace/.opencode/commands/p-aiws-validate.md +17 -0
  125. package/templates/workspace/.opencode/commands/using-aiws.md +30 -0
  126. package/templates/workspace/.opencode/commands/ws-analyze.md +30 -0
  127. package/templates/workspace/.opencode/commands/ws-bugfix.md +35 -0
  128. package/templates/workspace/.opencode/commands/ws-commit.md +70 -0
  129. package/templates/workspace/.opencode/commands/ws-delegate.md +33 -0
  130. package/templates/workspace/{.iflow/commands/ws-deliver.toml → .opencode/commands/ws-deliver.md} +13 -13
  131. package/templates/workspace/.opencode/commands/ws-dev-lite.md +34 -0
  132. package/templates/workspace/.opencode/commands/ws-dev.md +36 -0
  133. package/templates/workspace/{.iflow/commands/ws-finish.toml → .opencode/commands/ws-finish.md} +46 -29
  134. package/templates/workspace/.opencode/commands/ws-handoff.md +26 -0
  135. package/templates/workspace/.opencode/commands/ws-migrate.md +25 -0
  136. package/templates/workspace/.opencode/commands/ws-plan-verify.md +28 -0
  137. package/templates/workspace/.opencode/commands/ws-plan.md +27 -0
  138. package/templates/workspace/.opencode/commands/ws-preflight.md +34 -0
  139. package/templates/workspace/.opencode/commands/ws-pull.md +87 -0
  140. package/templates/workspace/.opencode/commands/ws-push.md +93 -0
  141. package/templates/workspace/.opencode/commands/ws-quality-review.md +30 -0
  142. package/templates/workspace/.opencode/commands/ws-req-change.md +45 -0
  143. package/templates/workspace/.opencode/commands/ws-req-contract-sync.md +21 -0
  144. package/templates/workspace/.opencode/commands/ws-req-contract-validate.md +16 -0
  145. package/templates/workspace/.opencode/commands/ws-req-flow-sync.md +23 -0
  146. package/templates/workspace/.opencode/commands/ws-req-review.md +36 -0
  147. package/templates/workspace/.opencode/commands/ws-review.md +33 -0
  148. package/templates/workspace/.opencode/commands/ws-rule.md +27 -0
  149. package/templates/workspace/.opencode/commands/ws-spec-review.md +30 -0
  150. package/templates/workspace/.opencode/commands/ws-submodule-setup.md +57 -0
  151. package/templates/workspace/.opencode/commands/ws-verify-before-complete.md +27 -0
  152. package/templates/workspace/.opencode/oh-my-opencode.json.example +17 -0
  153. package/templates/workspace/.opencode/skills/p-aiws-change-archive/SKILL.md +24 -0
  154. package/templates/workspace/.opencode/skills/p-aiws-change-finish/SKILL.md +24 -0
  155. package/templates/workspace/.opencode/skills/p-aiws-change-list/SKILL.md +18 -0
  156. package/templates/workspace/.opencode/skills/p-aiws-change-new/SKILL.md +26 -0
  157. package/templates/workspace/.opencode/skills/p-aiws-change-next/SKILL.md +19 -0
  158. package/templates/workspace/.opencode/skills/p-aiws-change-start/SKILL.md +33 -0
  159. package/templates/workspace/.opencode/skills/p-aiws-change-status/SKILL.md +19 -0
  160. package/templates/workspace/.opencode/skills/p-aiws-change-sync/SKILL.md +19 -0
  161. package/templates/workspace/.opencode/skills/p-aiws-change-templates-init/SKILL.md +18 -0
  162. package/templates/workspace/.opencode/skills/p-aiws-change-templates-which/SKILL.md +18 -0
  163. package/templates/workspace/.opencode/skills/p-aiws-change-validate/SKILL.md +23 -0
  164. package/templates/workspace/.opencode/skills/p-aiws-hooks-install/SKILL.md +30 -0
  165. package/templates/workspace/.opencode/skills/p-aiws-hooks-status/SKILL.md +18 -0
  166. package/templates/workspace/.opencode/skills/p-aiws-init/SKILL.md +27 -0
  167. package/templates/workspace/.opencode/skills/p-aiws-rollback/SKILL.md +18 -0
  168. package/templates/workspace/.opencode/skills/p-aiws-update/SKILL.md +26 -0
  169. package/templates/workspace/.opencode/skills/p-aiws-validate/SKILL.md +22 -0
  170. package/templates/workspace/.opencode/skills/p-tasks-plan/SKILL.md +37 -0
  171. package/templates/workspace/.opencode/skills/using-aiws/SKILL.md +91 -0
  172. package/templates/workspace/.opencode/skills/ws-analyze/SKILL.md +26 -0
  173. package/templates/workspace/.opencode/skills/ws-bugfix/SKILL.md +111 -0
  174. package/templates/workspace/.opencode/skills/ws-commit/SKILL.md +130 -0
  175. package/templates/workspace/.opencode/skills/ws-delegate/SKILL.md +63 -0
  176. package/templates/workspace/.opencode/skills/ws-deliver/SKILL.md +230 -0
  177. package/templates/workspace/.opencode/skills/ws-dev/SKILL.md +168 -0
  178. package/templates/workspace/.opencode/skills/ws-dev-lite/SKILL.md +58 -0
  179. package/templates/workspace/.opencode/skills/ws-finish/SKILL.md +209 -0
  180. package/templates/workspace/.opencode/skills/ws-frontend-design/SKILL.md +126 -0
  181. package/templates/workspace/.opencode/skills/ws-handoff/SKILL.md +52 -0
  182. package/templates/workspace/.opencode/skills/ws-migrate/SKILL.md +54 -0
  183. package/templates/workspace/.opencode/skills/ws-plan/SKILL.md +148 -0
  184. package/templates/workspace/.opencode/skills/ws-plan-verify/SKILL.md +61 -0
  185. package/templates/workspace/.opencode/skills/ws-preflight/SKILL.md +60 -0
  186. package/templates/workspace/.opencode/skills/ws-pull/SKILL.md +119 -0
  187. package/templates/workspace/.opencode/skills/ws-push/SKILL.md +110 -0
  188. package/templates/workspace/.opencode/skills/ws-quality-review/SKILL.md +63 -0
  189. package/templates/workspace/.opencode/skills/ws-req-change/SKILL.md +41 -0
  190. package/templates/workspace/.opencode/skills/ws-req-contract-sync/SKILL.md +17 -0
  191. package/templates/workspace/.opencode/skills/ws-req-contract-validate/SKILL.md +12 -0
  192. package/templates/workspace/.opencode/skills/ws-req-flow-sync/SKILL.md +28 -0
  193. package/templates/workspace/.opencode/skills/ws-req-review/SKILL.md +32 -0
  194. package/templates/workspace/.opencode/skills/ws-review/SKILL.md +57 -0
  195. package/templates/workspace/.opencode/skills/ws-rule/SKILL.md +23 -0
  196. package/templates/workspace/.opencode/skills/ws-spec-review/SKILL.md +64 -0
  197. package/templates/workspace/.opencode/skills/ws-submodule-setup/SKILL.md +65 -0
  198. package/templates/workspace/.opencode/skills/ws-verify-before-complete/SKILL.md +59 -0
  199. package/templates/workspace/AGENTS.md +74 -30
  200. package/templates/workspace/AI_PROJECT.md +1 -1
  201. package/templates/workspace/AI_WORKSPACE.md +1 -1
  202. package/templates/workspace/changes/README.md +25 -4
  203. package/templates/workspace/changes/templates/proposal.md +15 -0
  204. package/templates/workspace/changes/templates/tasks.md +9 -2
  205. package/templates/workspace/manifest.json +340 -82
  206. package/templates/workspace/memory-bank/README.md +1 -2
  207. package/templates/workspace/tools/ws_change_check.py +26 -4
  208. package/templates/workspace/.iflow/agents/feature-reviewer.md +0 -27
  209. package/templates/workspace/.iflow/agents/requirements-analyst.md +0 -24
  210. package/templates/workspace/.iflow/agents/server-commit-manager.md +0 -28
  211. package/templates/workspace/.iflow/agents/server-fix-implementer.md +0 -31
  212. package/templates/workspace/.iflow/agents/server-test-planner.md +0 -28
  213. package/templates/workspace/.iflow/agents/server-test-triager.md +0 -30
  214. package/templates/workspace/.iflow/commands/aiws-init.toml +0 -24
  215. package/templates/workspace/.iflow/commands/aiws-rollback.toml +0 -18
  216. package/templates/workspace/.iflow/commands/aiws-update.toml +0 -23
  217. package/templates/workspace/.iflow/commands/aiws-validate.toml +0 -18
  218. package/templates/workspace/.iflow/commands/server-commit.toml +0 -27
  219. package/templates/workspace/.iflow/commands/server-drain.toml +0 -99
  220. package/templates/workspace/.iflow/commands/server-fix-and-commit.toml +0 -27
  221. package/templates/workspace/.iflow/commands/server-fix.toml +0 -65
  222. package/templates/workspace/.iflow/commands/server-test-plan.toml +0 -62
  223. package/templates/workspace/.iflow/commands/server-test.toml +0 -58
  224. package/templates/workspace/.iflow/commands/server-triage.toml +0 -38
  225. package/templates/workspace/.iflow/commands/server_test-plan.toml +0 -12
  226. package/templates/workspace/.iflow/commands/server_test.toml +0 -12
  227. package/templates/workspace/.iflow/commands/ws-analyze.toml +0 -33
  228. package/templates/workspace/.iflow/commands/ws-commit.toml +0 -46
  229. package/templates/workspace/.iflow/commands/ws-contract-check.toml +0 -69
  230. package/templates/workspace/.iflow/commands/ws-dev.toml +0 -34
  231. package/templates/workspace/.iflow/commands/ws-doctor.toml +0 -141
  232. package/templates/workspace/.iflow/commands/ws-env-doctor.toml +0 -74
  233. package/templates/workspace/.iflow/commands/ws-feature-deliver.toml +0 -44
  234. package/templates/workspace/.iflow/commands/ws-feature-plan.toml +0 -47
  235. package/templates/workspace/.iflow/commands/ws-init.toml +0 -53
  236. package/templates/workspace/.iflow/commands/ws-memory-bank-init.toml +0 -100
  237. package/templates/workspace/.iflow/commands/ws-migrate.toml +0 -59
  238. package/templates/workspace/.iflow/commands/ws-preflight.toml +0 -30
  239. package/templates/workspace/.iflow/commands/ws-pull.toml +0 -47
  240. package/templates/workspace/.iflow/commands/ws-push.toml +0 -40
  241. package/templates/workspace/.iflow/commands/ws-req-change.toml +0 -64
  242. package/templates/workspace/.iflow/commands/ws-req-contract-sync.toml +0 -25
  243. package/templates/workspace/.iflow/commands/ws-req-contract-validate.toml +0 -16
  244. package/templates/workspace/.iflow/commands/ws-req-flow-sync.toml +0 -36
  245. package/templates/workspace/.iflow/commands/ws-req-review.toml +0 -56
  246. package/templates/workspace/.iflow/commands/ws-review.toml +0 -33
  247. package/templates/workspace/.iflow/commands/ws-rule.toml +0 -43
  248. package/templates/workspace/.iflow/commands/ws-submodule-setup.toml +0 -32
  249. package/templates/workspace/tools/iflow_watchdog.sh +0 -138
  250. package/templates/workspace/tools/install_iflow_watchdog_systemd_user.sh +0 -118
  251. package/templates/workspace/tools/systemd/iflow-watchdog@.service +0 -16
  252. package/templates/workspace/tools/systemd/iflow-watchdog@.timer +0 -11
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: ws-req-contract-sync
3
+ description: 合同同步(requirements contract sync)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 用途:从 `REQUIREMENTS.md` 的 FlowSpec 补齐 `requirements/requirements-issues.csv`(只生成骨架,不猜测完成状态)。
9
+
10
+ 执行(在 workspace 根目录):
11
+ - `python3 tools/requirements_contract_sync.py --workspace .`
12
+
13
+ 输出要求:
14
+ - 说明新增/更新了多少条
15
+ - 明确下一步:手工补齐 CRUD/Inputs/Outputs/Business_Logic/Tests,并将可开工条目标为 `Spec_Status=READY`
16
+
17
+ 下一步建议:`$ws-req-contract-validate`
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: ws-req-contract-validate
3
+ description: 合同校验(requirements contract validate)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 执行(失败则修正 CSV 后重试):
9
+ - `python3 tools/requirements_contract.py validate`
10
+
11
+ 输出要求:
12
+ - 若失败:列出前 20 条缺失字段(Req_ID + field),并给出最小补齐建议
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: ws-req-flow-sync
3
+ description: Flow 同步(生成 api-flow 与场景执行合同)
4
+ ---
5
+
6
+ 用中文输出;命令与路径保持原样不翻译。
7
+
8
+ 目标:基于 `REQUIREMENTS.md` 的 FlowSpec 生成:
9
+ - `docs/api-flow.mmd`(简短逻辑图,Mermaid)
10
+ - `issues/server-scenario-issues.csv`(场景执行合同:TODO/DONE/BLOCKED)
11
+
12
+ 执行(在 workspace 根目录):
13
+ `python3 tools/requirements_flow_gen.py --workspace .`
14
+
15
+ 若缺少工具 `tools/requirements_flow_gen.py`:提示用户先运行 `$aiws-init`(默认会安装 optional tools),或执行:
16
+ ```bash
17
+ if [[ -x "./node_modules/.bin/aiws" ]]; then
18
+ ./node_modules/.bin/aiws init .
19
+ elif command -v aiws >/dev/null 2>&1; then
20
+ aiws init .
21
+ else
22
+ npx @aipper/aiws init .
23
+ fi
24
+ ```
25
+
26
+ 输出要求:只打印生成的文件路径与下一步命令:
27
+ - 查看逻辑图:`cat docs/api-flow.mmd`
28
+ - 查看场景合同:`cat issues/server-scenario-issues.csv`
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: ws-req-review
3
+ description: 需求评审(对齐真值与验收)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 目标:在不修改任何文件的前提下,对 `REQUIREMENTS.md` 做一次整体 QA,输出缺口/冲突/风险,减少实现漂移。
9
+
10
+ 执行步骤(强制):
11
+ 1) 定位项目根目录:`git rev-parse --show-toplevel`(失败则停止并让用户确认根目录)。
12
+ 2) 读取(存在则必须读取;缺失则明确列出,不要臆测):
13
+ - `AI_PROJECT.md`
14
+ - `REQUIREMENTS.md`
15
+ - `AI_WORKSPACE.md`
16
+ - `requirements/CHANGELOG.md`(若存在)
17
+ - `requirements/requirements-issues.csv`(若存在)
18
+ 3) 输出固定结构的报告:
19
+
20
+ ## Requirements QA
21
+ - 结论:是否可进入实现(是/否/有条件)
22
+ - 漂移风险:最容易导致不一致的点
23
+ - 可验收性缺口:缺少输入/输出/错误码/边界/示例的条目
24
+ - 完整性:Non-goals/兼容性/鉴权/重试/并发/观测性/性能
25
+ - 一致性:与 `AI_PROJECT.md` 约束冲突点
26
+ - 可测试性与证据:最小验证命令 + 期望结果 + 证据路径
27
+ - 风险清单:3–8 条
28
+ - 需要澄清的问题:5–12 个(按优先级)
29
+
30
+ 4) 最后询问用户:是否进入需求落盘流程 `$ws-req-change`?(Y/N)
31
+
32
+ 安全:不打印 `secrets/test-accounts.json`。
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: ws-review
3
+ description: 评审(提交前审计与证据落盘)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 目标:在提交/交付前审计当前改动,对照真值文件检查是否越界,并把审计证据优先落盘到 `changes/<change-id>/review/`(若无法确定 `change-id` 再回退 `.agentdocs/tmp/review/`)。
9
+
10
+ OpenCode + oMo 优先策略:
11
+ - 若检测到 `.opencode/oh-my-opencode.json`,或当前会话明确可用 `oracle` / `explore` / `librarian`,优先借用这些 agent 做 review。
12
+ - `@oracle` 优先负责独立审查与 findings;`@explore` 用于补 diff 影响面;`@librarian` 用于补 requirements / docs / 依赖上下文。
13
+ - 主 agent 必须负责把 findings 收敛并落盘,不要把子 agent 输出直接当最终 review 结论。
14
+
15
+ 阶段定位:
16
+ - review 阶段;负责对当前改动做规范、风险和验证完整性的审计。
17
+
18
+ 必需输入:
19
+ - 当前 `git status` / `git diff`
20
+ - 已执行的验证结果
21
+ - 真值文件:`AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`
22
+ - 当前 `change/<change-id>` 上下文(若能识别)
23
+ - 若存在:`changes/<change-id>/analysis/`、`patches/`、已有 `review/` 文件
24
+
25
+ 必需输出:
26
+ - 审计文件:`changes/<change-id>/review/codex-review.md` 或回退 `.agentdocs/tmp/review/codex-review.md`
27
+ - `主要风险(Top risks):` 3-8 条
28
+ - `下一步(Next):` 最小修复清单 + 最小验证命令
29
+
30
+ 阻断条件:
31
+ - 没有可审计的改动或验证上下文
32
+ - 审计证据无法写盘
33
+
34
+ 完成判定:
35
+ - 审计证据已落盘,主要风险和下一步已明确,可作为 commit/deliver 前置输入。
36
+
37
+ 步骤(建议):
38
+ 1) 先做 preflight:定位项目根目录,读取 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`,输出约束摘要。
39
+ - 若检测到 oMo:优先让 `@oracle` 做独立审查;必要时再让 `@explore` / `@librarian` 补上下文。
40
+ 2) 基于 `git status` / `git diff`(以及你实际运行过的测试结果),对照 `AI_PROJECT.md` 与 `REQUIREMENTS.md` 检查:
41
+ - 是否存在越界目录改动/危险操作
42
+ - 是否有可复现验证命令与证据
43
+ - 是否维护了 `changes/<change-id>/` 或相关 `issues/*.csv`
44
+ - 若存在 `analysis/` / `patches/`:审查这些委托工件是否已被主 agent 理解、是否需要采用/拒绝,并把结论写入 review 文件
45
+ 3) 将审计落盘到(目录不存在则创建):
46
+ - 默认:`changes/<change-id>/review/codex-review.md`
47
+ - 回退:`.agentdocs/tmp/review/codex-review.md`(仅在无法确定 `change-id` 时使用)
48
+ - 若已有其它 reviewer 文件:不要覆盖它们;当前 reviewer 应写自己的文件或更新自己的汇总文件
49
+ 4) 回复中输出:
50
+ - `证据(Evidence):` 证据文件路径
51
+ - `主要风险(Top risks):` 3–8 条(高→低)
52
+ - `下一步(Next):` 最小修复清单 + 最小验证命令
53
+
54
+ 安全:
55
+ - 不打印 secrets。
56
+ - 不执行破坏性命令。
57
+ - 若 oMo agent 不可用,回退为当前 agent 本地 review,不阻断流程。
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: ws-rule
3
+ description: 规则(解释项目规则与边界)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 目标:把用户口述的“项目特有规则”整理成可执行条款,并写入 `AI_PROJECT.md` 的 `AI_PROJECT_RULES_BEGIN/END` 段(托管块外内容会被保留)。
9
+
10
+ 安全规则(强制):
11
+ - 不打印/不写入 secrets(token、密钥、内网地址、账号密码)。
12
+ - 不执行破坏性命令。
13
+
14
+ 工作流:
15
+ 1) 先做 preflight;若缺失 `AI_PROJECT.md`:提示用户先 `$ws-migrate`(或 `$aiws-init`)。
16
+ 2) 写入前创建备份(必须):
17
+ `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}`
18
+ 3) 先输出“将写入的规则清单”(3–12 条),并要求用户回复 `CONFIRM` 后再落盘。
19
+ 4) 用户确认后,**仅更新** BEGIN/END 段内内容(合并去重;写成可检查条款:目录白名单/必须验证命令/禁止项/产物要求)。
20
+ 5) 输出必须包含:
21
+ - 更新了哪些文件(路径)
22
+ - 回滚方式(恢复备份文件)
23
+ - 下一步建议:`$aiws-validate`
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: ws-spec-review
3
+ description: 规范审查(requirements / plan / evidence / gate 完整性)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 目标:
9
+ - 审查当前改动是否满足真值文件、change 绑定、证据路径和 gate 完整性要求
10
+ - 把“流程/规范层 blocker”与“代码层问题”区分开,优先落盘到 `changes/<change-id>/review/spec-review.md`
11
+
12
+ OpenCode + oMo 优先策略:
13
+ - 若检测到 `.opencode/oh-my-opencode.json`,或当前会话明确可用 `oracle` / `librarian`,优先借用它们做 spec / gate 审查。
14
+ - `@oracle` 优先负责 requirements / gate / evidence 独立审查;`@librarian` 负责补文档、规范、依赖与路径真值。
15
+ - 主 agent 负责把 blocker / warning / next 收敛到最终 review 文件。
16
+
17
+ 阶段定位:
18
+ - review 子 gate;负责 requirements / plan / evidence / workflow gate 完整性审查。
19
+
20
+ 必需输入:
21
+ - `AI_PROJECT.md`
22
+ - `REQUIREMENTS.md`
23
+ - `AI_WORKSPACE.md`
24
+ - 当前 `git diff`
25
+ - 若存在:`plan/...`、`changes/<change-id>/proposal.md`、`tasks.md`、`review/`、`evidence/`
26
+
27
+ 必需输出:
28
+ - `证据(Evidence):` `changes/<change-id>/review/spec-review.md` 或回退 `.agentdocs/tmp/review/spec-review.md`
29
+ - `阻断项(Blockers):` requirements 归因 / gate / evidence 缺口
30
+ - `下一步(Next):` 修复项与最小验证命令
31
+
32
+ 阻断条件:
33
+ - 无法定位项目根或真值文件
34
+ - 无法判断当前 change / 归因上下文
35
+ - 无法写 review 证据
36
+
37
+ 完成判定:
38
+ - 已落盘 spec review 证据,且明确指出 blocker / warning / next。
39
+
40
+ 步骤(建议):
41
+ 1) 先运行 `$ws-preflight`。
42
+ - 若检测到 oMo:优先让 `@oracle` 做 spec review 草稿;需要补规范上下文时再调用 `@librarian`。
43
+ 2) 对照 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md` 检查:
44
+ - 当前改动能否归因到 `Req_ID` / `Problem_ID`
45
+ - `plan/...`、`proposal.md`、`tasks.md`、`evidence/` 是否与改动保持一致
46
+ - 是否存在越界目录改动、危险操作、未声明的非目标扩张
47
+ - 是否已经准备好可复现验证入口
48
+ 3) 把结论落盘到:
49
+ - 默认:`changes/<change-id>/review/spec-review.md`
50
+ - 回退:`.agentdocs/tmp/review/spec-review.md`
51
+ 4) 输出:
52
+ - `证据(Evidence):`
53
+ - `阻断项(Blockers):`
54
+ - `警告(Warnings):`
55
+ - `下一步(Next):`
56
+
57
+ 重点:
58
+ - 这是 spec / gate review,不是代码质量 review。
59
+ - 若发现实现质量或回归问题,转交给 `$ws-quality-review`。
60
+
61
+ 安全:
62
+ - 不打印 secrets。
63
+ - 不执行破坏性命令。
64
+ - 若 oMo agent 不可用,回退为当前 agent 本地 spec review。
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: ws-submodule-setup
3
+ description: 子模块分支对齐(写入 .gitmodules 的 submodule.<name>.branch;减少 detached 与人为差异)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 目标:
9
+ - 为每个 submodule 写入 `.gitmodules` 的 `submodule.<name>.branch`,让 `ws-pull` / `ws-finish` 能确定性地“挂回分支/fast-forward push”,避免 origin 多分支时靠猜导致偏差。
10
+ - 该变更是 **superproject 的团队真值**:需要提交 `.gitmodules`。
11
+
12
+ 安全约束(强制):
13
+ - 不自动提交、不自动 push(必须先输出 diff 并让用户确认)
14
+ - 不在 submodule 中做破坏性操作(不 `reset --hard` / 不改动远端)
15
+
16
+ 步骤(建议):
17
+ 1) 确认工作区干净(否则停止):
18
+ ```bash
19
+ git status --porcelain
20
+ ```
21
+
22
+ 2) 列出 submodules(没有则停止并说明无需配置):
23
+ ```bash
24
+ test -f .gitmodules || { echo "no .gitmodules"; exit 0; }
25
+ git config --file .gitmodules --get-regexp '^submodule\\..*\\.path$'
26
+ ```
27
+
28
+ 3) 对每个 submodule,输出当前配置与建议分支(让用户确认每个 submodule 的 branch):
29
+ ```bash
30
+ while read -r key sub_path; do
31
+ name="${key#submodule.}"; name="${name%.path}"
32
+ echo "== submodule: ${name} path=${sub_path} =="
33
+ echo "[current] branch=$(git config --file .gitmodules --get submodule.${name}.branch || true)"
34
+ echo "[origin] HEAD=$(git -C \"${sub_path}\" symbolic-ref --short refs/remotes/origin/HEAD 2>/dev/null || true)"
35
+ git -C "${sub_path}" branch -r --list "origin/*" | sed -n '1,30p' || true
36
+ echo "[choose] set one of:"
37
+ echo " - a concrete branch, e.g. main / master / release/x.y"
38
+ echo " - '.' to follow superproject current branch name (only if your team uses matching branch names)"
39
+ done < <(git config --file .gitmodules --get-regexp '^submodule\\..*\\.path$')
40
+ ```
41
+
42
+ 4) 逐个写入分支配置(每次写完都回显,避免误配):
43
+ ```bash
44
+ # Example:
45
+ # git submodule set-branch --branch main path/to/submodule
46
+ # git submodule set-branch --branch . path/to/submodule
47
+ ```
48
+
49
+ 5) 输出变更并让用户确认是否提交:
50
+ ```bash
51
+ git diff -- .gitmodules
52
+ git status --porcelain
53
+ ```
54
+
55
+ 6) 若用户确认要提交:
56
+ ```bash
57
+ git add .gitmodules
58
+ git commit -m "chore(submodule): set tracking branches"
59
+ ```
60
+
61
+ 输出要求:
62
+ - `Submodules:` name/path + 选择的 branch(每个都列出)
63
+ - `Diff:` `.gitmodules` 的 diff(或至少 `git diff -- .gitmodules` 的摘要)
64
+ - `Next:` 提示后续用 `$ws-pull` 拉取可自动减少 detached;`aiws validate` 会检查该配置是否齐全
65
+
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: ws-verify-before-complete
3
+ description: 完成前验证(finish / handoff 前检查双审查与 validate/evidence 是否齐全)
4
+ ---
5
+
6
+ 用中文输出(命令/路径/代码标识符保持原样不翻译)。
7
+
8
+ 目标:
9
+ - 在进入 `$ws-finish` / `$ws-handoff` 前,检查 review、validate stamp 和证据是否齐全
10
+ - 输出明确的 pass/fail 结论,避免“看起来完成了但 gate 没过”的伪完成
11
+
12
+ 阶段定位:
13
+ - finish 前 gate;负责 completion readiness 检查,不直接做 merge / push / handoff。
14
+
15
+ 必需输入:
16
+ - `changes/<change-id>/review/spec-review.md`
17
+ - `changes/<change-id>/review/quality-review.md`
18
+ - `.agentdocs/tmp/aiws-validate/*.json`
19
+ - 若存在:`changes/<change-id>/evidence/...`、`git status`
20
+
21
+ 必需输出:
22
+ - `证据(Evidence):` `changes/<change-id>/evidence/verify-before-complete.md` 或回退 `.agentdocs/tmp/review/verify-before-complete.md`
23
+ - `结论(Result):` pass / fail
24
+ - `缺失项(Missing):` 未满足的 gate
25
+ - `下一步(Next):` 进入 `$ws-finish` / `$ws-handoff`,或回退前置 gate
26
+
27
+ 阻断条件:
28
+ - 缺少 spec review
29
+ - 缺少 quality review
30
+ - 缺少 validate stamp
31
+ - review 中仍有未关闭 blocker
32
+ - 无法写 verification 证据
33
+
34
+ 完成判定:
35
+ - 已落盘 verify-before-complete 证据,并明确能否进入 `$ws-finish` / `$ws-handoff`。
36
+
37
+ 步骤(建议):
38
+ 1) 识别当前 `change/<change-id>`。
39
+ 2) 检查以下最小 gate:
40
+ - `changes/<change-id>/review/spec-review.md`
41
+ - `changes/<change-id>/review/quality-review.md`
42
+ - `.agentdocs/tmp/aiws-validate/*.json`
43
+ 3) 若存在 `changes/<change-id>/evidence/`,检查是否已经收敛 review / validate / collaboration summary。
44
+ 4) 将结果落盘到:
45
+ - 默认:`changes/<change-id>/evidence/verify-before-complete.md`
46
+ - 回退:`.agentdocs/tmp/review/verify-before-complete.md`
47
+ 5) 输出:
48
+ - `证据(Evidence):`
49
+ - `结论(Result): pass|fail`
50
+ - `缺失项(Missing):`
51
+ - `下一步(Next):`
52
+
53
+ 重点:
54
+ - 这个 gate 不替代 `$ws-finish`;它只判断“是否具备进入 finish / handoff 的前置条件”。
55
+ - 若 fail,必须明确回退到哪个 gate:`$ws-spec-review`、`$ws-quality-review`、`aiws validate . --stamp` 或 `aiws change evidence <change-id>`。
56
+
57
+ 安全:
58
+ - 不打印 secrets。
59
+ - 不执行破坏性命令。
@@ -5,36 +5,80 @@
5
5
  3) `AI_WORKSPACE.md`(运行/测试入口真值)
6
6
  4) `changes/README.md`(变更工件流程与归档)
7
7
 
8
- 协作约束(建议最小集):
9
- - 每次变更使用分支 `change/<change-id>`,并维护 `changes/<change-id>/proposal.md`、`tasks.md`(可选 `design.md`)
10
- - 启用本机门禁(推荐):`aiws hooks install .`(或手工:`git config core.hooksPath .githooks`;`git commit`/`git push` 会自动跑 `aiws validate .`)
11
- - 启用 hooks 后,`.githooks/commit-msg` 默认提示优先使用中文 commit message;如需强制,可执行:`git config aiws.commitMessagePolicy strict`
12
- - 提交前校验(强制门禁):`aiws validate .`(包含:漂移检测 + `ws_change_check` + `requirements_contract`)
13
- - Codex(推荐):本仓库内置 repo skills:`.agents/skills/`(可显式 `$ws-dev`,也可隐式套用工作流)
14
- - Codex skills 命名约定:`ws-*` 为常用链路入口;`p-*` 为私有原子入口(一般不需要直接调用)。
15
- - Codex skills(常用,一句话说明):
16
- - `$ws-preflight`:预检(读取真值文件并输出约束摘要)
17
- - `$ws-submodule-setup`:子模块分支对齐(写入 `.gitmodules` 的 `submodule.<name>.branch`)
18
- - `$ws-plan`:规划(生成可落盘 `plan/` 工件;供 `$ws-dev` 执行)
19
- - `$ws-plan-verify`:计划质检(执行前检查计划是否过长/跑偏)
20
- - `$p-tasks-plan`:原子:tasks 同步(从 `changes/<id>/tasks.md` 生成 `update_plan` payload)
21
- - `$ws-dev`:开发(按需求实现并验证;适用于任何需要修改代码/配置的任务)
22
- - `$ws-bugfix`:缺陷修复(禅道 MCP 拉单 + 图片证据落盘 + `issues/fix_bus_issues.csv` 汇总)
23
- - `$ws-pull`:拉取并对齐 submodules(尽量避免 detached;减少人为差异)
24
- - `$ws-push`:推送(submodule 感知:先 submodules 后 superproject;fast-forward 安全)
25
- - `$ws-review`:评审(提交前审计;证据优先落盘到 `changes/<change-id>/review/`)
26
- - `$ws-commit`:提交(先审计/门禁再 commit;submodule 感知)
27
- - `$ws-handoff`:交接(归档后生成/查看 `changes/archive/.../handoff.md`,便于跨会话接力)
28
- - `$p-aiws-init`:初始化工作区(生成真值文件与门禁)
29
- - `$p-aiws-validate`:校验工作区(漂移检测 + 门禁)
30
- - `$p-aiws-hooks-install`:启用 git hooks 门禁(`core.hooksPath=.githooks`)
31
- - `$p-aiws-change-new`:创建 `changes/<change-id>` 工件
32
- - Codex CLI(推荐,可选):安装全局 skills:`npx @aipper/aiws codex install-skills`(写入 `~/.codex/skills/` 或 `$CODEX_HOME/skills`)
33
- - Codex CLI(遗留,可选):安装全局 prompts:`npx @aipper/aiws codex install-prompts`(写入 `~/.codex/prompts/` 或 `$CODEX_HOME/prompts`;prompts 已 deprecated)
34
- - 不要把敏感信息写入 git:`secrets/test-accounts.json`、`.env*`、token、内网地址等
35
-
36
- 如果缺文件:运行 `npx @aipper/aiws init`(或 `aiws init`)。
37
- (如你仍在使用 dotfiles 的 `ws` wrappers,也可用 `ws init/ws migrate`;但本模板默认不依赖 dotfiles。)
8
+ 最小协作约束:
9
+ - 不确定先跑 `/using-aiws`(Codex 对应 `$using-aiws`);它会先读真值,再把任务路由到合适的 `ws-*` 入口。
10
+ - 若你已经明确只是做预检,也可以直接跑 `/ws-preflight`(Codex 对应 `$ws-preflight`);所有实现/修复都以 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md` 为准。
11
+ - 每次变更建议进入 `change/<change-id>`,并维护 `changes/<change-id>/proposal.md`、`tasks.md`(可选 `design.md`)。
12
+ - 若仓库存在 `.gitmodules`:优先 `aiws change start <change-id> --worktree`;不要在当前 superproject worktree 里直接切分支。
13
+ - 提交前执行 `aiws validate .`;需要本机门禁时运行 `aiws hooks install .`(或 `git config core.hooksPath .githooks`)。
14
+ - 不要把敏感信息写入 git:`secrets/test-accounts.json`、`.env*`、token、内网地址等。
15
+
16
+ 标准链路(建议默认):
17
+ - `using-aiws`:默认 bootstrap/router;先读真值,先判 workflow,再进入具体阶段;意图不明确时先澄清。
18
+ - `ws-preflight`:读取真值文件,输出约束摘要;若真值缺失,先停止,不直接开工。
19
+ - `ws-plan`:建立 `change/<change-id>` 绑定,落盘 `plan/...`,明确 Verify / Risks / Evidence。
20
+ - `ws-plan-verify`:在编码前做计划质检;不过门禁就先修 plan,不跳步进实现。
21
+ - `ws-dev`:只做可归因、可验证的小步实现;输出 Changed / Verify / Evidence。
22
+ - `ws-dev-lite`:`ws-dev` 的轻量入口;适用于 simple/local 单点修复,默认不建 `plan/...`、不跑 `ws-plan-verify`,治理归属仍收敛到 `ws-dev`。
23
+ - `ws-delegate`:仅在任务已绑定且 scope 可控时,使用原生多 agent / sub-agent;否则明确降级为单 agent + 协同工件模式。
24
+ - `ws-review`:对当前改动做通用审计;高风险或准备交付时,继续细化到 `ws-spec-review` + `ws-quality-review`。
25
+ - `ws-spec-review`:审查 requirements 归因、plan/change 绑定、evidence 与 workflow gate 完整性。
26
+ - `ws-quality-review`:审查行为回归、边界条件、测试覆盖与实现质量。
27
+ - `ws-commit`:串联 review + validate stamp + commit message 确认;不跳过 hooks。
28
+ - `ws-verify-before-complete`:在 finish / handoff 前检查双审查、validate stamp 与交付证据是否齐全。
29
+ - `ws-deliver` / `ws-finish`:做交付收尾、fast-forward 合并、submodule 感知 push,并在完整 finish 后自动归档。
30
+ - `ws-handoff`:查看/补充归档后的 handoff,给下一次会话或下一位协作者接力。
31
+
32
+ 阶段产物(最少):
33
+ - planning:`plan/...`、`changes/<change-id>/proposal.md`、`tasks.md`
34
+ - implementation:代码 / 配置改动 + Verify 命令记录
35
+ - collaboration:`changes/<change-id>/analysis/...`、`patches/...`、`review/...`
36
+ - review:`changes/<change-id>/review/...` 或回退 `.agentdocs/tmp/review/...`
37
+ - validate:`.agentdocs/tmp/aiws-validate/*.json`
38
+ - handoff / archive:`changes/<change-id>/evidence/...`、`changes/archive/.../handoff.md`
39
+
40
+ OpenCode(如果你主要用 OpenCode,优先):
41
+ - native skills 在 `.opencode/skills/`;native commands 在 `.opencode/commands/`
42
+ - 若项目启用了 `.opencode/oh-my-opencode.json`:`ws-plan` / `ws-review` / `ws-spec-review` / `ws-quality-review` / `ws-delegate` 会优先借用 oMo 的 `planner-sisyphus` / `explore` / `librarian` / `oracle`
43
+ - 若你想按项目固定这组 agent,可参考 `.opencode/oh-my-opencode.json.example`;它只覆盖 `agents`,不接管 hooks/MCP/LSP
44
+ - 常用手动入口继续保留在 `.opencode/commands/`(migration window 内 `.opencode/command/` 也会保留);直接使用 `/ws-*`
45
+ - 若你不确定当前任务该先 plan、dev、review 还是 finish:先用 `/using-aiws`
46
+ - `/ws-preflight`:读取真值文件并输出约束摘要
47
+ - `/ws-plan` / `/ws-plan-verify`:先生成计划,再做执行前质检
48
+ - `/ws-dev`:常规实现/改配置/改测试
49
+ - `/ws-dev-lite`:小问题直修;若复杂度升高,立刻回到 `/ws-dev` 或 `/ws-plan`
50
+ - `/ws-delegate`:按 AIWS 委托合同拆分子任务,并优先借用 oMo agent
51
+ - `/ws-bugfix`:缺陷修复 + 证据落盘 + CSV 汇总
52
+ - `/ws-review` / `/ws-commit`:提交前审计、门禁与 commit
53
+ - `/ws-spec-review` / `/ws-quality-review`:高风险改动建议显式拆成流程审查 + 质量审查
54
+ - `/ws-verify-before-complete`:finish / handoff 前检查双审查和 validate/evidence
55
+ - `/ws-finish` / `/ws-deliver`:交付收尾(fast-forward / submodule 感知)
56
+ - `/ws-pull` / `/ws-push` / `/ws-submodule-setup`:submodule 场景辅助
57
+ - `/p-aiws-*` 为底层原子入口;模板会同时写入 `.opencode/commands/` 与 `.opencode/command/`,一般不需要直接调用
58
+
59
+ Claude Code(如果你主要用 Claude Code):
60
+ - native skills 在 `.claude/skills/`;command-style 兼容入口保留在 `.claude/commands/`
61
+ - 常用链路可按 `ws-*` / `p-aiws-*` 理解;native skills 与 compatibility commands 指向同一套 AIWS workflow
62
+ - 若你不确定当前任务该走哪个阶段:先用 `/using-aiws`
63
+ - 高风险改动或准备 finish 时,建议额外跑 `/ws-spec-review`、`/ws-quality-review`、`/ws-verify-before-complete`
64
+
65
+ Codex(对应入口,可选):
66
+ - 若你不想先记住阶段,先用 `$using-aiws` 让 router 判定下一步
67
+ - 对应入口在 `.agents/skills/`;显式调用时使用 `$ws-*`
68
+ - `$using-aiws`
69
+ - `$ws-preflight` / `$ws-plan` / `$ws-plan-verify` / `$ws-dev` / `$ws-dev-lite` / `$ws-delegate` / `$ws-frontend-design`
70
+ - `$ws-review` / `$ws-spec-review` / `$ws-quality-review` / `$ws-commit`
71
+ - `$ws-verify-before-complete` / `$ws-finish` / `$ws-deliver`
72
+ - `$ws-pull` / `$ws-push` / `$ws-submodule-setup`
73
+ - 其它入口见 `.agents/skills/`:`ws-*` 为常用链路;`p-*` 为底层原子入口,一般不需要直接调用
74
+
75
+ Codex 全局入口(可选):
76
+ - `npx @aipper/aiws codex install-skills`(推荐;安装全局 skills)
77
+ - `npx @aipper/aiws codex install-prompts`(遗留兼容;prompts 已 deprecated)
78
+
79
+ 缺文件或模板漂移时:
80
+ - `npx @aipper/aiws init`(初始化)
81
+ - `npx @aipper/aiws update`(按模板更新托管内容)
38
82
  <!-- AIWS_MANAGED_END:agents -->
39
83
 
40
84
  你可以在本段下方追加项目自定义说明;`aiws update` 不会改动托管块以外内容。
@@ -3,7 +3,7 @@
3
3
  <!-- AIWS_MANAGED_BEGIN:ai-project:core -->
4
4
  <!-- AI_PROJECT_VERSION: 2 -->
5
5
 
6
- 本文件用于在**具体项目/工作区**内统一 Codex / Claude / OpenCode / iFlow 的执行约束与协作方式,避免多套规则各写一份导致漂移。
6
+ 本文件用于在**具体项目/工作区**内统一 Codex / Claude / OpenCode 的执行约束与协作方式,避免多套规则各写一份导致漂移。
7
7
 
8
8
  定位:
9
9
  - `REQUIREMENTS.md`:定义“要做什么/验收是什么”(需求真值)
@@ -32,7 +32,7 @@
32
32
 
33
33
  <!-- AIWS_MANAGED_BEGIN:ai-workspace:core -->
34
34
 
35
- 本文件描述“AI Workspace(多子项目工作区)”的结构与运行方式,供 Codex / Claude / OpenCode / iFlow 共同读取。
35
+ 本文件描述“AI Workspace(多子项目工作区)”的结构与运行方式,供 Codex / Claude / OpenCode 共同读取。
36
36
 
37
37
  ## 1) 目录发现规则
38
38
 
@@ -15,11 +15,22 @@ changes/
15
15
  proposal.md
16
16
  design.md # 可选
17
17
  tasks.md
18
+ analysis/ # 可选:外部/子 agent 的分析结论(只读输入)
19
+ patches/ # 可选:外部/子 agent 的 patch 草案(不自动应用)
20
+ review/ # 可选:多个 reviewer 的审查结果
21
+ evidence/ # 推荐:交付前收敛出的持久证据
18
22
  .ws-change.json
19
23
  archive/
20
24
  YYYY-MM-DD-<change-id>/
21
25
  ```
22
26
 
27
+ 协同工件约定:
28
+ - `analysis/`:存放委托分析报告、调研结论、备选方案。默认视为“只读输入”,不要把它当作已实施结果。
29
+ - `patches/`:存放 patch / diff 草案。主 agent 或人工必须先审查,再决定是否应用;不要把该目录内容视为已经进代码库。
30
+ - `review/`:允许多名 reviewer 并行落盘,例如 `codex-review.md`、`reviewer-a.md`、`reviewer-b.md`。
31
+ - `evidence/`:存放 validate 总结、delivery summary、collaboration summary 等可持久引用的交付证据。
32
+ - `aiws change new <change-id>` 会预创建以上目录,减少临时约定漂移。
33
+
23
34
  常用命令(推荐使用 `aiws`;不依赖 dotfiles):
24
35
  - `aiws change start <change-id>`(默认:切到 `change/<change-id>` 并初始化工件目录;若检测到 `.gitmodules` 则默认优先使用 worktree,失败则回退为不切分支,避免 submodule 状态混乱)
25
36
  - `aiws change start <change-id> --no-switch`(superproject + submodule 场景:不切分支,仅准备 `change/<change-id>` 分支与工件目录)
@@ -28,18 +39,19 @@ changes/
28
39
  - 可选:`--worktree-dir <path>` 覆盖 worktree 目录
29
40
  - 可选:`--submodules` 在 worktree 内执行 `git submodule update --init --recursive`
30
41
  - `aiws change finish <change-id>`(安全合并:fast-forward 合并回目标分支;在 `change/<change-id>` 分支上执行时会尝试使用 `.ws-change.json` 的 `base_branch` 作为目标分支)
31
- - `aiws change finish <change-id> --push [--remote <name>]`(最小收尾闭环:若存在 `.gitmodules` 则先按 `changes/<id>/submodules.targets` 顺序 push submodule,再 push 目标分支;默认优先遵循 upstream 配置;若 `change/<change-id>` 位于独立 worktree,且该 worktree 干净,则在 push 成功后自动执行 worktree cleanup;含 submodule worktree 会因 Git 原生限制在 clean-check 后内部走 `git worktree remove --force`)
42
+ - `aiws change finish <change-id> --push [--remote <name>]`(最小收尾闭环:若存在 `.gitmodules` 则先按 `changes/<id>/submodules.targets` 顺序 push submodule,再 push 目标分支;默认优先遵循 upstream 配置;若 `change/<change-id>` 位于独立 worktree,且该 worktree 干净,则在 push 成功后自动执行 worktree cleanup,并把 `changes/<id>/` 自动归档到 `changes/archive/...`,同时生成 `handoff.md` archive commit)
32
43
  - `aiws change new <change-id>`
33
44
  - `aiws change list`
34
45
  - `aiws change status <change-id>`
35
46
  - `aiws change next <change-id>`
36
47
  - `aiws change validate <change-id>`
37
48
  - `aiws change sync <change-id>`
38
- - `aiws change archive <change-id>`
49
+ - `aiws change archive <change-id>`(手工恢复 / 历史兼容入口;标准链路一般不需要单独执行)
50
+ - `aiws change evidence <change-id>`(收敛 review / validate / collaboration summary 到 `changes/<id>/evidence/`)
39
51
 
40
52
  Active change(推荐,团队共享):
41
53
  - 使用分支名声明当前变更:`change/<change-id>`(也支持 `changes/`、`ws/`、`ws-change/`)
42
- - 切到该分支后,可省略 `<change-id>` 执行:`aiws change status|next|validate|sync|archive`
54
+ - 切到该分支后,可省略 `<change-id>` 执行:`aiws change status|next|validate|sync`
43
55
 
44
56
  计划质量门(推荐,执行前):
45
57
  - 先生成计划:`$ws-plan`(若尚未进入 `change/<change-id>` 上下文,应先由它调用 `aiws change start <change-id>` 建立分支 / worktree,再在该上下文内写 `plan/...`)
@@ -62,7 +74,10 @@ Active change(推荐,团队共享):
62
74
 
63
75
  Hooks/CI(推荐,硬约束):
64
76
  - 工作区会安装 `.githooks/{commit-msg,pre-commit,pre-push}`:
65
- - `commit-msg`:默认提示优先使用中文 commit message;若执行 `git config aiws.commitMessagePolicy strict`,则会拒绝全英文首行(`Merge/Revert/fixup!/squash!` 例外)
77
+ - `commit-msg`:默认行为按仓库角色区分
78
+ - superproject / root 仓库(存在 `.gitmodules`):默认 `off`,允许自由 commit message
79
+ - submodule / 普通仓库:默认 `warn`,提示优先使用中文 commit message
80
+ - 若执行 `git config aiws.commitMessagePolicy strict`,则会拒绝全英文首行(`Merge/Revert/fixup!/squash!` 例外)
66
81
  - `pre-commit` / `pre-push`:默认执行 `aiws validate .`
67
82
  - 还会安装门禁脚本(`tools/ws_change_check.py`、`tools/requirements_contract.py`)。
68
83
  - **启用 hooks 需要本地配置**(不会自动提交到 git):
@@ -76,3 +91,9 @@ Hooks/CI(推荐,硬约束):
76
91
  - 完成后在主工作区(例如 `main`)执行:`aiws change finish <change-id>`(等价于 `git merge --ff-only change/<change-id>`)
77
92
  - 若还要顺手 push 并清理独立 change worktree:`aiws change finish <change-id> --push`
78
93
  - 若失败:先在 worktree 里 `git rebase main`(或更新 main 后再 rebase),再重试 `--ff-only`
94
+
95
+ 协同交付建议:
96
+ - 委托分析先落到 `changes/<id>/analysis/`,由主 agent 在 `ws-review` 或 `review/*.md` 中收敛结论。
97
+ - patch 草案先落到 `changes/<id>/patches/`,未经审查不要直接应用。
98
+ - 交付前建议执行:`aiws change evidence <change-id>`,让 `delivery-summary` 与 `collaboration-summary` 一起落到 `changes/<id>/evidence/`。
99
+ - finish 自动归档后生成的 `handoff.md` 会包含协同工件摘要,便于下一次会话继续接力。
@@ -45,6 +45,20 @@
45
45
 
46
46
  - <!-- WS:TODO 逐条写清要改什么(行为/接口/数据/配置);BREAKING 请标注 -->
47
47
 
48
+ ## 协同与委托(可选)
49
+
50
+ - `analysis/`:
51
+ - <!-- WS:TODO 如需委托分析,写明预计产物;例如 `changes/<change-id>/analysis/research-a.md` -->
52
+ - `patches/`:
53
+ - <!-- WS:TODO 如需外部 patch 草案,写明预计文件;例如 `changes/<change-id>/patches/fix-a.patch` -->
54
+ - `review/`:
55
+ - <!-- WS:TODO 如需多审查者,写明 reviewer 文件命名或汇总策略 -->
56
+
57
+ > 规则:
58
+ > - `analysis/` 产物默认只作为输入依据,不等于实现完成。
59
+ > - `patches/` 中的 patch 草案不自动应用,必须经主 agent 或人工审查。
60
+ > - 交付前建议把协同结果收敛到 `review/` 或 `evidence/`,并回填 `Evidence_Path`。
61
+
48
62
  ## 影响范围(Scope)
49
63
 
50
64
  ### In Scope(本次改动范围)
@@ -95,3 +109,4 @@
95
109
  - 证据落盘(推荐双层):
96
110
  - 持久(建议入库):`changes/<change-id>/evidence/...`(例如 validate 总结、review 总结、关键日志摘要)
97
111
  - 临时(可忽略入库):`.agentdocs/tmp/...`(例如 `aiws validate . --stamp` 的 JSON)
112
+ - 协同(按需):`changes/<change-id>/analysis/...`、`patches/...`、`review/...`
@@ -25,6 +25,12 @@
25
25
  - [ ] 2.1 <!-- WS:TODO -->
26
26
  - [ ] 2.2 <!-- WS:TODO -->
27
27
 
28
+ ## 2A. 协同(可选)
29
+
30
+ - [ ] 2A.1 若使用委托分析:把结果落盘到 `changes/{{CHANGE_ID}}/analysis/`
31
+ - [ ] 2A.2 若使用 patch 草案:把结果落盘到 `changes/{{CHANGE_ID}}/patches/`,并记录是否采用
32
+ - [ ] 2A.3 若存在多审查者:把审查结果落盘到 `changes/{{CHANGE_ID}}/review/`
33
+
28
34
  ## 3. 验证(必须可复现)
29
35
 
30
36
  - [ ] 3.1 <!-- WS:TODO 写具体命令(来自 AI_WORKSPACE.md) -->
@@ -33,5 +39,6 @@
33
39
  ## 4. 交付与归档
34
40
 
35
41
  - [ ] 4.1 证据落盘到 `.agentdocs/tmp/...`(报告/日志/请求响应等)
36
- - [ ] 4.2 交叉审计(可选但推荐):在 AI 工具内运行 `/ws-review`(或按 `AI_PROJECT.md` 手工审计)
37
- - [ ] 4.3 归档:`aiws change archive {{CHANGE_ID}}`
42
+ - [ ] 4.2 生成持久证据:`aiws change evidence {{CHANGE_ID}}`
43
+ - [ ] 4.3 交叉审计(可选但推荐):在 AI 工具内运行 `/ws-review`(或按 `AI_PROJECT.md` 手工审计)
44
+ - [ ] 4.4 收尾:`aiws change finish {{CHANGE_ID}} --push`(成功后自动归档并生成 handoff)