@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
@@ -1,100 +0,0 @@
1
- # Command: ws:memory-bank-init
2
- # Description: 初始化 memory-bank/(用于固定上下文,避免会话跑偏)
3
- # Category: workspace
4
- # Version: 1
5
-
6
- description = "初始化 memory-bank/(用于固定上下文,避免会话跑偏)"
7
-
8
- prompt = """
9
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
10
-
11
- 目标:在当前 git workspace 根目录创建/更新 `memory-bank/` 的模板文件(非需求真值),用于固定工程上下文。
12
-
13
- 执行:
14
- !{bash -lc '
15
- set -euo pipefail
16
-
17
- ws_root="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
18
- cd "$ws_root"
19
-
20
- mkdir -p memory-bank
21
-
22
- write_if_missing() {
23
- local p="$1"
24
- shift
25
- if [[ -f "$p" ]]; then
26
- echo "OK: exists: $p"
27
- return 0
28
- fi
29
- mkdir -p "$(dirname "$p")"
30
- cat >"$p" <<EOF
31
- $*
32
- EOF
33
- echo "OK: created: $p"
34
- }
35
-
36
- write_if_missing "memory-bank/README.md" "# Memory Bank(工作区上下文)
37
-
38
- 目的:给 iFlow/Codex/Claude 一个“固定且可持续更新”的上下文集合,避免每次会话重新讲一遍导致跑偏。
39
-
40
- 在你的工作区中:
41
- - \`REQUIREMENTS.md\` 仍是**需求真值**(不要复制到这里)。
42
- - \`AI_PROJECT.md\` / \`AI_WORKSPACE.md\` 是**边界与运行真值**。
43
- - 本目录补齐的是“实现过程中的稳定上下文”(更偏工程视角)。
44
-
45
- 建议规则:
46
- - 改代码前:先看 \`REQUIREMENTS.md\` + \`AI_PROJECT.md\` + \`AI_WORKSPACE.md\`,再结合本目录的 \`architecture.md\`/\`progress.md\`。
47
- - 每次完成一个可验证的小步:更新 \`progress.md\`(写清:做了什么、证据路径、下一步)。
48
- - 发生重大结构变化:更新 \`architecture.md\`(只写高层关系,不要堆细节)。
49
- "
50
-
51
- write_if_missing "memory-bank/tech-stack.md" "# Tech Stack
52
-
53
- 填写原则:只写“确实在用且影响决策”的信息,避免长篇大论。
54
-
55
- 建议包含:
56
- - 语言/运行时版本(例如 Java/Node/Python)
57
- - 构建工具链(Gradle/Maven、pnpm、uv 等)
58
- - 关键框架与约束(Spring Boot、Ktor、Vue、React 等)
59
- - 数据层(DB/Redis/MQ)与迁移方式
60
- - 本地/测试环境切换方式(引用 \`AI_WORKSPACE.md\` 的命令即可)
61
- "
62
-
63
- write_if_missing "memory-bank/architecture.md" "# Architecture
64
-
65
- 目标:记录“模块关系与关键边界”,让新的会话可以快速对齐代码布局。
66
-
67
- 建议包含:
68
- - 目录/模块分层(例如 server/web/app)
69
- - 核心数据流(请求入口 → service → repo → DB)
70
- - 关键约束(鉴权、request-id、幂等、事务)
71
- "
72
-
73
- write_if_missing "memory-bank/implementation-plan.md" "# Implementation Plan
74
-
75
- 目标:把需求拆成可验证的小步(每步都有验证命令与期望结果)。
76
-
77
- 模板(示例字段):
78
- - Step 1: …
79
- - Scope:
80
- - Files:
81
- - Verify: \`...\`
82
- - Expected:
83
- "
84
-
85
- write_if_missing "memory-bank/progress.md" "# Progress
86
-
87
- 每次完成一个可验证小步就追加一条:
88
-
89
- - YYYY-MM-DD HH:MM: 做了什么(关联 Issue_ID/验收项)
90
- - Changed: \`path/to/file\`
91
- - Verify: \`command\`
92
- - Evidence: \`path/to/log_or_report\`
93
- - Next:
94
- "
95
- '}
96
-
97
- 说明:
98
- - `REQUIREMENTS.md` 仍是需求真值;不要把需求复制进 memory-bank。
99
- - 建议完成后立刻执行:`/ws-contract-check`(让 pre_tool_guard 放行写入类工具)。
100
- """
@@ -1,59 +0,0 @@
1
- # Command: ws:migrate
2
- # Description: 将当前目录迁移到最新的 workspace-A 约定(安全,默认不覆盖)
3
- # Category: workspace
4
- # Version: 1
5
-
6
- description = "迁移当前目录为 workspace-A 约定(补齐 AI_PROJECT.md 与 .gitignore managed block,默认不覆盖)"
7
-
8
- prompt = """
9
- 用中文输出;命令与路径保持原样不翻译。
10
-
11
- 目标:将“当前目录”迁移/补齐为最新的 aiws `workspace` 约定(以 `.aiws/manifest.json` 与模板托管面为准)。
12
-
13
- 安全规则:
14
- - 不要打印 secrets;不要创建真实 secrets。
15
- - 只通过 `aiws init/update/validate` 更新托管面(replace_file + managed blocks)。
16
-
17
- 迁移完成后建议运行 `/ws-doctor` 并手工检查 `AI_PROJECT.md` 的“项目特有规则”段是否符合本项目约束。
18
-
19
- Execute:
20
- !{bash -lc '
21
- set -euo pipefail
22
-
23
- root="$(pwd)"
24
-
25
- run_aiws() {
26
- local subcmd="$1"
27
- shift
28
-
29
- if [[ -x "$root/node_modules/.bin/aiws" ]]; then
30
- "$root/node_modules/.bin/aiws" "$subcmd" "$@"
31
- return 0
32
- fi
33
- if command -v aiws >/dev/null 2>&1; then
34
- aiws "$subcmd" "$@"
35
- return 0
36
- fi
37
- if command -v npx >/dev/null 2>&1; then
38
- npx -y @aipper/aiws "$subcmd" "$@"
39
- return 0
40
- fi
41
-
42
- echo "error: aiws not found (install @aipper/aiws or ensure npx is available)" >&2
43
- exit 2
44
- }
45
-
46
- if [[ -f ".aiws/manifest.json" ]]; then
47
- run_aiws update .
48
- else
49
- run_aiws init .
50
- fi
51
- run_aiws validate .
52
-
53
- echo
54
- echo "下一步:"
55
- echo " - 运行: /ws-doctor"
56
- echo " - 手工检查: AI_PROJECT.md(把本项目的特殊约束补齐进去)"
57
- echo " - 如启用了 iFlow pre_tool_guard:执行 /ws-contract-check(写入 stamp)"
58
- '}
59
- """
@@ -1,30 +0,0 @@
1
- # Command: ws:preflight
2
- # Description: AI Workspace 预检:读 AI_PROJECT/REQUIREMENTS/AI_WORKSPACE 并输出约束摘要
3
- # Category: workspace
4
- # Version: 1
5
-
6
- description = "AI Workspace 预检:读 AI_PROJECT/REQUIREMENTS/AI_WORKSPACE 并输出约束摘要"
7
-
8
- prompt = """
9
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
10
-
11
- 目标:在开始“写代码/改配置/给补丁”之前,先把工作区真值文件读全并对齐,避免规则漂移。
12
-
13
- 执行步骤(强制):
14
- 1) 定位项目根目录:
15
- - 优先:`git rev-parse --show-toplevel`
16
- - 若失败:说明无法判断项目根;请用户确认当前目录是否为项目根(不要猜测)。
17
- 2) 在项目根目录读取以下文件(存在则必须读取;缺失则明确报告缺失项,不要臆测内容):
18
- - `AI_PROJECT.md`
19
- - `REQUIREMENTS.md`
20
- - `AI_WORKSPACE.md`
21
- 3) 输出:
22
- - `Root:` <项目根路径>
23
- - `Found:` 列出实际读取到的文件列表
24
- - `Missing:` 列出缺失文件(若缺失 `AI_PROJECT.md`,建议用户先运行 `/ws-migrate` 或 `/aiws-init` 补齐)
25
- - `Key rules:` 用 3–8 条 bullet 摘要关键约束(范围/禁止项/必须产物/必须验证命令)
26
-
27
- 安全规则:
28
- - 不打印 secrets;遇到疑似敏感值仅提示并建议迁移到本地私密文件(不要复述原文)。
29
- - 不执行破坏性命令。
30
- """
@@ -1,47 +0,0 @@
1
- # Command: ws:pull
2
- # Description: 拉取并对齐 submodules(fast-forward;尽量避免 detached)
3
- # Category: workspace
4
- # Version: 1
5
-
6
- description = "拉取并对齐 submodules(fast-forward;尽量避免 detached)"
7
-
8
- prompt = """
9
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
10
-
11
- 目标:安全拉取 superproject,并对齐 submodules,尽量把 submodule 从 detached HEAD “挂回”分支(仅当该分支包含 gitlink commit),减少人为操作差异。
12
-
13
- 安全约束(强制):
14
- - 不执行破坏性命令;不自动提交/不自动 push
15
- - 若工作区不干净:停止并要求用户先 commit 或 stash
16
- - `git pull` 默认只允许 fast-forward(避免隐式 merge/rebase)
17
-
18
- 步骤(建议):
19
- 1) 输出上下文并检查工作区干净:
20
- - `git rev-parse --show-toplevel`
21
- - `git branch --show-current`
22
- - `git status --porcelain`
23
- - 若 `git status --porcelain` 非空:停止。
24
-
25
- 2) 拉取 superproject(fast-forward only):
26
- - `git pull --ff-only`
27
- - 若失败:停止并说明需要用户明确选择 `git pull --rebase` 或手动处理。
28
-
29
- 3) 更新 submodules 到 superproject 记录的 gitlink commit:
30
- - 若存在 `.gitmodules`:
31
- - `git submodule sync --recursive`
32
- - `git submodule update --init --recursive`
33
-
34
- 4) (可选但推荐)把 submodule 从 detached HEAD 尽量“挂回分支”(不改动 gitlink commit):
35
- - 为避免 origin 多分支时“猜错分支”,只在 `.gitmodules` 明确配置了 `submodule.<name>.branch` 时才执行;否则保持 detached 并提示先对齐配置
36
- - 目标分支:`.gitmodules` 的 `submodule.<name>.branch`(若为 `.` 则用 superproject 当前分支)
37
- - 对每个 submodule:
38
- - `sub_sha="$(git rev-parse "HEAD:<sub_path>")"`
39
- - `git -C "<sub_path>" fetch origin --prune`
40
- - 若 `sub_sha` 属于 `origin/<target_branch>`:创建/更新 pin 分支 `aiws/pin/<target_branch>` 指向 `$sub_sha`(不改动现有分支)
41
- - 否则保持 detached 并提示原因
42
-
43
- 可选(方案 2,一次性设置 submodule 跟踪分支,会改 `.gitmodules`,需提交):
44
- - `git submodule set-branch --branch main <sub_path>`
45
- - `git add .gitmodules && git commit -m "chore(submodule): set tracking branch"`
46
- 推荐:优先使用 `ws:submodule-setup` 交互式对齐所有 submodules 的 branch,并提交 `.gitmodules`。
47
- """
@@ -1,40 +0,0 @@
1
- # Command: ws:push
2
- # Description: 推送(submodule 感知:先 submodules 后 superproject;fast-forward;不 force)
3
- # Category: workspace
4
- # Version: 1
5
-
6
- description = "推送(submodule 感知:先 submodules 后 superproject;fast-forward;不 force)"
7
-
8
- prompt = """
9
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
10
-
11
- 目标:安全 push 当前仓库;若仓库包含 submodules,则先 push submodules,再 push superproject(默认 fast-forward;不 force)。
12
-
13
- 约束:
14
- - 不自动提交、不自动 `git add -A`
15
- - 不使用 `--force` / `--force-with-lease`
16
- - 若工作区不干净:停止并要求先 commit 或 stash
17
-
18
- 步骤(建议):
19
- 1) 输出上下文并检查工作区干净:
20
- - `git branch --show-current`
21
- - `git status --porcelain`
22
- - `git status -sb`
23
- - 非空则停止。
24
-
25
- 2) 判断是否存在 submodules:若存在 `.gitmodules`,输出 submodule 列表:
26
- - `git config --file .gitmodules --get-regexp '^submodule\\..*\\.path$'`
27
-
28
- 3) 若没有 submodules:正常 push(仍需用户确认远端/分支):
29
- - `git remote -v`
30
- - `git push`
31
-
32
- 4) 若有 submodules:先检查 `.gitmodules` 的 `submodule.<name>.branch` 是否齐全(缺失则停止并提示 `ws:submodule-setup`)。
33
-
34
- 5) 逐个 push submodules(fast-forward only),再 push superproject:
35
- - `git -C "<sub_path>" fetch origin --prune`
36
- - 若 `origin/<target_branch>` 不是 `HEAD` 的祖先:停止并提示先在 submodule 做 rebase/merge
37
- - `git -C "<sub_path>" push origin "HEAD:refs/heads/<target_branch>"`
38
- - 最后 `git push`
39
- """
40
-
@@ -1,64 +0,0 @@
1
- # Command: ws:req-change
2
- # Description: 记录需求变更到 requirements/CHANGELOG.md 并更新 REQUIREMENTS.md
3
- # Category: requirements
4
- # Version: 1
5
-
6
- description = "记录需求变更到 requirements/CHANGELOG.md 并更新 REQUIREMENTS.md"
7
-
8
- prompt = """
9
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
10
-
11
- 目标:处理“进行中的需求变更”,并把变更记录到独立的变更文件中,避免 REQUIREMENTS.md 的历史被覆盖。
12
-
13
- 约定:
14
- - `REQUIREMENTS.md`:当前有效需求(唯一真值)
15
- - `requirements/CHANGELOG.md`:需求变更历史(追加记录,不改旧记录)
16
- - `requirements/requirements-issues.csv`:需求拆解执行合同(机器可读;用于审核/回放/状态机)
17
-
18
- 步骤(必须按顺序):
19
- 1) 读取 `REQUIREMENTS.md` 与 `requirements/CHANGELOG.md`(若不存在则创建 changelog 文件与目录)
20
- 2) 明确本次变更的类型:
21
- - Clarify:补充不清晰的验收字段(不改变语义)
22
- - Change:修改/新增/删除需求(改变语义)
23
- 3) 产出“变更摘要”(1-5 条)并在执行前确认边界:
24
- - 是否影响 API(OpenAPI/状态码/鉴权/字段)
25
- - 是否影响自动化测试边界(allow_mutations/dangerous_disabled/base_url_allowlist)
26
- 4) 对比与冲突检查(强制,不写文件):
27
- - 对比“变更前 vs 拟变更后”的差异清单(新增/删除/语义变化)
28
- - 整理潜在冲突/不确定点(只列“最可能影响验收/实现”的,避免噪音)
29
- 5) 逐条澄清(强制,避免一次问完):
30
- - 若存在潜在冲突/不确定点:本轮只问 1 个最高优先级问题(给出 2–4 个可选答案或二选一),然后停止,等待用户回复;不要继续问下一题,也不要写文件。
31
- - 收到用户回复后:更新拟变更方案,回到步骤 4) 重新对比,直至没有未决问题。
32
- 6) 强制停下来让用户确认:是否继续落盘?(Y/N)
33
- 7) 用户确认 Y 后再写入:
34
- - 更新 `REQUIREMENTS.md`(只留下当前有效版本;不要在文件中堆历史表格)
35
- - 追加一条 changelog 记录到 `requirements/CHANGELOG.md`(必须包含:日期、变更内容、原因、影响范围、关联 issues/PR、记录人)
36
- 8) 需求拆解到 CSV 执行合同(强制):
37
- - 确保存在 `requirements/requirements-issues.csv`(若无则初始化):
38
- - `python3 tools/requirements_contract.py init`
39
- - 为本次变更新增/更新 1..N 条 Req 行,并拆到“可实现、可测试”的粒度:
40
- - 每条至少写清:CRUD、Scenario、Inputs、Outputs、Business_Logic、Tests
41
- - 状态机:
42
- - `Spec_Status`: DRAFT(未完善)/READY(已完善可开工)
43
- - `Impl_Status`: TODO/DOING/DONE/BLOCKED/SKIP
44
- - 完成后必须跑一次校验(READY/DONE 的必填字段会被检查):
45
- - `python3 tools/requirements_contract.py validate`
46
- 9) 同步/补齐需求执行合同(强制,自动处理 FlowSpec 有/无两种情况):
47
- - `python3 tools/requirements_contract_sync.py --workspace .`
48
- - 说明:若 `REQUIREMENTS.md` 中不存在 FlowSpec(或 flows 为空),该命令只会确保 `requirements/requirements-issues.csv` 表头存在并给出 WARN(这是预期行为,不要当成失败)。
49
- 10) 同步执行合同(至少做到其中之一):
50
- - 更新 `issues/feature-issues.csv`(新增/调整对应任务,并关联 Req_ID)
51
- - 若涉及 API:运行/更新 runner 产物并修正 `issues/server-api-issues.csv` 的验收字段
52
- 11) 生成简短逻辑图与场景执行合同(可选,但若存在 FlowSpec 则强烈建议自动执行):
53
- - 若 `REQUIREMENTS.md` 同时包含 `<!-- FLOW_SPEC_BEGIN -->` 与 `<!-- FLOW_SPEC_END -->`:运行 `/ws-req-flow-sync` 生成/更新 `docs/api-flow.mmd` 与 `issues/server-scenario-issues.csv`
54
- - 否则:跳过,并提示用户“可以先不维护 FlowSpec;后续需要场景回归时再补”
55
-
56
- 输出必须包含:
57
- - 本次更新的文件清单(路径)
58
- - 回滚方案(如何撤销本次需求变更)
59
- - 下一步建议命令(若存在 FlowSpec:包含 `/ws-req-flow-sync`;以及 `/server-fix` 或 runner 命令)
60
-
61
- 安全规则:
62
- - 不打印 secrets/test-accounts.json
63
- - 不引入任何 token/密钥到仓库
64
- """
@@ -1,25 +0,0 @@
1
- # Command: ws:req-contract-sync
2
- # Description: 从 REQUIREMENTS.md 的 FlowSpec 补齐 requirements/requirements-issues.csv(半自动)
3
- # Category: requirements
4
- # Version: 1
5
-
6
- description = "从 REQUIREMENTS.md 的 FlowSpec 补齐 requirements/requirements-issues.csv(半自动)"
7
-
8
- prompt = """
9
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
10
-
11
- 用途:当项目已经做了一部分,但 `requirements/requirements-issues.csv` 还没建立/没补齐时,用本命令从 `REQUIREMENTS.md` 的 FlowSpec(机器可读)生成/补齐需求条目骨架。
12
-
13
- 说明:
14
- - 本命令只做“补齐骨架”:把每条 Flow 变成一条 Req(默认 `Spec_Status=DRAFT`、`Impl_Status=TODO`),不会猜测你已完成哪些。
15
- - 生成后请手工补齐 CRUD/Inputs/Outputs/Business_Logic/Tests,并把可开工的条目标为 `Spec_Status=READY`。
16
-
17
- 执行:
18
- !{bash -lc '
19
- set -euo pipefail
20
- python3 tools/requirements_contract_sync.py --workspace .
21
- '}
22
-
23
- 下一步:
24
- - 运行:`/ws-req-contract-validate`
25
- """
@@ -1,16 +0,0 @@
1
- # Command: ws:req-contract-validate
2
- # Description: 校验 requirements/requirements-issues.csv(READY/DONE 必填字段)
3
- # Category: requirements
4
- # Version: 1
5
-
6
- description = "校验 requirements/requirements-issues.csv(READY/DONE 必填字段)"
7
-
8
- prompt = """
9
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
10
-
11
- 执行(失败则修正 CSV 再重试):
12
- !{bash -lc '
13
- set -euo pipefail
14
- python3 tools/requirements_contract.py validate
15
- '}
16
- """
@@ -1,36 +0,0 @@
1
- # Command: ws:req-flow-sync
2
- # Description: 从 REQUIREMENTS.md FlowSpec 生成流程图与场景 CSV
3
- # Category: requirements
4
- # Version: 1
5
-
6
- description = "从 REQUIREMENTS.md FlowSpec 生成流程图与场景 CSV"
7
-
8
- prompt = """
9
- 用中文输出;命令与路径保持原样不翻译。
10
-
11
- 目标:在工作区根目录基于 `REQUIREMENTS.md` 内的 FlowSpec(FLOW_SPEC_BEGIN/END 标记)生成:
12
- - `docs/api-flow.mmd`(简短逻辑图,Mermaid)
13
- - `issues/server-scenario-issues.csv`(场景执行合同:TODO/DONE/BLOCKED)
14
-
15
- 要求:
16
- - 不读取/不打印 secrets
17
- - 输出要短:只打印生成的文件路径与下一步命令
18
-
19
- Execute:
20
- !{bash -lc '
21
- set -euo pipefail
22
-
23
- [[ -f REQUIREMENTS.md ]] || { echo "缺少 REQUIREMENTS.md(请先 /aiws-init 或补齐需求文件)" >&2; exit 2; }
24
-
25
- if [[ -f tools/requirements_flow_gen.py ]]; then
26
- python3 tools/requirements_flow_gen.py --workspace .
27
- echo ""
28
- echo "下一步:"
29
- echo " - 查看逻辑图: cat docs/api-flow.mmd"
30
- echo " - 查看场景合同: cat issues/server-scenario-issues.csv"
31
- else
32
- echo "缺少工具: tools/requirements_flow_gen.py(建议运行 /aiws-init 或从模板复制)" >&2
33
- exit 2
34
- fi
35
- '}
36
- """
@@ -1,56 +0,0 @@
1
- # Command: ws:req-review
2
- # Description: 需求整体评估(不落盘):对 REQUIREMENTS.md 做 QA,输出缺口/冲突/风险,减少漂移
3
- # Category: requirements
4
- # Version: 1
5
-
6
- description = "需求整体评估(不落盘):对 REQUIREMENTS.md 做 QA,输出缺口/冲突/风险,减少漂移"
7
-
8
- prompt = """
9
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
10
-
11
- 目标:在不修改任何文件的前提下,对“当前整体需求”做一次质量评估(Requirements QA),提前发现不清晰/不可验收/与项目约束冲突的点,减少后续实现漂移。
12
-
13
- 执行步骤(必须按顺序):
14
- 1) 定位项目根目录(优先 `git rev-parse --show-toplevel`;失败则停止并让用户确认根目录)。
15
- 2) 在项目根目录读取(存在则必须读取;缺失则明确报告缺失项,不要臆测内容):
16
- - `AI_PROJECT.md`
17
- - `REQUIREMENTS.md`
18
- - `AI_WORKSPACE.md`
19
- - `requirements/CHANGELOG.md`(若存在)
20
- - `requirements/requirements-issues.csv`(若存在)
21
- 3) 输出一个固定结构的评估报告(Markdown):
22
-
23
- ## Requirements QA
24
-
25
- ### 1) 结论(1–3 行)
26
- - 当前需求是否“可进入实现阶段”?(是/否/有条件)
27
-
28
- ### 2) 漂移风险(必须列出)
29
- - 哪些点最容易导致实现与需求不一致?为什么?
30
-
31
- ### 3) 可验收性(必须列出)
32
- - 列出“缺少明确验收标准”的条目(输入/输出/错误码/边界条件/示例)。
33
-
34
- ### 4) 完整性(必须列出)
35
- - 是否缺少:Non-goals、兼容性/迁移、鉴权/权限、失败重试、并发/幂等、观测性(日志/trace/request-id)、性能预算。
36
-
37
- ### 5) 一致性(必须列出)
38
- - 与 `AI_PROJECT.md`(禁止项/产物要求/验证要求/边界)是否冲突?逐条列冲突与建议。
39
-
40
- ### 6) 可测试性与证据(必须列出)
41
- - 给出最小验证路径(命令 + 期望结果 + 证据落盘路径建议,例如 `.agentdocs/tmp/...`)。
42
-
43
- ### 7) 风险清单(3–8 条)
44
- - 风险 → 影响面 → 缓解建议(尽量可操作)。
45
-
46
- ### 8) 需要澄清的问题(优先级排序)
47
- - 用 5–12 个问题把不确定点一次问清(每题说明“为什么要问/影响什么验收”)。
48
-
49
- 4) **强制停下来询问用户确认**:
50
- - 问用户:**“是否基于上述评估进入需求落盘/变更流程 `/ws-req-change`?(Y/N)”**
51
- - 若 N:停止,等待用户补充信息或调整需求文本。
52
-
53
- 边界:
54
- - 不打印任何 secrets(尤其是 `secrets/test-accounts.json`)。
55
- - 不执行破坏性命令。
56
- """
@@ -1,33 +0,0 @@
1
- # Command: ws:review
2
- # Description: AI Workspace 交叉审计交付(Claude + Codex + Gemini),证据优先落盘到 changes/<change-id>/review/
3
- # Category: workspace
4
- # Version: 1
5
-
6
- description = "AI Workspace 交叉审计交付(Claude + Codex + Gemini),证据优先落盘到 changes/<change-id>/review/"
7
-
8
- prompt = """
9
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
10
-
11
- 目标:在实现/提交前,对当前工作区改动进行交叉审计,并把审计结论优先落盘到 `changes/<change-id>/review/`(若无法确定 `change-id` 再回退 `.agentdocs/tmp/review/`),便于回放与追责。
12
-
13
- 强制步骤:
14
- 1) 读取真值文件:`AI_PROJECT.md`、`REQUIREMENTS.md`、`AI_WORKSPACE.md`。
15
- 2) 若 iFlow 拦截写入:先执行 `/ws-contract-check`,再继续。
16
- 3) 审计输入(按优先级):
17
- - `git diff`(或变更工件 `changes/<change-id>/`)
18
- - `issues/*.csv`(状态机是否存在 TODO/DOING/BLOCKED)
19
- - 最近一次门禁输出(如 `aiws validate .`)
20
- 4) 输出(必须):
21
- - Findings:问题清单(按严重性排序,引用具体文件路径)
22
- - Risks:3–8 条
23
- - Next:最小修复清单 + 最小验证命令
24
- 5) 证据落盘(必须):
25
- - 默认:在 `changes/<change-id>/review/` 写入一份 `iflow-review.<timestamp>.md`
26
- - 回退:在 `.agentdocs/tmp/review/` 写入同名文件(仅在无法确定 `change-id` 时使用)
27
- 6) 如果目标是提交前门禁:
28
- - 建议运行:`aiws validate .`(或 `npx @aipper/aiws validate .`)
29
-
30
- 边界:
31
- - 不打印任何 secrets(尤其是 `secrets/test-accounts.json`)。
32
- - 不执行破坏性命令。
33
- """
@@ -1,43 +0,0 @@
1
- # Command: ws:rule
2
- # Description: 整理项目规则写入 AI_PROJECT.md 的 managed block
3
- # Category: workspace
4
- # Version: 1
5
-
6
- description = "整理项目规则写入 AI_PROJECT.md 的 managed block"
7
-
8
- prompt = """
9
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
10
-
11
- 目标:当用户提出“项目规则/约束/边界”时,将其整理为结构化条款,并写入工作区根目录的 `AI_PROJECT.md`。
12
-
13
- 约定真值:
14
- - `AI_PROJECT.md`:项目约束真值(本命令只维护其中的 managed block)
15
- - `REQUIREMENTS.md`:需求真值(本命令不改需求)
16
- - `AI_WORKSPACE.md`:运行/测试真值(本命令不改运行方式)
17
-
18
- 安全规则(强制):
19
- - 不打印 secrets;不把 token/密钥/内网地址写入 `AI_PROJECT.md`。
20
- - 不进行破坏性命令。
21
- - 写入前必须创建备份:`.aiws/backups/manual/AI_PROJECT.md.bak.<timestamp>`
22
-
23
- 写入位置(强制):
24
- - 仅修改 `AI_PROJECT.md` 中 `<!-- AI_PROJECT_RULES_BEGIN -->` 与 `<!-- AI_PROJECT_RULES_END -->` 之间的内容。
25
- - 若文件/标记不存在:先运行 `/aiws-init`(或 `aiws init .`)补齐模板,再继续。
26
-
27
- 工作流:
28
- 1) 读取(或创建)`AI_PROJECT.md`,并定位 managed block。
29
- 2) 如果用户还没给出明确的规则文本:最多问 3 个澄清问题(例如:允许改动目录白名单/必须跑哪些测试/是否允许有副作用接口/是否允许自动提交)。
30
- 3) 将用户输入整理为短而硬的条款(建议按以下结构):
31
- - 范围/目录白名单
32
- - 必须执行的验证命令(含期望结果)
33
- - 禁止项(危险操作/敏感文件/越界访问)
34
- - 交付产物(必须更新哪些文件:issues/证据/文档)
35
- 4) 更新 managed block:合并去重(同义合并)、保持条款可执行;避免重写文件其它部分。
36
- 4.1) 写入前必须复述“将写入的规则清单”,并要求用户回复 `CONFIRM` 后再落盘(避免误写/误删)。
37
- 5) 输出必须包含:
38
- - 更新了哪些文件(路径)
39
- - 回滚方式(恢复备份文件)
40
- - 下一步建议(例如运行 `/ws-doctor`)
41
-
42
- 提示:用户的“规则”可能零散,优先把它们变成可检查的条款(能落到命令/文件/目录)。
43
- """
@@ -1,32 +0,0 @@
1
- # Command: ws:submodule-setup
2
- # Description: 子模块分支对齐(写入 .gitmodules 的 submodule.<name>.branch)
3
- # Category: workspace
4
- # Version: 1
5
-
6
- description = "子模块分支对齐(写入 .gitmodules 的 submodule.<name>.branch)"
7
-
8
- prompt = """
9
- 用中文输出(命令/路径/代码标识符保持原样不翻译)。
10
-
11
- 目标:为每个 submodule 写入 `.gitmodules` 的 `submodule.<name>.branch`(团队真值),让 `ws:pull`、`ws:finish` 能确定性地减少 detached 与人为差异;并使 `aiws validate` 的 submodule 分支门禁通过。
12
-
13
- 约束:
14
- - 不自动提交、不自动 push(必须先输出 diff 并让用户确认)
15
- - 不做破坏性命令
16
-
17
- 步骤(建议):
18
- 1) 确认工作区干净:`git status --porcelain`(非空则停止)。
19
- 2) 列出 submodules:
20
- - `test -f .gitmodules || { echo "no .gitmodules"; exit 0; }`
21
- - `git config --file .gitmodules --get-regexp '^submodule\\..*\\.path$'`
22
- 3) 对每个 submodule 让用户选择目标分支(推荐具体分支名;可选 `.` 表示跟随 superproject 分支名)。
23
- 4) 写入分支配置:
24
- - `git submodule set-branch --branch <branch-or-dot> <sub_path>`
25
- 5) 输出 diff 并让用户确认是否提交:
26
- - `git diff -- .gitmodules`
27
- - `git status --porcelain`
28
- 6) 用户确认后提交:
29
- - `git add .gitmodules`
30
- - `git commit -m "chore(submodule): set tracking branches"`
31
- """
32
-