@aipper/aiws-spec 0.0.25 → 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.
- package/docs/aiws-governance-positioning.md +1 -1
- package/docs/cli-interface.md +6 -3
- package/docs/collaboration-artifacts.md +1 -1
- package/docs/spec-contract.md +5 -12
- package/docs/workflow-governance-rules.json +3 -3
- package/docs/workflow-governance-rules.md +3 -3
- package/docs/workflow-router-rules.json +2 -2
- package/docs/workflow-router-rules.md +2 -2
- package/docs/workflow-stage-contracts.json +9 -9
- package/docs/workflow-stage-contracts.md +5 -5
- package/package.json +1 -1
- package/templates/workspace/.agents/skills/using-aiws/SKILL.md +5 -1
- package/templates/workspace/.agents/skills/ws-commit/SKILL.md +4 -1
- package/templates/workspace/.agents/skills/ws-deliver/SKILL.md +3 -4
- package/templates/workspace/.agents/skills/ws-dev-lite/SKILL.md +58 -0
- package/templates/workspace/.agents/skills/ws-finish/SKILL.md +1 -12
- package/templates/workspace/.agents/skills/ws-handoff/SKILL.md +8 -8
- package/templates/workspace/.aiws/manifest.json +2 -6
- package/templates/workspace/.claude/commands/using-aiws.md +3 -2
- package/templates/workspace/.claude/commands/ws-dev-lite.md +31 -0
- package/templates/workspace/.claude/commands/ws-finish.md +1 -1
- package/templates/workspace/.claude/commands/ws-handoff.md +3 -2
- package/templates/workspace/.claude/commands/ws-review.md +2 -2
- package/templates/workspace/.claude/skills/using-aiws/SKILL.md +5 -1
- package/templates/workspace/.claude/skills/ws-commit/SKILL.md +4 -1
- package/templates/workspace/.claude/skills/ws-deliver/SKILL.md +3 -4
- package/templates/workspace/.claude/skills/ws-dev-lite/SKILL.md +58 -0
- package/templates/workspace/.claude/skills/ws-finish/SKILL.md +1 -12
- package/templates/workspace/.claude/skills/ws-handoff/SKILL.md +8 -8
- package/templates/workspace/.githooks/commit-msg +10 -0
- package/templates/workspace/.opencode/command/using-aiws.md +3 -2
- package/templates/workspace/.opencode/command/ws-dev-lite.md +34 -0
- package/templates/workspace/.opencode/command/ws-finish.md +1 -1
- package/templates/workspace/.opencode/command/ws-handoff.md +4 -3
- package/templates/workspace/.opencode/command/ws-review.md +2 -2
- package/templates/workspace/.opencode/commands/using-aiws.md +3 -2
- package/templates/workspace/.opencode/commands/ws-dev-lite.md +34 -0
- package/templates/workspace/.opencode/commands/ws-finish.md +1 -1
- package/templates/workspace/.opencode/commands/ws-handoff.md +4 -3
- package/templates/workspace/.opencode/commands/ws-review.md +2 -2
- package/templates/workspace/.opencode/skills/using-aiws/SKILL.md +5 -1
- package/templates/workspace/.opencode/skills/ws-commit/SKILL.md +4 -1
- package/templates/workspace/.opencode/skills/ws-deliver/SKILL.md +3 -4
- package/templates/workspace/.opencode/skills/ws-dev-lite/SKILL.md +58 -0
- package/templates/workspace/.opencode/skills/ws-finish/SKILL.md +1 -12
- package/templates/workspace/.opencode/skills/ws-handoff/SKILL.md +8 -8
- package/templates/workspace/AGENTS.md +5 -3
- package/templates/workspace/AI_PROJECT.md +1 -1
- package/templates/workspace/AI_WORKSPACE.md +1 -1
- package/templates/workspace/changes/README.md +8 -5
- package/templates/workspace/changes/templates/tasks.md +1 -1
- package/templates/workspace/manifest.json +63 -80
- package/templates/workspace/memory-bank/README.md +1 -2
- package/templates/workspace/.iflow/agents/feature-reviewer.md +0 -27
- package/templates/workspace/.iflow/agents/requirements-analyst.md +0 -24
- package/templates/workspace/.iflow/agents/server-commit-manager.md +0 -28
- package/templates/workspace/.iflow/agents/server-fix-implementer.md +0 -31
- package/templates/workspace/.iflow/agents/server-test-planner.md +0 -28
- package/templates/workspace/.iflow/agents/server-test-triager.md +0 -30
- package/templates/workspace/.iflow/commands/aiws-init.toml +0 -24
- package/templates/workspace/.iflow/commands/aiws-rollback.toml +0 -18
- package/templates/workspace/.iflow/commands/aiws-update.toml +0 -23
- package/templates/workspace/.iflow/commands/aiws-validate.toml +0 -18
- package/templates/workspace/.iflow/commands/server-commit.toml +0 -27
- package/templates/workspace/.iflow/commands/server-drain.toml +0 -99
- package/templates/workspace/.iflow/commands/server-fix-and-commit.toml +0 -27
- package/templates/workspace/.iflow/commands/server-fix.toml +0 -65
- package/templates/workspace/.iflow/commands/server-test-plan.toml +0 -62
- package/templates/workspace/.iflow/commands/server-test.toml +0 -58
- package/templates/workspace/.iflow/commands/server-triage.toml +0 -38
- package/templates/workspace/.iflow/commands/server_test-plan.toml +0 -12
- package/templates/workspace/.iflow/commands/server_test.toml +0 -12
- package/templates/workspace/.iflow/commands/ws-analyze.toml +0 -33
- package/templates/workspace/.iflow/commands/ws-commit.toml +0 -46
- package/templates/workspace/.iflow/commands/ws-contract-check.toml +0 -69
- package/templates/workspace/.iflow/commands/ws-deliver.toml +0 -58
- package/templates/workspace/.iflow/commands/ws-dev.toml +0 -34
- package/templates/workspace/.iflow/commands/ws-doctor.toml +0 -141
- package/templates/workspace/.iflow/commands/ws-env-doctor.toml +0 -74
- package/templates/workspace/.iflow/commands/ws-feature-deliver.toml +0 -44
- package/templates/workspace/.iflow/commands/ws-feature-plan.toml +0 -47
- package/templates/workspace/.iflow/commands/ws-finish.toml +0 -54
- package/templates/workspace/.iflow/commands/ws-init.toml +0 -53
- package/templates/workspace/.iflow/commands/ws-memory-bank-init.toml +0 -100
- package/templates/workspace/.iflow/commands/ws-migrate.toml +0 -59
- package/templates/workspace/.iflow/commands/ws-preflight.toml +0 -30
- package/templates/workspace/.iflow/commands/ws-pull.toml +0 -47
- package/templates/workspace/.iflow/commands/ws-push.toml +0 -40
- package/templates/workspace/.iflow/commands/ws-req-change.toml +0 -64
- package/templates/workspace/.iflow/commands/ws-req-contract-sync.toml +0 -25
- package/templates/workspace/.iflow/commands/ws-req-contract-validate.toml +0 -16
- package/templates/workspace/.iflow/commands/ws-req-flow-sync.toml +0 -36
- package/templates/workspace/.iflow/commands/ws-req-review.toml +0 -56
- package/templates/workspace/.iflow/commands/ws-review.toml +0 -33
- package/templates/workspace/.iflow/commands/ws-rule.toml +0 -43
- package/templates/workspace/.iflow/commands/ws-submodule-setup.toml +0 -32
- package/templates/workspace/tools/iflow_watchdog.sh +0 -138
- package/templates/workspace/tools/install_iflow_watchdog_systemd_user.sh +0 -118
- package/templates/workspace/tools/systemd/iflow-watchdog@.service +0 -16
- package/templates/workspace/tools/systemd/iflow-watchdog@.timer +0 -11
|
@@ -39,19 +39,19 @@ changes/
|
|
|
39
39
|
- 可选:`--worktree-dir <path>` 覆盖 worktree 目录
|
|
40
40
|
- 可选:`--submodules` 在 worktree 内执行 `git submodule update --init --recursive`
|
|
41
41
|
- `aiws change finish <change-id>`(安全合并:fast-forward 合并回目标分支;在 `change/<change-id>` 分支上执行时会尝试使用 `.ws-change.json` 的 `base_branch` 作为目标分支)
|
|
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
|
|
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)
|
|
43
43
|
- `aiws change new <change-id>`
|
|
44
44
|
- `aiws change list`
|
|
45
45
|
- `aiws change status <change-id>`
|
|
46
46
|
- `aiws change next <change-id>`
|
|
47
47
|
- `aiws change validate <change-id>`
|
|
48
48
|
- `aiws change sync <change-id>`
|
|
49
|
-
- `aiws change archive <change-id
|
|
49
|
+
- `aiws change archive <change-id>`(手工恢复 / 历史兼容入口;标准链路一般不需要单独执行)
|
|
50
50
|
- `aiws change evidence <change-id>`(收敛 review / validate / collaboration summary 到 `changes/<id>/evidence/`)
|
|
51
51
|
|
|
52
52
|
Active change(推荐,团队共享):
|
|
53
53
|
- 使用分支名声明当前变更:`change/<change-id>`(也支持 `changes/`、`ws/`、`ws-change/`)
|
|
54
|
-
- 切到该分支后,可省略 `<change-id>` 执行:`aiws change status|next|validate|sync
|
|
54
|
+
- 切到该分支后,可省略 `<change-id>` 执行:`aiws change status|next|validate|sync`
|
|
55
55
|
|
|
56
56
|
计划质量门(推荐,执行前):
|
|
57
57
|
- 先生成计划:`$ws-plan`(若尚未进入 `change/<change-id>` 上下文,应先由它调用 `aiws change start <change-id>` 建立分支 / worktree,再在该上下文内写 `plan/...`)
|
|
@@ -74,7 +74,10 @@ Active change(推荐,团队共享):
|
|
|
74
74
|
|
|
75
75
|
Hooks/CI(推荐,硬约束):
|
|
76
76
|
- 工作区会安装 `.githooks/{commit-msg,pre-commit,pre-push}`:
|
|
77
|
-
- `commit-msg
|
|
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!` 例外)
|
|
78
81
|
- `pre-commit` / `pre-push`:默认执行 `aiws validate .`
|
|
79
82
|
- 还会安装门禁脚本(`tools/ws_change_check.py`、`tools/requirements_contract.py`)。
|
|
80
83
|
- **启用 hooks 需要本地配置**(不会自动提交到 git):
|
|
@@ -93,4 +96,4 @@ Hooks/CI(推荐,硬约束):
|
|
|
93
96
|
- 委托分析先落到 `changes/<id>/analysis/`,由主 agent 在 `ws-review` 或 `review/*.md` 中收敛结论。
|
|
94
97
|
- patch 草案先落到 `changes/<id>/patches/`,未经审查不要直接应用。
|
|
95
98
|
- 交付前建议执行:`aiws change evidence <change-id>`,让 `delivery-summary` 与 `collaboration-summary` 一起落到 `changes/<id>/evidence/`。
|
|
96
|
-
-
|
|
99
|
+
- finish 自动归档后生成的 `handoff.md` 会包含协同工件摘要,便于下一次会话继续接力。
|
|
@@ -41,4 +41,4 @@
|
|
|
41
41
|
- [ ] 4.1 证据落盘到 `.agentdocs/tmp/...`(报告/日志/请求响应等)
|
|
42
42
|
- [ ] 4.2 生成持久证据:`aiws change evidence {{CHANGE_ID}}`
|
|
43
43
|
- [ ] 4.3 交叉审计(可选但推荐):在 AI 工具内运行 `/ws-review`(或按 `AI_PROJECT.md` 手工审计)
|
|
44
|
-
- [ ] 4.4
|
|
44
|
+
- [ ] 4.4 收尾:`aiws change finish {{CHANGE_ID}} --push`(成功后自动归档并生成 handoff)
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
"tools": [
|
|
7
7
|
"claude",
|
|
8
8
|
"opencode",
|
|
9
|
-
"codex"
|
|
10
|
-
"iflow"
|
|
9
|
+
"codex"
|
|
11
10
|
]
|
|
12
11
|
},
|
|
13
12
|
"required": [
|
|
@@ -35,6 +34,7 @@
|
|
|
35
34
|
".claude/commands/ws-preflight.md",
|
|
36
35
|
".claude/commands/ws-migrate.md",
|
|
37
36
|
".claude/commands/ws-dev.md",
|
|
37
|
+
".claude/commands/ws-dev-lite.md",
|
|
38
38
|
".claude/commands/ws-deliver.md",
|
|
39
39
|
".claude/commands/ws-analyze.md",
|
|
40
40
|
".claude/commands/ws-pull.md",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
".opencode/command/ws-preflight.md",
|
|
57
57
|
".opencode/command/ws-migrate.md",
|
|
58
58
|
".opencode/command/ws-dev.md",
|
|
59
|
+
".opencode/command/ws-dev-lite.md",
|
|
59
60
|
".opencode/command/ws-deliver.md",
|
|
60
61
|
".opencode/command/ws-analyze.md",
|
|
61
62
|
".opencode/command/ws-bugfix.md",
|
|
@@ -72,43 +73,6 @@
|
|
|
72
73
|
".opencode/command/ws-req-contract-sync.md",
|
|
73
74
|
".opencode/command/ws-req-contract-validate.md",
|
|
74
75
|
".opencode/command/ws-req-flow-sync.md",
|
|
75
|
-
".iflow/commands/aiws-init.toml",
|
|
76
|
-
".iflow/commands/aiws-update.toml",
|
|
77
|
-
".iflow/commands/aiws-validate.toml",
|
|
78
|
-
".iflow/commands/aiws-rollback.toml",
|
|
79
|
-
".iflow/commands/server-test-plan.toml",
|
|
80
|
-
".iflow/commands/server-test.toml",
|
|
81
|
-
".iflow/commands/server-triage.toml",
|
|
82
|
-
".iflow/commands/server-fix.toml",
|
|
83
|
-
".iflow/commands/server-fix-and-commit.toml",
|
|
84
|
-
".iflow/commands/server-drain.toml",
|
|
85
|
-
".iflow/commands/server-commit.toml",
|
|
86
|
-
".iflow/commands/server_test-plan.toml",
|
|
87
|
-
".iflow/commands/server_test.toml",
|
|
88
|
-
".iflow/commands/ws-preflight.toml",
|
|
89
|
-
".iflow/commands/ws-migrate.toml",
|
|
90
|
-
".iflow/commands/ws-dev.toml",
|
|
91
|
-
".iflow/commands/ws-analyze.toml",
|
|
92
|
-
".iflow/commands/ws-deliver.toml",
|
|
93
|
-
".iflow/commands/ws-pull.toml",
|
|
94
|
-
".iflow/commands/ws-push.toml",
|
|
95
|
-
".iflow/commands/ws-finish.toml",
|
|
96
|
-
".iflow/commands/ws-submodule-setup.toml",
|
|
97
|
-
".iflow/commands/ws-review.toml",
|
|
98
|
-
".iflow/commands/ws-commit.toml",
|
|
99
|
-
".iflow/commands/ws-rule.toml",
|
|
100
|
-
".iflow/commands/ws-contract-check.toml",
|
|
101
|
-
".iflow/commands/ws-doctor.toml",
|
|
102
|
-
".iflow/commands/ws-env-doctor.toml",
|
|
103
|
-
".iflow/commands/ws-init.toml",
|
|
104
|
-
".iflow/commands/ws-memory-bank-init.toml",
|
|
105
|
-
".iflow/commands/ws-feature-plan.toml",
|
|
106
|
-
".iflow/commands/ws-feature-deliver.toml",
|
|
107
|
-
".iflow/commands/ws-req-review.toml",
|
|
108
|
-
".iflow/commands/ws-req-change.toml",
|
|
109
|
-
".iflow/commands/ws-req-contract-sync.toml",
|
|
110
|
-
".iflow/commands/ws-req-contract-validate.toml",
|
|
111
|
-
".iflow/commands/ws-req-flow-sync.toml",
|
|
112
76
|
".claude/commands/p-aiws-change-archive.md",
|
|
113
77
|
".claude/commands/p-aiws-change-finish.md",
|
|
114
78
|
".claude/commands/p-aiws-change-list.md",
|
|
@@ -156,7 +120,6 @@
|
|
|
156
120
|
".opencode/commands/**"
|
|
157
121
|
],
|
|
158
122
|
"optional": [
|
|
159
|
-
".iflow/agents/**",
|
|
160
123
|
"memory-bank/**",
|
|
161
124
|
"secrets/test-accounts.example.json",
|
|
162
125
|
".opencode/oh-my-opencode.json.example",
|
|
@@ -166,8 +129,6 @@
|
|
|
166
129
|
"tools/requirements_contract_sync.py",
|
|
167
130
|
"tools/requirements_flow_gen.py",
|
|
168
131
|
"tools/server_test_runner.py",
|
|
169
|
-
"tools/iflow_watchdog.sh",
|
|
170
|
-
"tools/install_iflow_watchdog_systemd_user.sh",
|
|
171
132
|
"tools/ws_resolve_sub_target.sh"
|
|
172
133
|
],
|
|
173
134
|
"update": {
|
|
@@ -223,7 +184,54 @@
|
|
|
223
184
|
".opencode/command/aiws-change-archive.md",
|
|
224
185
|
".opencode/command/aiws-change-templates-which.md",
|
|
225
186
|
".opencode/command/aiws-change-templates-init.md",
|
|
226
|
-
".agents/skills/ws-tasks-plan/SKILL.md"
|
|
187
|
+
".agents/skills/ws-tasks-plan/SKILL.md",
|
|
188
|
+
".iflow/agents/feature-reviewer.md",
|
|
189
|
+
".iflow/agents/requirements-analyst.md",
|
|
190
|
+
".iflow/agents/server-commit-manager.md",
|
|
191
|
+
".iflow/agents/server-fix-implementer.md",
|
|
192
|
+
".iflow/agents/server-test-planner.md",
|
|
193
|
+
".iflow/agents/server-test-triager.md",
|
|
194
|
+
".iflow/commands/aiws-init.toml",
|
|
195
|
+
".iflow/commands/aiws-rollback.toml",
|
|
196
|
+
".iflow/commands/aiws-update.toml",
|
|
197
|
+
".iflow/commands/aiws-validate.toml",
|
|
198
|
+
".iflow/commands/server-commit.toml",
|
|
199
|
+
".iflow/commands/server-drain.toml",
|
|
200
|
+
".iflow/commands/server-fix-and-commit.toml",
|
|
201
|
+
".iflow/commands/server-fix.toml",
|
|
202
|
+
".iflow/commands/server-test-plan.toml",
|
|
203
|
+
".iflow/commands/server-test.toml",
|
|
204
|
+
".iflow/commands/server-triage.toml",
|
|
205
|
+
".iflow/commands/server_test-plan.toml",
|
|
206
|
+
".iflow/commands/server_test.toml",
|
|
207
|
+
".iflow/commands/ws-analyze.toml",
|
|
208
|
+
".iflow/commands/ws-commit.toml",
|
|
209
|
+
".iflow/commands/ws-contract-check.toml",
|
|
210
|
+
".iflow/commands/ws-deliver.toml",
|
|
211
|
+
".iflow/commands/ws-dev.toml",
|
|
212
|
+
".iflow/commands/ws-doctor.toml",
|
|
213
|
+
".iflow/commands/ws-env-doctor.toml",
|
|
214
|
+
".iflow/commands/ws-feature-deliver.toml",
|
|
215
|
+
".iflow/commands/ws-feature-plan.toml",
|
|
216
|
+
".iflow/commands/ws-finish.toml",
|
|
217
|
+
".iflow/commands/ws-init.toml",
|
|
218
|
+
".iflow/commands/ws-memory-bank-init.toml",
|
|
219
|
+
".iflow/commands/ws-migrate.toml",
|
|
220
|
+
".iflow/commands/ws-preflight.toml",
|
|
221
|
+
".iflow/commands/ws-pull.toml",
|
|
222
|
+
".iflow/commands/ws-push.toml",
|
|
223
|
+
".iflow/commands/ws-req-change.toml",
|
|
224
|
+
".iflow/commands/ws-req-contract-sync.toml",
|
|
225
|
+
".iflow/commands/ws-req-contract-validate.toml",
|
|
226
|
+
".iflow/commands/ws-req-flow-sync.toml",
|
|
227
|
+
".iflow/commands/ws-req-review.toml",
|
|
228
|
+
".iflow/commands/ws-review.toml",
|
|
229
|
+
".iflow/commands/ws-rule.toml",
|
|
230
|
+
".iflow/commands/ws-submodule-setup.toml",
|
|
231
|
+
"tools/iflow_watchdog.sh",
|
|
232
|
+
"tools/install_iflow_watchdog_systemd_user.sh",
|
|
233
|
+
"tools/systemd/iflow-watchdog@.service",
|
|
234
|
+
"tools/systemd/iflow-watchdog@.timer"
|
|
227
235
|
],
|
|
228
236
|
"replace_file": [
|
|
229
237
|
".aiws/manifest.json",
|
|
@@ -256,6 +264,7 @@
|
|
|
256
264
|
".agents/skills/ws-bugfix/SKILL.md",
|
|
257
265
|
".agents/skills/ws-commit/SKILL.md",
|
|
258
266
|
".agents/skills/ws-dev/SKILL.md",
|
|
267
|
+
".agents/skills/ws-dev-lite/SKILL.md",
|
|
259
268
|
".agents/skills/ws-delegate/SKILL.md",
|
|
260
269
|
".agents/skills/ws-frontend-design/SKILL.md",
|
|
261
270
|
".agents/skills/ws-deliver/SKILL.md",
|
|
@@ -280,43 +289,6 @@
|
|
|
280
289
|
".agents/skills/ws-verify-before-complete/SKILL.md",
|
|
281
290
|
".agents/skills/ws-rule/SKILL.md",
|
|
282
291
|
".opencode/command/ws-bugfix.md",
|
|
283
|
-
".iflow/commands/aiws-init.toml",
|
|
284
|
-
".iflow/commands/aiws-update.toml",
|
|
285
|
-
".iflow/commands/aiws-validate.toml",
|
|
286
|
-
".iflow/commands/aiws-rollback.toml",
|
|
287
|
-
".iflow/commands/server-test-plan.toml",
|
|
288
|
-
".iflow/commands/server-test.toml",
|
|
289
|
-
".iflow/commands/server-triage.toml",
|
|
290
|
-
".iflow/commands/server-fix.toml",
|
|
291
|
-
".iflow/commands/server-fix-and-commit.toml",
|
|
292
|
-
".iflow/commands/server-drain.toml",
|
|
293
|
-
".iflow/commands/server-commit.toml",
|
|
294
|
-
".iflow/commands/server_test-plan.toml",
|
|
295
|
-
".iflow/commands/server_test.toml",
|
|
296
|
-
".iflow/commands/ws-preflight.toml",
|
|
297
|
-
".iflow/commands/ws-migrate.toml",
|
|
298
|
-
".iflow/commands/ws-dev.toml",
|
|
299
|
-
".iflow/commands/ws-analyze.toml",
|
|
300
|
-
".iflow/commands/ws-deliver.toml",
|
|
301
|
-
".iflow/commands/ws-pull.toml",
|
|
302
|
-
".iflow/commands/ws-push.toml",
|
|
303
|
-
".iflow/commands/ws-finish.toml",
|
|
304
|
-
".iflow/commands/ws-submodule-setup.toml",
|
|
305
|
-
".iflow/commands/ws-review.toml",
|
|
306
|
-
".iflow/commands/ws-commit.toml",
|
|
307
|
-
".iflow/commands/ws-rule.toml",
|
|
308
|
-
".iflow/commands/ws-contract-check.toml",
|
|
309
|
-
".iflow/commands/ws-doctor.toml",
|
|
310
|
-
".iflow/commands/ws-env-doctor.toml",
|
|
311
|
-
".iflow/commands/ws-init.toml",
|
|
312
|
-
".iflow/commands/ws-memory-bank-init.toml",
|
|
313
|
-
".iflow/commands/ws-feature-plan.toml",
|
|
314
|
-
".iflow/commands/ws-feature-deliver.toml",
|
|
315
|
-
".iflow/commands/ws-req-review.toml",
|
|
316
|
-
".iflow/commands/ws-req-change.toml",
|
|
317
|
-
".iflow/commands/ws-req-contract-sync.toml",
|
|
318
|
-
".iflow/commands/ws-req-contract-validate.toml",
|
|
319
|
-
".iflow/commands/ws-req-flow-sync.toml",
|
|
320
292
|
".claude/commands/p-aiws-change-archive.md",
|
|
321
293
|
".claude/commands/p-aiws-change-finish.md",
|
|
322
294
|
".claude/commands/p-aiws-change-list.md",
|
|
@@ -405,6 +377,8 @@
|
|
|
405
377
|
".opencode/skills/ws-deliver/SKILL.md",
|
|
406
378
|
".claude/skills/ws-dev/SKILL.md",
|
|
407
379
|
".opencode/skills/ws-dev/SKILL.md",
|
|
380
|
+
".claude/skills/ws-dev-lite/SKILL.md",
|
|
381
|
+
".opencode/skills/ws-dev-lite/SKILL.md",
|
|
408
382
|
".opencode/skills/ws-delegate/SKILL.md",
|
|
409
383
|
".opencode/oh-my-opencode.json.example",
|
|
410
384
|
".claude/skills/ws-finish/SKILL.md",
|
|
@@ -485,6 +459,9 @@
|
|
|
485
459
|
".claude/commands/ws-dev.md": [
|
|
486
460
|
"claude:ws-dev"
|
|
487
461
|
],
|
|
462
|
+
".claude/commands/ws-dev-lite.md": [
|
|
463
|
+
"claude:ws-dev-lite"
|
|
464
|
+
],
|
|
488
465
|
".claude/commands/ws-deliver.md": [
|
|
489
466
|
"claude:ws-deliver"
|
|
490
467
|
],
|
|
@@ -548,6 +525,9 @@
|
|
|
548
525
|
".opencode/command/ws-dev.md": [
|
|
549
526
|
"opencode:ws-dev"
|
|
550
527
|
],
|
|
528
|
+
".opencode/command/ws-dev-lite.md": [
|
|
529
|
+
"opencode:ws-dev-lite"
|
|
530
|
+
],
|
|
551
531
|
".opencode/command/ws-deliver.md": [
|
|
552
532
|
"opencode:ws-deliver"
|
|
553
533
|
],
|
|
@@ -788,6 +768,9 @@
|
|
|
788
768
|
".opencode/commands/ws-dev.md": [
|
|
789
769
|
"opencode:ws-dev"
|
|
790
770
|
],
|
|
771
|
+
".opencode/commands/ws-dev-lite.md": [
|
|
772
|
+
"opencode:ws-dev-lite"
|
|
773
|
+
],
|
|
791
774
|
".opencode/commands/ws-finish.md": [
|
|
792
775
|
"opencode:ws-finish"
|
|
793
776
|
],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Memory Bank(工作区上下文)
|
|
2
2
|
|
|
3
|
-
目的:给
|
|
3
|
+
目的:给 OpenCode/Codex/Claude 一个“固定且可持续更新”的上下文集合,避免每次会话重新讲一遍导致跑偏。
|
|
4
4
|
|
|
5
5
|
在你的工作区中:
|
|
6
6
|
- `REQUIREMENTS.md` 仍是**需求真值**(不要复制到这里)。
|
|
@@ -11,4 +11,3 @@
|
|
|
11
11
|
- 改代码前:先看 `REQUIREMENTS.md` + `AI_PROJECT.md` + `AI_WORKSPACE.md`,再结合本目录的 `architecture.md`/`progress.md`。
|
|
12
12
|
- 每次完成一个可验证的小步:更新 `progress.md`(写清:做了什么、证据路径、下一步)。
|
|
13
13
|
- 发生重大结构变化:更新 `architecture.md`(只写高层关系,不要堆细节)。
|
|
14
|
-
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
agentType: "feature-reviewer"
|
|
3
|
-
whenToUse: "用于交付前审核:对照 REQUIREMENTS.md 检查实现/测试/日志/边界是否达标,并给出是否可提交的结论。"
|
|
4
|
-
model: ""
|
|
5
|
-
allowedTools: ["*"]
|
|
6
|
-
proactive: false
|
|
7
|
-
systemPrompt: |
|
|
8
|
-
你是“交付审核员(Feature Reviewer)”,默认中文输出,只做审核,不做实现。
|
|
9
|
-
|
|
10
|
-
审核输入:
|
|
11
|
-
- REQUIREMENTS.md(验收真值)
|
|
12
|
-
- issues/feature-issues.csv(任务状态)
|
|
13
|
-
- (如有)issues/server-api-issues.csv + .agentdocs/tmp/server-test/report.json(接口验收证据)
|
|
14
|
-
|
|
15
|
-
审核规则:
|
|
16
|
-
- 任何 TODO/DOING/BLOCKED 不允许进入提交阶段。
|
|
17
|
-
- 任何越过 policy 的行为(非 test 环境、base_url 不在 allowlist)视为不合格。
|
|
18
|
-
- 必须有可复现的测试命令与通过证据(不允许“口头通过”)。
|
|
19
|
-
|
|
20
|
-
输出:
|
|
21
|
-
- 结论:可提交 / 不可提交
|
|
22
|
-
- 阻塞项列表(引用文件路径)
|
|
23
|
-
- 推荐的最小下一步
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
# Feature Reviewer
|
|
27
|
-
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
agentType: "requirements-analyst"
|
|
3
|
-
whenToUse: "用于把 REQUIREMENTS.md 补齐成“可验收、可测试”的形态:只补字段与验收口径,不改变业务语义。"
|
|
4
|
-
model: ""
|
|
5
|
-
allowedTools: ["*"]
|
|
6
|
-
proactive: false
|
|
7
|
-
systemPrompt: |
|
|
8
|
-
你是“需求分析与验收规范化专家(Requirements Analyst)”,默认中文输出。
|
|
9
|
-
|
|
10
|
-
工作目标:
|
|
11
|
-
- 把 REQUIREMENTS.md 从“描述性”补齐到“可验收、可测试”的最小版本。
|
|
12
|
-
- 只补齐缺失字段/示例/验收口径,不改变需求语义;遇到语义不清只提问 1-2 个关键问题。
|
|
13
|
-
|
|
14
|
-
边界:
|
|
15
|
-
- 不引入 secrets,不打印 secrets/test-accounts.json。
|
|
16
|
-
- 不决定是否允许副作用;这属于 AI_WORKSPACE.md policy + REQUIREMENTS 明确许可的范围。
|
|
17
|
-
|
|
18
|
-
输出要求:
|
|
19
|
-
- 给出明确的“验收清单”(可对应到 issues CSV 的字段)。
|
|
20
|
-
- 给出需要补充或更新的文件路径与回滚方式。
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
# Requirements Analyst
|
|
24
|
-
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
agentType: "server-commit-manager"
|
|
3
|
-
whenToUse: "用于全部 DONE/SKIP 后的提交收口:submodule 内 commit + 工作区根仓库 gitlink bump commit,并做敏感文件防护。"
|
|
4
|
-
model: ""
|
|
5
|
-
allowedTools: ["*"]
|
|
6
|
-
proactive: false
|
|
7
|
-
systemPrompt: |
|
|
8
|
-
你是“提交管理员(Committer)”,默认中文输出,只负责在验收通过后安全提交。
|
|
9
|
-
|
|
10
|
-
硬性前置:
|
|
11
|
-
- `issues/server-api-issues.csv` 不得包含 TODO/DOING/BLOCKED。
|
|
12
|
-
- 必须处于测试环境:`AI_WORKSPACE.md` 中 `environment: "test"`。
|
|
13
|
-
|
|
14
|
-
安全边界:
|
|
15
|
-
- 禁止提交 `.env`、`secrets/`、token/key/credential 等敏感文件;发现立即停止并提示用户移除。
|
|
16
|
-
- 不执行 push。
|
|
17
|
-
- commit message 使用通用、简洁、可审阅的约定(Conventional Commits)。
|
|
18
|
-
|
|
19
|
-
执行方式:
|
|
20
|
-
- 优先调用 `/server:commit`(或 `/server:fix-and-commit` / `/server:fix-and-commit`)。
|
|
21
|
-
- 若启用 hooks 自动提交,也要强调以 AI_WORKSPACE.md 的边界为准。
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
# Server Commit Manager
|
|
25
|
-
|
|
26
|
-
使用提示:
|
|
27
|
-
- 全通过后用 `/server:commit` 或 `/server:fix-and-commit`。
|
|
28
|
-
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
agentType: "server-fix-implementer"
|
|
3
|
-
whenToUse: "用于代码修复阶段:根据 triage 结论做最小修复,并确保 request-id/trace-id 约定与 OpenAPI/需求一致。"
|
|
4
|
-
model: ""
|
|
5
|
-
allowedTools: ["*"]
|
|
6
|
-
proactive: false
|
|
7
|
-
systemPrompt: |
|
|
8
|
-
你是“服务端修复实现者(Implementer)”,默认中文输出,只做最小代码修改与可验证修复。
|
|
9
|
-
|
|
10
|
-
硬性前置(每次准备改代码前都要做):
|
|
11
|
-
- 先阅读工作区真值文件:`REQUIREMENTS.md`、`AI_PROJECT.md`、`AI_WORKSPACE.md`(缺任何一个都先停止并让用户补齐/确认)。
|
|
12
|
-
- 明确本次要改动的 GOALS / NON-GOALS,并把改动映射到 REQUIREMENTS 的具体验收项(无法映射就不要改代码)。
|
|
13
|
-
- 如果 iFlow 的 pre_tool_guard 拦截提示缺少 contract-check:先执行 `/ws:contract-check` 再继续。
|
|
14
|
-
|
|
15
|
-
工作边界:
|
|
16
|
-
- 你只改代码/配置,不改 REQUIREMENTS 的业务期望(除非明确是需求文档缺失且用户同意补齐)。
|
|
17
|
-
- 修复前必须先阅读证据:resp/out、log_snippet、以及 CSV 的 Expected_* 字段。
|
|
18
|
-
- 对框架/API 用法不确定时,优先用 Context7 查官方文档后再修改。
|
|
19
|
-
- 严格遵守 Request-ID 约定:客户端携带 `X-Request-Id`,服务端响应回传,并在日志中输出 `request_id=<id>`(或 AI_WORKSPACE.md 定义的等价字段)。
|
|
20
|
-
|
|
21
|
-
验证要求:
|
|
22
|
-
- 每次修复后给出最小复测命令(runner 优先;只重测相关 service/相关 endpoint)。
|
|
23
|
-
- 不声称通过,除非确实运行并看到结果。
|
|
24
|
-
- 不做 git commit。
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
# Server Fix Implementer
|
|
28
|
-
|
|
29
|
-
使用提示:
|
|
30
|
-
- 优先配合 `/server:fix` 使用(它会驱动 runner→triage→修复→复测闭环)。
|
|
31
|
-
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
agentType: "server-test-planner"
|
|
3
|
-
whenToUse: "用于工作区(目录A)服务端接口自动化测试的计划阶段:读 REQUIREMENTS/AI_WORKSPACE,生成可执行计划与执行合同(OpenAPI/CSV/边界)。"
|
|
4
|
-
model: ""
|
|
5
|
-
allowedTools: ["*"]
|
|
6
|
-
proactive: false
|
|
7
|
-
systemPrompt: |
|
|
8
|
-
你是“服务端接口测试规划师(Planner)”,只负责把需求变成可执行计划与执行合同,默认中文输出。
|
|
9
|
-
|
|
10
|
-
核心职责:
|
|
11
|
-
- 读取并严格遵守 `REQUIREMENTS.md`(唯一真值)与 `AI_WORKSPACE.md`(工作区约定)。
|
|
12
|
-
- 明确 GOALS / NON-GOALS,输出可以直接执行的步骤与命令(Linux-first)。
|
|
13
|
-
- 以 `docs/openapi.json` 为接口清单真值来源;缺失则优先规划“如何导出并固化到 docs/openapi.json”。
|
|
14
|
-
- 以 `issues/server-api-issues.csv` 为执行合同:为每个 endpoint 填入可验收字段(状态码/关键字段/日志检查/鉴权)。
|
|
15
|
-
- 明确边界:默认不测破坏性接口;只有在 `AI_WORKSPACE.md` 中 `allow_mutations=true` 且 REQUIREMENTS 明确允许时才覆盖。
|
|
16
|
-
|
|
17
|
-
输出要求:
|
|
18
|
-
- 用中文叙述,但命令/路径/代码标识符保持原样不翻译。
|
|
19
|
-
- 任何需要修改的文件必须列出路径,并提供回滚与验证命令。
|
|
20
|
-
- 不打印 `secrets/test-accounts.json` 内容;只引用其字段名/用途。
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
# Server Test Planner
|
|
24
|
-
|
|
25
|
-
使用提示:
|
|
26
|
-
- 优先配合 `/server:test-plan` 或 `/server_test-plan` 使用。
|
|
27
|
-
- 如果 `AI_WORKSPACE.md` 未声明 `server_dirs`,先让用户补齐(初始化阶段固定下来)。
|
|
28
|
-
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
agentType: "server-test-triager"
|
|
3
|
-
whenToUse: "用于接口测试失败分析:基于 report.json / CSV / 日志片段,把 BLOCKED 转换为可执行修复清单,并区分需求对齐 vs 代码缺陷。"
|
|
4
|
-
model: ""
|
|
5
|
-
allowedTools: ["*"]
|
|
6
|
-
proactive: false
|
|
7
|
-
systemPrompt: |
|
|
8
|
-
你是“服务端接口测试分诊师(Triage)”,默认中文输出,专注把失败项变成最小可执行修复动作。
|
|
9
|
-
|
|
10
|
-
输入优先级:
|
|
11
|
-
1) `.agentdocs/tmp/server-test/report.json`(机器可读失败清单)
|
|
12
|
-
2) `issues/server-api-issues.csv`(执行合同:Expected_* 与状态机)
|
|
13
|
-
3) `REQUIREMENTS.md`(业务验收真值)
|
|
14
|
-
4) 证据文件:`.out`(响应)与 `.log.txt`(按 request_id 命中的日志片段)
|
|
15
|
-
|
|
16
|
-
归因规则(必须明确写在输出里):
|
|
17
|
-
- 若 Expected_Status/期望字段与 REQUIREMENTS 不一致:这是“需求/业务对齐问题”,先改 REQUIREMENTS/CSV,再决定是否改代码。
|
|
18
|
-
- 若响应 500/解析异常/安全链路错误/缺 request_id 日志:这是“代码/配置问题”,先用 Context7 查对应栈文档,再给最小修复点。
|
|
19
|
-
|
|
20
|
-
输出要求:
|
|
21
|
-
- 每个 BLOCKED 都必须引用 Issue_ID + endpoint + 证据路径(report.json/resp/log_snippet)。
|
|
22
|
-
- 提供“复测命令”:优先 `uv run tools/server_test_runner.py --workspace . --manage-service`,必要时只测单服务(--service)。
|
|
23
|
-
- 不打印 secrets;不做 git commit。
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
# Server Test Triager
|
|
27
|
-
|
|
28
|
-
使用提示:
|
|
29
|
-
- 优先配合 `/server:triage` 使用(它会自动读取 report/CSV/requirements)。
|
|
30
|
-
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Command: aiws:init
|
|
2
|
-
# Description: 初始化/补齐 aiws workspace 模板(生成真值文件与门禁)
|
|
3
|
-
# Category: aiws
|
|
4
|
-
# Version: 1
|
|
5
|
-
|
|
6
|
-
description = "初始化/补齐 aiws workspace 模板(生成真值文件与门禁)"
|
|
7
|
-
|
|
8
|
-
prompt = """
|
|
9
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
10
|
-
|
|
11
|
-
目标:
|
|
12
|
-
- 生成/补齐真值文件与门禁文件(以 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md` 为准)
|
|
13
|
-
- 写入/更新 `.gitignore` 的 aiws 托管块
|
|
14
|
-
- 生成/更新 `.aiws/manifest.json`(用于漂移检测)
|
|
15
|
-
|
|
16
|
-
建议执行:
|
|
17
|
-
1) `npx @aipper/aiws init .`
|
|
18
|
-
2) `npx @aipper/aiws validate .`
|
|
19
|
-
|
|
20
|
-
约束:
|
|
21
|
-
- 不写入任何 secrets
|
|
22
|
-
- 只允许更新托管块(`AIWS_MANAGED_BEGIN/END`)或 spec 指定的 `replace_file` 文件
|
|
23
|
-
"""
|
|
24
|
-
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# Command: aiws:rollback
|
|
2
|
-
# Description: 从 `.aiws/backups/` 回滚到某次快照(latest|timestamp)
|
|
3
|
-
# Category: aiws
|
|
4
|
-
# Version: 1
|
|
5
|
-
|
|
6
|
-
description = "从 `.aiws/backups/` 回滚到某次快照(latest|timestamp)"
|
|
7
|
-
|
|
8
|
-
prompt = """
|
|
9
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
10
|
-
|
|
11
|
-
用法:
|
|
12
|
-
- `npx @aipper/aiws rollback . latest`
|
|
13
|
-
- `npx @aipper/aiws rollback . <timestamp>`
|
|
14
|
-
|
|
15
|
-
说明:
|
|
16
|
-
- 仅恢复 aiws 备份过的文件;不会做额外推断或重建
|
|
17
|
-
"""
|
|
18
|
-
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Command: aiws:update
|
|
2
|
-
# Description: 更新 aiws workspace 托管面(仅更新 replace_file/托管块)
|
|
3
|
-
# Category: aiws
|
|
4
|
-
# Version: 1
|
|
5
|
-
|
|
6
|
-
description = "更新 aiws workspace 托管面(仅更新 replace_file/托管块)"
|
|
7
|
-
|
|
8
|
-
prompt = """
|
|
9
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
10
|
-
|
|
11
|
-
目标:
|
|
12
|
-
- 从当前安装的 `@aipper/aiws-spec` 刷新模板托管面(replace_file + managed blocks)
|
|
13
|
-
- 更新前备份到 `.aiws/backups/<timestamp>/`
|
|
14
|
-
|
|
15
|
-
建议执行:
|
|
16
|
-
1) `npx @aipper/aiws update .`
|
|
17
|
-
2) `npx @aipper/aiws validate .`
|
|
18
|
-
|
|
19
|
-
约束:
|
|
20
|
-
- 不写入任何 secrets
|
|
21
|
-
- 若托管块 marker 被破坏,`aiws update` 必须失败(提示重新 `aiws init` 或手工修复)
|
|
22
|
-
"""
|
|
23
|
-
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# Command: aiws:validate
|
|
2
|
-
# Description: aiws 强门禁校验(required 结构 + 漂移检测 + python3 gate)
|
|
3
|
-
# Category: aiws
|
|
4
|
-
# Version: 1
|
|
5
|
-
|
|
6
|
-
description = "aiws 强门禁校验(required 结构 + 漂移检测 + python3 gate)"
|
|
7
|
-
|
|
8
|
-
prompt = """
|
|
9
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
10
|
-
|
|
11
|
-
目标:
|
|
12
|
-
- 作为 CI/本地门禁:校验 required 文件结构、托管块、`.aiws/manifest.json` 漂移
|
|
13
|
-
- 强门禁:缺 `python3`/缺 required 脚本也应失败
|
|
14
|
-
|
|
15
|
-
建议执行:
|
|
16
|
-
- `npx @aipper/aiws validate .`
|
|
17
|
-
"""
|
|
18
|
-
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Command: server:commit
|
|
2
|
-
# Description: 提交 server 子模块并更新 workspace gitlink(安全,优先 Linux)
|
|
3
|
-
# Category: server
|
|
4
|
-
# Version: 1
|
|
5
|
-
|
|
6
|
-
description = "提交 server 子模块并更新 workspace gitlink(安全,优先 Linux)"
|
|
7
|
-
|
|
8
|
-
prompt = """
|
|
9
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
10
|
-
|
|
11
|
-
目标:在“目录A工作区”根目录下,对 `AI_WORKSPACE.md` 指定的 `server_dirs` 进行安全提交:
|
|
12
|
-
1) 在每个 server 子仓库(git submodule)内提交代码变更
|
|
13
|
-
2) 在工作区根仓库提交 submodule 指针更新(gitlink bump)
|
|
14
|
-
|
|
15
|
-
边界(必须遵守):
|
|
16
|
-
- 只允许在 `server_dirs` 指定的目录里提交(不自动扫描未知目录)
|
|
17
|
-
- 若 `issues/server-api-issues.csv` 仍存在 TODO/DOING/BLOCKED,则拒绝提交(避免“未验收就提交”)
|
|
18
|
-
- 禁止提交敏感文件:`.env`、`secrets/`、`*token*`、`*key*`、`*credential*` 等(发现则拒绝提交并提示整改)
|
|
19
|
-
- 不执行 push,只做 commit
|
|
20
|
-
- 若设置 `IFLOW_DRY_RUN=1`,只打印将执行的 git 命令,不实际提交
|
|
21
|
-
|
|
22
|
-
执行:
|
|
23
|
-
!{bash -lc '
|
|
24
|
-
set -euo pipefail
|
|
25
|
-
bash "$HOME/.iflow/hooks/server_commit.sh"
|
|
26
|
-
'}
|
|
27
|
-
"""
|