@aipper/aiws-spec 0.0.18 → 0.0.20
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/package.json +1 -1
- package/templates/workspace/.agents/skills/ws-commit/SKILL.md +4 -4
- package/templates/workspace/.agents/skills/ws-dev/SKILL.md +3 -3
- package/templates/workspace/.agents/skills/ws-review/SKILL.md +7 -5
- package/templates/workspace/.claude/commands/aiws-change-archive.md +22 -0
- package/templates/workspace/.claude/commands/aiws-change-finish.md +22 -0
- package/templates/workspace/.claude/commands/aiws-change-list.md +21 -0
- package/templates/workspace/.claude/commands/aiws-change-new.md +22 -0
- package/templates/workspace/.claude/commands/aiws-change-next.md +22 -0
- package/templates/workspace/.claude/commands/aiws-change-start.md +22 -0
- package/templates/workspace/.claude/commands/aiws-change-status.md +22 -0
- package/templates/workspace/.claude/commands/aiws-change-sync.md +22 -0
- package/templates/workspace/.claude/commands/aiws-change-templates-init.md +21 -0
- package/templates/workspace/.claude/commands/aiws-change-templates-which.md +21 -0
- package/templates/workspace/.claude/commands/aiws-change-validate.md +22 -0
- package/templates/workspace/.claude/commands/aiws-hooks-install.md +21 -0
- package/templates/workspace/.claude/commands/aiws-hooks-status.md +21 -0
- package/templates/workspace/.claude/commands/ws-analyze.md +1 -1
- package/templates/workspace/.claude/commands/ws-bugfix.md +27 -0
- package/templates/workspace/.claude/commands/ws-commit.md +4 -4
- package/templates/workspace/.claude/commands/ws-deliver.md +4 -4
- package/templates/workspace/.claude/commands/ws-dev.md +3 -3
- package/templates/workspace/.claude/commands/ws-plan-verify.md +25 -0
- package/templates/workspace/.claude/commands/ws-plan.md +17 -0
- package/templates/workspace/.claude/commands/ws-preflight.md +4 -4
- package/templates/workspace/.claude/commands/ws-req-review.md +2 -2
- package/templates/workspace/.claude/commands/ws-review.md +7 -5
- package/templates/workspace/.codex/prompts/ws-dev.md +3 -3
- package/templates/workspace/.codex/prompts/ws-review.md +7 -5
- package/templates/workspace/.iflow/commands/ws-commit.toml +3 -3
- package/templates/workspace/.iflow/commands/ws-review.toml +5 -4
- package/templates/workspace/.opencode/command/aiws-change-archive.md +25 -0
- package/templates/workspace/.opencode/command/aiws-change-finish.md +25 -0
- package/templates/workspace/.opencode/command/aiws-change-list.md +24 -0
- package/templates/workspace/.opencode/command/aiws-change-new.md +25 -0
- package/templates/workspace/.opencode/command/aiws-change-next.md +25 -0
- package/templates/workspace/.opencode/command/aiws-change-start.md +25 -0
- package/templates/workspace/.opencode/command/aiws-change-status.md +25 -0
- package/templates/workspace/.opencode/command/aiws-change-sync.md +25 -0
- package/templates/workspace/.opencode/command/aiws-change-templates-init.md +24 -0
- package/templates/workspace/.opencode/command/aiws-change-templates-which.md +24 -0
- package/templates/workspace/.opencode/command/aiws-change-validate.md +25 -0
- package/templates/workspace/.opencode/command/aiws-hooks-install.md +24 -0
- package/templates/workspace/.opencode/command/aiws-hooks-status.md +24 -0
- package/templates/workspace/.opencode/command/ws-bugfix.md +30 -0
- package/templates/workspace/.opencode/command/ws-commit.md +4 -4
- package/templates/workspace/.opencode/command/ws-dev.md +3 -3
- package/templates/workspace/.opencode/command/ws-plan-verify.md +28 -0
- package/templates/workspace/.opencode/command/ws-plan.md +20 -0
- package/templates/workspace/.opencode/command/ws-review.md +7 -5
- package/templates/workspace/AGENTS.md +1 -1
- package/templates/workspace/changes/templates/proposal.md +1 -1
- package/templates/workspace/manifest.json +309 -50
package/package.json
CHANGED
|
@@ -21,7 +21,7 @@ description: 提交(当前分支可直提;submodule 感知;先审计/门
|
|
|
21
21
|
|
|
22
22
|
执行步骤(建议):
|
|
23
23
|
1) 运行 `$ws-preflight`(确保真值文件就绪)。
|
|
24
|
-
2) 运行 `$ws-review
|
|
24
|
+
2) 运行 `$ws-review`(优先生成审计证据:`changes/<change-id>/review/codex-review.md`;无 `change-id` 时回退 `.agentdocs/tmp/review/codex-review.md`)。
|
|
25
25
|
3) 运行门禁校验并写 stamp:
|
|
26
26
|
```bash
|
|
27
27
|
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
@@ -73,6 +73,6 @@ git show --stat --oneline -1
|
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
输出要求:
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
76
|
+
- `证据(Evidence):` `changes/<change-id>/review/codex-review.md`(无 `change-id` 时回退 `.agentdocs/tmp/review/codex-review.md`) + `.agentdocs/tmp/aiws-validate/*.json`
|
|
77
|
+
- `上下文(Context):` 当前分支 + 是否检测到 submodule + 若阻断则给出阻断原因
|
|
78
|
+
- `提交信息(Commit):` 最终使用的 commit message(仅当用户确认后)
|
|
@@ -33,6 +33,6 @@ fi
|
|
|
33
33
|
8) 交付收尾(推荐,减少手动 merge 出错):运行 `$ws-finish`(底层调用 `aiws change finish`,默认 fast-forward 安全合并回目标分支)。
|
|
34
34
|
|
|
35
35
|
输出要求:
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
36
|
+
- `变更文件(Changed):` 文件清单
|
|
37
|
+
- `验证(Verify):` 实际运行的命令 + 期望结果
|
|
38
|
+
- `证据(Evidence):` 证据路径(例如 `changes/<change-id>/review/...`、`plan/...`、`.agentdocs/tmp/aiws-validate/...` 或 `changes/<change-id>/...`)
|
|
@@ -5,7 +5,7 @@ description: 评审(提交前审计与证据落盘)
|
|
|
5
5
|
|
|
6
6
|
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
目标:在提交/交付前审计当前改动,对照真值文件检查是否越界,并把审计证据优先落盘到 `changes/<change-id>/review/`(若无法确定 `change-id` 再回退 `.agentdocs/tmp/review/`)。
|
|
9
9
|
|
|
10
10
|
步骤(建议):
|
|
11
11
|
1) 先做 preflight:定位项目根目录,读取 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`,输出约束摘要。
|
|
@@ -13,11 +13,13 @@ description: 评审(提交前审计与证据落盘)
|
|
|
13
13
|
- 是否存在越界目录改动/危险操作
|
|
14
14
|
- 是否有可复现验证命令与证据
|
|
15
15
|
- 是否维护了 `changes/<change-id>/` 或相关 `issues/*.csv`
|
|
16
|
-
3)
|
|
16
|
+
3) 将审计落盘到(目录不存在则创建):
|
|
17
|
+
- 默认:`changes/<change-id>/review/codex-review.md`
|
|
18
|
+
- 回退:`.agentdocs/tmp/review/codex-review.md`(仅在无法确定 `change-id` 时使用)
|
|
17
19
|
4) 回复中输出:
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
20
|
+
- `证据(Evidence):` 证据文件路径
|
|
21
|
+
- `主要风险(Top risks):` 3–8 条(高→低)
|
|
22
|
+
- `下一步(Next):` 最小修复清单 + 最小验证命令
|
|
21
23
|
|
|
22
24
|
安全:
|
|
23
25
|
- 不打印 secrets。
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-archive -->
|
|
2
|
+
# aiws change archive
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 归档已完成 change 工件
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
change_id="<change-id>"
|
|
12
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
13
|
+
./node_modules/.bin/aiws change archive "${change_id}"
|
|
14
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
15
|
+
aiws change archive "${change_id}"
|
|
16
|
+
else
|
|
17
|
+
npx @aipper/aiws change archive "${change_id}"
|
|
18
|
+
fi
|
|
19
|
+
```
|
|
20
|
+
<!-- AIWS_MANAGED_END:claude:aiws-change-archive -->
|
|
21
|
+
|
|
22
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-finish -->
|
|
2
|
+
# aiws change finish
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 将 change/<change-id> 安全 fast-forward 合并回目标分支
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
change_id="<change-id>" # 可留空(若当前分支可推断)
|
|
12
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
13
|
+
./node_modules/.bin/aiws change finish "${change_id}"
|
|
14
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
15
|
+
aiws change finish "${change_id}"
|
|
16
|
+
else
|
|
17
|
+
npx @aipper/aiws change finish "${change_id}"
|
|
18
|
+
fi
|
|
19
|
+
```
|
|
20
|
+
<!-- AIWS_MANAGED_END:claude:aiws-change-finish -->
|
|
21
|
+
|
|
22
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-list -->
|
|
2
|
+
# aiws change list
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 列出当前仓库 change 工件
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
12
|
+
./node_modules/.bin/aiws change list
|
|
13
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
14
|
+
aiws change list
|
|
15
|
+
else
|
|
16
|
+
npx @aipper/aiws change list
|
|
17
|
+
fi
|
|
18
|
+
```
|
|
19
|
+
<!-- AIWS_MANAGED_END:claude:aiws-change-list -->
|
|
20
|
+
|
|
21
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-new -->
|
|
2
|
+
# aiws change new
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 创建 changes/<change-id> 工件目录与基础文件
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
change_id="<change-id>"
|
|
12
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
13
|
+
./node_modules/.bin/aiws change new "${change_id}"
|
|
14
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
15
|
+
aiws change new "${change_id}"
|
|
16
|
+
else
|
|
17
|
+
npx @aipper/aiws change new "${change_id}"
|
|
18
|
+
fi
|
|
19
|
+
```
|
|
20
|
+
<!-- AIWS_MANAGED_END:claude:aiws-change-new -->
|
|
21
|
+
|
|
22
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-next -->
|
|
2
|
+
# aiws change next
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 输出 change 下一步建议动作
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
change_id="<change-id>" # 可留空(若当前分支可推断)
|
|
12
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
13
|
+
./node_modules/.bin/aiws change next "${change_id}"
|
|
14
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
15
|
+
aiws change next "${change_id}"
|
|
16
|
+
else
|
|
17
|
+
npx @aipper/aiws change next "${change_id}"
|
|
18
|
+
fi
|
|
19
|
+
```
|
|
20
|
+
<!-- AIWS_MANAGED_END:claude:aiws-change-next -->
|
|
21
|
+
|
|
22
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-start -->
|
|
2
|
+
# aiws change start
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 切到 change/<change-id> 并初始化变更工件
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
change_id="<change-id>"
|
|
12
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
13
|
+
./node_modules/.bin/aiws change start "${change_id}"
|
|
14
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
15
|
+
aiws change start "${change_id}"
|
|
16
|
+
else
|
|
17
|
+
npx @aipper/aiws change start "${change_id}"
|
|
18
|
+
fi
|
|
19
|
+
```
|
|
20
|
+
<!-- AIWS_MANAGED_END:claude:aiws-change-start -->
|
|
21
|
+
|
|
22
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-status -->
|
|
2
|
+
# aiws change status
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 查看 change 当前状态与阻断项
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
change_id="<change-id>" # 可留空(若当前分支可推断)
|
|
12
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
13
|
+
./node_modules/.bin/aiws change status "${change_id}"
|
|
14
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
15
|
+
aiws change status "${change_id}"
|
|
16
|
+
else
|
|
17
|
+
npx @aipper/aiws change status "${change_id}"
|
|
18
|
+
fi
|
|
19
|
+
```
|
|
20
|
+
<!-- AIWS_MANAGED_END:claude:aiws-change-status -->
|
|
21
|
+
|
|
22
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-sync -->
|
|
2
|
+
# aiws change sync
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 同步当前 change 与真值文件基线
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
change_id="<change-id>"
|
|
12
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
13
|
+
./node_modules/.bin/aiws change sync "${change_id}"
|
|
14
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
15
|
+
aiws change sync "${change_id}"
|
|
16
|
+
else
|
|
17
|
+
npx @aipper/aiws change sync "${change_id}"
|
|
18
|
+
fi
|
|
19
|
+
```
|
|
20
|
+
<!-- AIWS_MANAGED_END:claude:aiws-change-sync -->
|
|
21
|
+
|
|
22
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-templates-init -->
|
|
2
|
+
# aiws change templates init
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 初始化 changes/templates 覆盖模板
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
12
|
+
./node_modules/.bin/aiws change templates init
|
|
13
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
14
|
+
aiws change templates init
|
|
15
|
+
else
|
|
16
|
+
npx @aipper/aiws change templates init
|
|
17
|
+
fi
|
|
18
|
+
```
|
|
19
|
+
<!-- AIWS_MANAGED_END:claude:aiws-change-templates-init -->
|
|
20
|
+
|
|
21
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-templates-which -->
|
|
2
|
+
# aiws change templates which
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 查看 change 模板来源
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
12
|
+
./node_modules/.bin/aiws change templates which
|
|
13
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
14
|
+
aiws change templates which
|
|
15
|
+
else
|
|
16
|
+
npx @aipper/aiws change templates which
|
|
17
|
+
fi
|
|
18
|
+
```
|
|
19
|
+
<!-- AIWS_MANAGED_END:claude:aiws-change-templates-which -->
|
|
20
|
+
|
|
21
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-validate -->
|
|
2
|
+
# aiws change validate
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 按严格模式校验变更工件与绑定关系
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
change_id="<change-id>"
|
|
12
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
13
|
+
./node_modules/.bin/aiws change validate "${change_id}"
|
|
14
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
15
|
+
aiws change validate "${change_id}"
|
|
16
|
+
else
|
|
17
|
+
npx @aipper/aiws change validate "${change_id}"
|
|
18
|
+
fi
|
|
19
|
+
```
|
|
20
|
+
<!-- AIWS_MANAGED_END:claude:aiws-change-validate -->
|
|
21
|
+
|
|
22
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-hooks-install -->
|
|
2
|
+
# aiws hooks install
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 启用 git hooks 门禁(core.hooksPath=.githooks)
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
12
|
+
./node_modules/.bin/aiws hooks install .
|
|
13
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
14
|
+
aiws hooks install .
|
|
15
|
+
else
|
|
16
|
+
npx @aipper/aiws hooks install .
|
|
17
|
+
fi
|
|
18
|
+
```
|
|
19
|
+
<!-- AIWS_MANAGED_END:claude:aiws-hooks-install -->
|
|
20
|
+
|
|
21
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:aiws-hooks-status -->
|
|
2
|
+
# aiws hooks status
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 查看当前仓库 hooks 门禁状态(只读)
|
|
8
|
+
|
|
9
|
+
执行(在仓库根目录):
|
|
10
|
+
```bash
|
|
11
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
12
|
+
./node_modules/.bin/aiws hooks status .
|
|
13
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
14
|
+
aiws hooks status .
|
|
15
|
+
else
|
|
16
|
+
npx @aipper/aiws hooks status .
|
|
17
|
+
fi
|
|
18
|
+
```
|
|
19
|
+
<!-- AIWS_MANAGED_END:claude:aiws-hooks-status -->
|
|
20
|
+
|
|
21
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:ws-bugfix -->
|
|
2
|
+
# ws bugfix
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 通过禅道 MCP 拉单、图片证据落盘并汇总 `issues/fix_bus_issues.csv`。
|
|
8
|
+
|
|
9
|
+
建议流程:
|
|
10
|
+
1) 先运行 `/ws-preflight`。
|
|
11
|
+
2) 建立变更工件(推荐):`aiws change start <change-id> --hooks`(superproject+submodule 可用 `--worktree --submodules`)。
|
|
12
|
+
3) 通过已配置 zentao MCP 拉取 bug 字段与附件列表。
|
|
13
|
+
4) 落盘证据到 `changes/<change-id>/bug/`:
|
|
14
|
+
- `zentao-bug-<bug-id>.json`
|
|
15
|
+
- `zentao-bug-<bug-id>.md`
|
|
16
|
+
- `images/<bug-id>/...`
|
|
17
|
+
5) upsert `issues/fix_bus_issues.csv`(主键 `Bug_ID`)。
|
|
18
|
+
6) 进入 `/ws-dev` 修复并回填状态字段 `Fix_Status/Verify_Command/Updated_At`。
|
|
19
|
+
7) 质量门:`aiws change validate <change-id> --strict` + `aiws validate . --stamp`。
|
|
20
|
+
|
|
21
|
+
强制约束:
|
|
22
|
+
- 不自动 commit / push。
|
|
23
|
+
- 不写入 secrets(token、cookie、内网地址)。
|
|
24
|
+
- 无法复现时先输出阻塞信息并落盘,不直接改代码。
|
|
25
|
+
<!-- AIWS_MANAGED_END:claude:ws-bugfix -->
|
|
26
|
+
|
|
27
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
步骤(建议):
|
|
16
16
|
1) 先运行 `/ws-preflight`。
|
|
17
|
-
2) 运行 `/ws-review
|
|
17
|
+
2) 运行 `/ws-review`(优先落盘审计证据到 `changes/<change-id>/review/`)。
|
|
18
18
|
3) 运行门禁校验并写 stamp:
|
|
19
19
|
```bash
|
|
20
20
|
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
@@ -57,9 +57,9 @@ git commit -m "<message>"
|
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
输出必须包含:
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
60
|
+
- `证据(Evidence):` `changes/<change-id>/review/*`(无 change-id 时回退 `.agentdocs/tmp/review/*`) + `.agentdocs/tmp/aiws-validate/*`
|
|
61
|
+
- `上下文(Context):` 当前分支 + 是否检测到 submodule + 若阻断则给出阻断原因
|
|
62
|
+
- `下一步(Next):` 若存在 submodule 改动,先提示用户进入 submodule 提交
|
|
63
63
|
<!-- AIWS_MANAGED_END:claude:ws-commit -->
|
|
64
64
|
|
|
65
65
|
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
- 优先运行 `/ws-finish`(底层调用 `aiws change finish`,默认 `--ff-only`)
|
|
37
37
|
|
|
38
38
|
输出要求:
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
39
|
+
- `子模块(Submodules):` 每个 submodule 的 commit 摘要(repo/path → sha → message)
|
|
40
|
+
- `主仓库(Superproject):` commit 摘要
|
|
41
|
+
- `合并信息(Merge):` `/ws-finish` 输出(into/from)
|
|
42
|
+
- `证据(Evidence):` `.agentdocs/tmp/aiws-validate/*.json`(若使用 --stamp)
|
|
43
43
|
<!-- AIWS_MANAGED_END:claude:ws-deliver -->
|
|
44
44
|
|
|
45
45
|
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
7) 交付收尾(推荐,减少手动 merge 出错):运行 `/ws-finish`(底层调用 `aiws change finish`,默认 fast-forward 安全合并回目标分支)。
|
|
18
18
|
|
|
19
19
|
输出要求:
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
20
|
+
- `变更文件(Changed):` 文件清单
|
|
21
|
+
- `验证(Verify):` 实际运行的命令 + 期望结果
|
|
22
|
+
- `证据(Evidence):` 证据路径(例如 `changes/<change-id>/review/...`、`changes/<change-id>/...` 或 `.agentdocs/tmp/...`)
|
|
23
23
|
<!-- AIWS_MANAGED_END:claude:ws-dev -->
|
|
24
24
|
|
|
25
25
|
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:ws-plan-verify -->
|
|
2
|
+
# ws plan verify
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 执行前检查计划是否跑偏,并给出最小修正项。
|
|
8
|
+
|
|
9
|
+
执行建议:
|
|
10
|
+
1) 先运行 `/ws-preflight`。
|
|
11
|
+
2) 运行严格门禁:
|
|
12
|
+
```bash
|
|
13
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
14
|
+
./node_modules/.bin/aiws change validate <change-id> --strict
|
|
15
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
16
|
+
aiws change validate <change-id> --strict
|
|
17
|
+
else
|
|
18
|
+
npx @aipper/aiws change validate <change-id> --strict
|
|
19
|
+
fi
|
|
20
|
+
```
|
|
21
|
+
3) 若失败:先修 `proposal.md` / `plan` 的绑定字段与验证命令,再复跑。
|
|
22
|
+
4) 通过后再进入 `/ws-dev`。
|
|
23
|
+
<!-- AIWS_MANAGED_END:claude:ws-plan-verify -->
|
|
24
|
+
|
|
25
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<!-- AIWS_MANAGED_BEGIN:claude:ws-plan -->
|
|
2
|
+
# ws plan
|
|
3
|
+
|
|
4
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
+
|
|
6
|
+
目标:
|
|
7
|
+
- 生成可落盘执行计划(供 /ws-dev 执行)。
|
|
8
|
+
|
|
9
|
+
执行建议:
|
|
10
|
+
1) 先运行 `/ws-preflight`(对齐 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`)。
|
|
11
|
+
2) 生成或更新计划文件:`plan/YYYY-MM-DD_HH-MM-SS-<slug>.md`。
|
|
12
|
+
3) 计划至少包含:`绑定信息(Bindings)`、`目标(Goal)`、`非目标(Non-goals)`、`范围(Scope)`、`执行计划(Plan)`、`验证(Verify)`、`风险与回滚(Risks & Rollback)`、`证据(Evidence)`。
|
|
13
|
+
4) 若已有 `changes/<change-id>/proposal.md`,对齐 `计划文件(Plan_File)` / `合同行(Contract_Row)` / `证据路径(Evidence_Path)`。
|
|
14
|
+
5) 完成后先运行 `/ws-plan-verify`,通过再进入 `/ws-dev`。
|
|
15
|
+
<!-- AIWS_MANAGED_END:claude:ws-plan -->
|
|
16
|
+
|
|
17
|
+
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
- `REQUIREMENTS.md`
|
|
15
15
|
- `AI_WORKSPACE.md`
|
|
16
16
|
3) 输出:
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
17
|
+
- `根目录(Root):` <项目根路径>
|
|
18
|
+
- `已读取(Found):` <实际读取到的文件列表>
|
|
19
|
+
- `缺失(Missing):` <缺失文件列表>
|
|
20
|
+
- `关键规则(Key rules):` 3–8 条 bullet(范围/禁止项/必须产物/必须验证命令)
|
|
21
21
|
|
|
22
22
|
安全:
|
|
23
23
|
- 不打印 secrets;遇到疑似敏感值只提示“存在风险”但不要复述原文。
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
- `requirements/requirements-issues.csv`(若存在)
|
|
16
16
|
3) 输出固定结构的报告:
|
|
17
17
|
|
|
18
|
-
## Requirements QA
|
|
18
|
+
## 需求 QA(Requirements QA)
|
|
19
19
|
- 结论:是否可进入实现(是/否/有条件)
|
|
20
20
|
- 漂移风险:最容易导致不一致的点
|
|
21
21
|
- 可验收性缺口:缺少输入/输出/错误码/边界/示例的条目
|
|
22
|
-
-
|
|
22
|
+
- 完整性:非目标(Non-goals)/兼容性/鉴权/重试/并发/观测性/性能
|
|
23
23
|
- 一致性:与 `AI_PROJECT.md` 约束冲突点
|
|
24
24
|
- 可测试性与证据:最小验证命令 + 期望结果 + 证据路径
|
|
25
25
|
- 风险清单:3–8 条
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
目标:在提交/交付前审计当前改动,对照真值文件检查是否越界,并把审计证据优先落盘到 `changes/<change-id>/review/`(若无法确定 `change-id` 再回退 `.agentdocs/tmp/review/`)。
|
|
7
7
|
|
|
8
8
|
步骤(建议):
|
|
9
9
|
1) 先运行 `/ws-preflight`。
|
|
@@ -11,11 +11,13 @@
|
|
|
11
11
|
- 是否存在越界目录改动/危险操作
|
|
12
12
|
- 是否有可复现验证命令与证据
|
|
13
13
|
- 是否维护了 `changes/<change-id>/` 或相关 `issues/*.csv`
|
|
14
|
-
3)
|
|
14
|
+
3) 将审计落盘到(目录不存在则创建):
|
|
15
|
+
- 默认:`changes/<change-id>/review/claude-review.md`
|
|
16
|
+
- 回退:`.agentdocs/tmp/review/claude-review.md`(仅在无法确定 `change-id` 时使用)
|
|
15
17
|
4) 回复中输出:
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
18
|
+
- `证据(Evidence):` 证据文件路径
|
|
19
|
+
- `主要风险(Top risks):` 3–8 条(高→低)
|
|
20
|
+
- `下一步(Next):` 最小修复清单 + 最小验证命令
|
|
19
21
|
|
|
20
22
|
安全:
|
|
21
23
|
- 不打印 secrets。
|
|
@@ -21,9 +21,9 @@ argument-hint: ""
|
|
|
21
21
|
6) 提交前强制:`aiws validate .`(commit/push hooks 也会阻断)。
|
|
22
22
|
|
|
23
23
|
输出要求:
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
24
|
+
- `变更文件(Changed):` 文件清单
|
|
25
|
+
- `验证(Verify):` 实际运行的命令 + 期望结果
|
|
26
|
+
- `证据(Evidence):` 证据路径(例如 `changes/<change-id>/review/...`、`changes/<change-id>/...` 或 `.agentdocs/tmp/...`)
|
|
27
27
|
<!-- AIWS_MANAGED_END:codex:ws-dev -->
|
|
28
28
|
|
|
29
29
|
可在下方追加本项目对 Codex 的额外说明(托管块外内容会被保留)。
|
|
@@ -8,7 +8,7 @@ argument-hint: ""
|
|
|
8
8
|
|
|
9
9
|
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
目标:在提交/交付前审计当前改动,对照真值文件检查是否越界,并把审计证据优先落盘到 `changes/<change-id>/review/`(若无法确定 `change-id` 再回退 `.agentdocs/tmp/review/`)。
|
|
12
12
|
|
|
13
13
|
步骤(建议):
|
|
14
14
|
1) 先运行 `/ws-preflight`。
|
|
@@ -16,11 +16,13 @@ argument-hint: ""
|
|
|
16
16
|
- 是否存在越界目录改动/危险操作
|
|
17
17
|
- 是否有可复现验证命令与证据
|
|
18
18
|
- 是否维护了 `changes/<change-id>/` 或相关 `issues/*.csv`
|
|
19
|
-
3)
|
|
19
|
+
3) 将审计落盘到(目录不存在则创建):
|
|
20
|
+
- 默认:`changes/<change-id>/review/codex-review.md`
|
|
21
|
+
- 回退:`.agentdocs/tmp/review/codex-review.md`(仅在无法确定 `change-id` 时使用)
|
|
20
22
|
4) 回复中输出:
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
23
|
+
- `证据(Evidence):` 证据文件路径
|
|
24
|
+
- `主要风险(Top risks):` 3–8 条(高→低)
|
|
25
|
+
- `下一步(Next):` 最小修复清单 + 最小验证命令
|
|
24
26
|
|
|
25
27
|
安全:
|
|
26
28
|
- 不打印 secrets。
|
|
@@ -20,7 +20,7 @@ prompt = """
|
|
|
20
20
|
强制步骤:
|
|
21
21
|
1) 读取真值文件:`AI_PROJECT.md`、`REQUIREMENTS.md`、`AI_WORKSPACE.md`(缺失则先运行 `/aiws-init` 或 `aiws init .`)。
|
|
22
22
|
2) 若 iFlow 拦截写入:先执行 `/ws-contract-check`,再继续。
|
|
23
|
-
3) 先运行 `/ws-review
|
|
23
|
+
3) 先运行 `/ws-review`(优先落盘审计证据到 `changes/<change-id>/review/`)。
|
|
24
24
|
4) 运行门禁并写 stamp:`aiws validate . --stamp`(未安装全局 aiws 时可用 `npx @aipper/aiws validate . --stamp`)。
|
|
25
25
|
5) 输出提交上下文(必须输出给用户确认):
|
|
26
26
|
- `git branch --show-current`
|
|
@@ -39,6 +39,6 @@ prompt = """
|
|
|
39
39
|
10) 执行提交(不带 `--no-verify`):`git commit -m "<message>"`。
|
|
40
40
|
|
|
41
41
|
输出必须包含:
|
|
42
|
-
- Evidence
|
|
43
|
-
- Context
|
|
42
|
+
- 证据(Evidence):`changes/<change-id>/review/*`(无 change-id 时回退 `.agentdocs/tmp/review/*`) + `.agentdocs/tmp/aiws-validate/*`
|
|
43
|
+
- 上下文(Context):当前分支 + 是否检测到 submodule + 若阻断则给出阻断原因
|
|
44
44
|
"""
|