@aipper/aiws-spec 0.0.18 → 0.0.19
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/.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-bugfix.md +27 -0
- package/templates/workspace/.claude/commands/ws-plan-verify.md +25 -0
- package/templates/workspace/.claude/commands/ws-plan.md +17 -0
- 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-plan-verify.md +28 -0
- package/templates/workspace/.opencode/command/ws-plan.md +20 -0
- package/templates/workspace/manifest.json +309 -50
package/package.json
CHANGED
|
@@ -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 的额外说明(托管块外内容会被保留)。
|
|
@@ -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 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 变更归档:归档已完成的 change 工件
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-change-archive -->
|
|
5
|
+
# aiws change archive
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 归档已完成 change 工件
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
change_id="<change-id>"
|
|
15
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
16
|
+
./node_modules/.bin/aiws change archive "${change_id}"
|
|
17
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
18
|
+
aiws change archive "${change_id}"
|
|
19
|
+
else
|
|
20
|
+
npx @aipper/aiws change archive "${change_id}"
|
|
21
|
+
fi
|
|
22
|
+
```
|
|
23
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-change-archive -->
|
|
24
|
+
|
|
25
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 变更收尾:安全合并 change 分支回目标分支
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-change-finish -->
|
|
5
|
+
# aiws change finish
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 将 change/<change-id> 安全 fast-forward 合并回目标分支
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
change_id="<change-id>" # 可留空(若当前分支可推断)
|
|
15
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
16
|
+
./node_modules/.bin/aiws change finish "${change_id}"
|
|
17
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
18
|
+
aiws change finish "${change_id}"
|
|
19
|
+
else
|
|
20
|
+
npx @aipper/aiws change finish "${change_id}"
|
|
21
|
+
fi
|
|
22
|
+
```
|
|
23
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-change-finish -->
|
|
24
|
+
|
|
25
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 变更列表:列出当前仓库 change 工件
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-change-list -->
|
|
5
|
+
# aiws change list
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 列出当前仓库 change 工件
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
+
./node_modules/.bin/aiws change list
|
|
16
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
+
aiws change list
|
|
18
|
+
else
|
|
19
|
+
npx @aipper/aiws change list
|
|
20
|
+
fi
|
|
21
|
+
```
|
|
22
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-change-list -->
|
|
23
|
+
|
|
24
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 变更新建:创建 changes/<change-id> 工件
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-change-new -->
|
|
5
|
+
# aiws change new
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 创建 changes/<change-id> 工件目录与基础文件
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
change_id="<change-id>"
|
|
15
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
16
|
+
./node_modules/.bin/aiws change new "${change_id}"
|
|
17
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
18
|
+
aiws change new "${change_id}"
|
|
19
|
+
else
|
|
20
|
+
npx @aipper/aiws change new "${change_id}"
|
|
21
|
+
fi
|
|
22
|
+
```
|
|
23
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-change-new -->
|
|
24
|
+
|
|
25
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 变更下一步:输出当前 change 的建议动作
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-change-next -->
|
|
5
|
+
# aiws change next
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 输出 change 下一步建议动作
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
change_id="<change-id>" # 可留空(若当前分支可推断)
|
|
15
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
16
|
+
./node_modules/.bin/aiws change next "${change_id}"
|
|
17
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
18
|
+
aiws change next "${change_id}"
|
|
19
|
+
else
|
|
20
|
+
npx @aipper/aiws change next "${change_id}"
|
|
21
|
+
fi
|
|
22
|
+
```
|
|
23
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-change-next -->
|
|
24
|
+
|
|
25
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 变更开始:切到 change/<change-id> 并初始化工件
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-change-start -->
|
|
5
|
+
# aiws change start
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 切到 change/<change-id> 并初始化变更工件
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
change_id="<change-id>"
|
|
15
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
16
|
+
./node_modules/.bin/aiws change start "${change_id}"
|
|
17
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
18
|
+
aiws change start "${change_id}"
|
|
19
|
+
else
|
|
20
|
+
npx @aipper/aiws change start "${change_id}"
|
|
21
|
+
fi
|
|
22
|
+
```
|
|
23
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-change-start -->
|
|
24
|
+
|
|
25
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 变更状态:查看 change 状态与阻断项
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-change-status -->
|
|
5
|
+
# aiws change status
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 查看 change 当前状态与阻断项
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
change_id="<change-id>" # 可留空(若当前分支可推断)
|
|
15
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
16
|
+
./node_modules/.bin/aiws change status "${change_id}"
|
|
17
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
18
|
+
aiws change status "${change_id}"
|
|
19
|
+
else
|
|
20
|
+
npx @aipper/aiws change status "${change_id}"
|
|
21
|
+
fi
|
|
22
|
+
```
|
|
23
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-change-status -->
|
|
24
|
+
|
|
25
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 变更同步:同步 change 与真值基线
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-change-sync -->
|
|
5
|
+
# aiws change sync
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 同步当前 change 与真值文件基线
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
change_id="<change-id>"
|
|
15
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
16
|
+
./node_modules/.bin/aiws change sync "${change_id}"
|
|
17
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
18
|
+
aiws change sync "${change_id}"
|
|
19
|
+
else
|
|
20
|
+
npx @aipper/aiws change sync "${change_id}"
|
|
21
|
+
fi
|
|
22
|
+
```
|
|
23
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-change-sync -->
|
|
24
|
+
|
|
25
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 模板初始化:初始化 changes/templates 覆盖模板
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-change-templates-init -->
|
|
5
|
+
# aiws change templates init
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 初始化 changes/templates 覆盖模板
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
+
./node_modules/.bin/aiws change templates init
|
|
16
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
+
aiws change templates init
|
|
18
|
+
else
|
|
19
|
+
npx @aipper/aiws change templates init
|
|
20
|
+
fi
|
|
21
|
+
```
|
|
22
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-change-templates-init -->
|
|
23
|
+
|
|
24
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 模板来源:查看 change templates 来源
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-change-templates-which -->
|
|
5
|
+
# aiws change templates which
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 查看 change 模板来源
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
+
./node_modules/.bin/aiws change templates which
|
|
16
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
+
aiws change templates which
|
|
18
|
+
else
|
|
19
|
+
npx @aipper/aiws change templates which
|
|
20
|
+
fi
|
|
21
|
+
```
|
|
22
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-change-templates-which -->
|
|
23
|
+
|
|
24
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 变更校验:按 strict 校验变更工件与绑定
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-change-validate -->
|
|
5
|
+
# aiws change validate
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 按严格模式校验变更工件与绑定关系
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
change_id="<change-id>"
|
|
15
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
16
|
+
./node_modules/.bin/aiws change validate "${change_id}"
|
|
17
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
18
|
+
aiws change validate "${change_id}"
|
|
19
|
+
else
|
|
20
|
+
npx @aipper/aiws change validate "${change_id}"
|
|
21
|
+
fi
|
|
22
|
+
```
|
|
23
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-change-validate -->
|
|
24
|
+
|
|
25
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Hooks 启用:启用 git hooks 门禁
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-hooks-install -->
|
|
5
|
+
# aiws hooks install
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 启用 git hooks 门禁(core.hooksPath=.githooks)
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
+
./node_modules/.bin/aiws hooks install .
|
|
16
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
+
aiws hooks install .
|
|
18
|
+
else
|
|
19
|
+
npx @aipper/aiws hooks install .
|
|
20
|
+
fi
|
|
21
|
+
```
|
|
22
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-hooks-install -->
|
|
23
|
+
|
|
24
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Hooks 状态:查看当前仓库 hooks 门禁状态
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:aiws-hooks-status -->
|
|
5
|
+
# aiws hooks status
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 查看当前仓库 hooks 门禁状态(只读)
|
|
11
|
+
|
|
12
|
+
执行(在仓库根目录):
|
|
13
|
+
```bash
|
|
14
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
+
./node_modules/.bin/aiws hooks status .
|
|
16
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
+
aiws hooks status .
|
|
18
|
+
else
|
|
19
|
+
npx @aipper/aiws hooks status .
|
|
20
|
+
fi
|
|
21
|
+
```
|
|
22
|
+
<!-- AIWS_MANAGED_END:opencode:aiws-hooks-status -->
|
|
23
|
+
|
|
24
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 缺陷修复:禅道 MCP 拉单、图片证据落盘并汇总 fix_bus_issues.csv
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:ws-bugfix -->
|
|
5
|
+
# ws bugfix
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 通过禅道 MCP 拉单、图片证据落盘并汇总 `issues/fix_bus_issues.csv`。
|
|
11
|
+
|
|
12
|
+
建议流程:
|
|
13
|
+
1) 先运行 `/ws-preflight`。
|
|
14
|
+
2) 建立变更工件(推荐):`aiws change start <change-id> --hooks`(superproject+submodule 可用 `--worktree --submodules`)。
|
|
15
|
+
3) 通过已配置 zentao MCP 拉取 bug 字段与附件列表。
|
|
16
|
+
4) 落盘证据到 `changes/<change-id>/bug/`:
|
|
17
|
+
- `zentao-bug-<bug-id>.json`
|
|
18
|
+
- `zentao-bug-<bug-id>.md`
|
|
19
|
+
- `images/<bug-id>/...`
|
|
20
|
+
5) upsert `issues/fix_bus_issues.csv`(主键 `Bug_ID`)。
|
|
21
|
+
6) 进入 `/ws-dev` 修复并回填 `Fix_Status/Verify_Command/Updated_At`。
|
|
22
|
+
7) 质量门:`aiws change validate <change-id> --strict` + `aiws validate . --stamp`。
|
|
23
|
+
|
|
24
|
+
强制约束:
|
|
25
|
+
- 不自动 commit / push。
|
|
26
|
+
- 不写入 secrets(token、cookie、内网地址)。
|
|
27
|
+
- 无法复现时先输出阻塞信息并落盘,不直接改代码。
|
|
28
|
+
<!-- AIWS_MANAGED_END:opencode:ws-bugfix -->
|
|
29
|
+
|
|
30
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 计划质检:执行前检查并给出最小修正项
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:ws-plan-verify -->
|
|
5
|
+
# ws plan verify
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 执行前检查计划是否跑偏,并给出最小修正项。
|
|
11
|
+
|
|
12
|
+
执行建议:
|
|
13
|
+
1) 先运行 `/ws-preflight`。
|
|
14
|
+
2) 运行严格门禁:
|
|
15
|
+
```bash
|
|
16
|
+
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
17
|
+
./node_modules/.bin/aiws change validate <change-id> --strict
|
|
18
|
+
elif command -v aiws >/dev/null 2>&1; then
|
|
19
|
+
aiws change validate <change-id> --strict
|
|
20
|
+
else
|
|
21
|
+
npx @aipper/aiws change validate <change-id> --strict
|
|
22
|
+
fi
|
|
23
|
+
```
|
|
24
|
+
3) 若失败:先修 `proposal.md` / `plan` 的绑定字段与验证命令,再复跑。
|
|
25
|
+
4) 通过后再进入 `/ws-dev`。
|
|
26
|
+
<!-- AIWS_MANAGED_END:opencode:ws-plan-verify -->
|
|
27
|
+
|
|
28
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 规划:生成可落盘 plan 工件
|
|
3
|
+
---
|
|
4
|
+
<!-- AIWS_MANAGED_BEGIN:opencode:ws-plan -->
|
|
5
|
+
# ws plan
|
|
6
|
+
|
|
7
|
+
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
8
|
+
|
|
9
|
+
目标:
|
|
10
|
+
- 生成可落盘执行计划(供 /ws-dev 执行)。
|
|
11
|
+
|
|
12
|
+
执行建议:
|
|
13
|
+
1) 先运行 `/ws-preflight`(对齐 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`)。
|
|
14
|
+
2) 生成或更新计划文件:`plan/YYYY-MM-DD_HH-MM-SS-<slug>.md`。
|
|
15
|
+
3) 计划至少包含:`Bindings`、`Goal`、`Non-goals`、`Scope`、`Plan`、`Verify`、`Risks & Rollback`、`Evidence`。
|
|
16
|
+
4) 若已有 `changes/<change-id>/proposal.md`,对齐 `Plan_File` / `Contract_Row` / `Evidence_Path`。
|
|
17
|
+
5) 完成后先运行 `/ws-plan-verify`,通过再进入 `/ws-dev`。
|
|
18
|
+
<!-- AIWS_MANAGED_END:opencode:ws-plan -->
|
|
19
|
+
|
|
20
|
+
可在下方追加本项目对 OpenCode 的额外说明(托管块外内容会被保留)。
|
|
@@ -3,7 +3,12 @@
|
|
|
3
3
|
"template_version": 2,
|
|
4
4
|
"defaults": {
|
|
5
5
|
"include_optional": true,
|
|
6
|
-
"tools": [
|
|
6
|
+
"tools": [
|
|
7
|
+
"claude",
|
|
8
|
+
"opencode",
|
|
9
|
+
"codex",
|
|
10
|
+
"iflow"
|
|
11
|
+
]
|
|
7
12
|
},
|
|
8
13
|
"required": [
|
|
9
14
|
"AGENTS.md",
|
|
@@ -51,6 +56,7 @@
|
|
|
51
56
|
".opencode/command/ws-dev.md",
|
|
52
57
|
".opencode/command/ws-deliver.md",
|
|
53
58
|
".opencode/command/ws-analyze.md",
|
|
59
|
+
".opencode/command/ws-bugfix.md",
|
|
54
60
|
".opencode/command/ws-pull.md",
|
|
55
61
|
".opencode/command/ws-push.md",
|
|
56
62
|
".opencode/command/ws-finish.md",
|
|
@@ -99,7 +105,38 @@
|
|
|
99
105
|
".iflow/commands/ws-req-change.toml",
|
|
100
106
|
".iflow/commands/ws-req-contract-sync.toml",
|
|
101
107
|
".iflow/commands/ws-req-contract-validate.toml",
|
|
102
|
-
".iflow/commands/ws-req-flow-sync.toml"
|
|
108
|
+
".iflow/commands/ws-req-flow-sync.toml",
|
|
109
|
+
".claude/commands/aiws-change-archive.md",
|
|
110
|
+
".claude/commands/aiws-change-finish.md",
|
|
111
|
+
".claude/commands/aiws-change-list.md",
|
|
112
|
+
".claude/commands/aiws-change-new.md",
|
|
113
|
+
".claude/commands/aiws-change-next.md",
|
|
114
|
+
".claude/commands/aiws-change-start.md",
|
|
115
|
+
".claude/commands/aiws-change-status.md",
|
|
116
|
+
".claude/commands/aiws-change-sync.md",
|
|
117
|
+
".claude/commands/aiws-change-templates-init.md",
|
|
118
|
+
".claude/commands/aiws-change-templates-which.md",
|
|
119
|
+
".claude/commands/aiws-change-validate.md",
|
|
120
|
+
".claude/commands/aiws-hooks-install.md",
|
|
121
|
+
".claude/commands/aiws-hooks-status.md",
|
|
122
|
+
".claude/commands/ws-plan.md",
|
|
123
|
+
".claude/commands/ws-plan-verify.md",
|
|
124
|
+
".claude/commands/ws-bugfix.md",
|
|
125
|
+
".opencode/command/aiws-change-archive.md",
|
|
126
|
+
".opencode/command/aiws-change-finish.md",
|
|
127
|
+
".opencode/command/aiws-change-list.md",
|
|
128
|
+
".opencode/command/aiws-change-new.md",
|
|
129
|
+
".opencode/command/aiws-change-next.md",
|
|
130
|
+
".opencode/command/aiws-change-start.md",
|
|
131
|
+
".opencode/command/aiws-change-status.md",
|
|
132
|
+
".opencode/command/aiws-change-sync.md",
|
|
133
|
+
".opencode/command/aiws-change-templates-init.md",
|
|
134
|
+
".opencode/command/aiws-change-templates-which.md",
|
|
135
|
+
".opencode/command/aiws-change-validate.md",
|
|
136
|
+
".opencode/command/aiws-hooks-install.md",
|
|
137
|
+
".opencode/command/aiws-hooks-status.md",
|
|
138
|
+
".opencode/command/ws-plan.md",
|
|
139
|
+
".opencode/command/ws-plan-verify.md"
|
|
103
140
|
],
|
|
104
141
|
"optional": [
|
|
105
142
|
".iflow/agents/**",
|
|
@@ -158,6 +195,7 @@
|
|
|
158
195
|
".agents/skills/ws-req-review/SKILL.md",
|
|
159
196
|
".agents/skills/ws-review/SKILL.md",
|
|
160
197
|
".agents/skills/ws-rule/SKILL.md",
|
|
198
|
+
".opencode/command/ws-bugfix.md",
|
|
161
199
|
".iflow/commands/aiws-init.toml",
|
|
162
200
|
".iflow/commands/aiws-update.toml",
|
|
163
201
|
".iflow/commands/aiws-validate.toml",
|
|
@@ -194,56 +232,277 @@
|
|
|
194
232
|
".iflow/commands/ws-req-change.toml",
|
|
195
233
|
".iflow/commands/ws-req-contract-sync.toml",
|
|
196
234
|
".iflow/commands/ws-req-contract-validate.toml",
|
|
197
|
-
".iflow/commands/ws-req-flow-sync.toml"
|
|
235
|
+
".iflow/commands/ws-req-flow-sync.toml",
|
|
236
|
+
".claude/commands/aiws-change-archive.md",
|
|
237
|
+
".claude/commands/aiws-change-finish.md",
|
|
238
|
+
".claude/commands/aiws-change-list.md",
|
|
239
|
+
".claude/commands/aiws-change-new.md",
|
|
240
|
+
".claude/commands/aiws-change-next.md",
|
|
241
|
+
".claude/commands/aiws-change-start.md",
|
|
242
|
+
".claude/commands/aiws-change-status.md",
|
|
243
|
+
".claude/commands/aiws-change-sync.md",
|
|
244
|
+
".claude/commands/aiws-change-templates-init.md",
|
|
245
|
+
".claude/commands/aiws-change-templates-which.md",
|
|
246
|
+
".claude/commands/aiws-change-validate.md",
|
|
247
|
+
".claude/commands/aiws-hooks-install.md",
|
|
248
|
+
".claude/commands/aiws-hooks-status.md",
|
|
249
|
+
".claude/commands/ws-plan.md",
|
|
250
|
+
".claude/commands/ws-plan-verify.md",
|
|
251
|
+
".claude/commands/ws-bugfix.md",
|
|
252
|
+
".opencode/command/aiws-change-archive.md",
|
|
253
|
+
".opencode/command/aiws-change-finish.md",
|
|
254
|
+
".opencode/command/aiws-change-list.md",
|
|
255
|
+
".opencode/command/aiws-change-new.md",
|
|
256
|
+
".opencode/command/aiws-change-next.md",
|
|
257
|
+
".opencode/command/aiws-change-start.md",
|
|
258
|
+
".opencode/command/aiws-change-status.md",
|
|
259
|
+
".opencode/command/aiws-change-sync.md",
|
|
260
|
+
".opencode/command/aiws-change-templates-init.md",
|
|
261
|
+
".opencode/command/aiws-change-templates-which.md",
|
|
262
|
+
".opencode/command/aiws-change-validate.md",
|
|
263
|
+
".opencode/command/aiws-hooks-install.md",
|
|
264
|
+
".opencode/command/aiws-hooks-status.md",
|
|
265
|
+
".opencode/command/ws-plan.md",
|
|
266
|
+
".opencode/command/ws-plan-verify.md"
|
|
198
267
|
],
|
|
199
268
|
"managed_blocks": {
|
|
200
|
-
"AGENTS.md": [
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
"
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
".
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
".
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
".
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
".claude/commands/
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
".claude/commands/
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
".claude/commands/
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
".claude/commands/
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
".
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
".
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
".
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
".
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
".
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
".
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
".
|
|
246
|
-
|
|
269
|
+
"AGENTS.md": [
|
|
270
|
+
"agents"
|
|
271
|
+
],
|
|
272
|
+
"AI_PROJECT.md": [
|
|
273
|
+
"ai-project:core"
|
|
274
|
+
],
|
|
275
|
+
"AI_WORKSPACE.md": [
|
|
276
|
+
"ai-workspace:core"
|
|
277
|
+
],
|
|
278
|
+
"REQUIREMENTS.md": [
|
|
279
|
+
"requirements:contract"
|
|
280
|
+
],
|
|
281
|
+
".gitignore": [
|
|
282
|
+
"gitignore"
|
|
283
|
+
],
|
|
284
|
+
".claude/commands/aiws-init.md": [
|
|
285
|
+
"claude:aiws-init"
|
|
286
|
+
],
|
|
287
|
+
".claude/commands/aiws-update.md": [
|
|
288
|
+
"claude:aiws-update"
|
|
289
|
+
],
|
|
290
|
+
".claude/commands/aiws-validate.md": [
|
|
291
|
+
"claude:aiws-validate"
|
|
292
|
+
],
|
|
293
|
+
".claude/commands/aiws-rollback.md": [
|
|
294
|
+
"claude:aiws-rollback"
|
|
295
|
+
],
|
|
296
|
+
".claude/commands/ws-preflight.md": [
|
|
297
|
+
"claude:ws-preflight"
|
|
298
|
+
],
|
|
299
|
+
".claude/commands/ws-migrate.md": [
|
|
300
|
+
"claude:ws-migrate"
|
|
301
|
+
],
|
|
302
|
+
".claude/commands/ws-dev.md": [
|
|
303
|
+
"claude:ws-dev"
|
|
304
|
+
],
|
|
305
|
+
".claude/commands/ws-deliver.md": [
|
|
306
|
+
"claude:ws-deliver"
|
|
307
|
+
],
|
|
308
|
+
".claude/commands/ws-analyze.md": [
|
|
309
|
+
"claude:ws-analyze"
|
|
310
|
+
],
|
|
311
|
+
".claude/commands/ws-pull.md": [
|
|
312
|
+
"claude:ws-pull"
|
|
313
|
+
],
|
|
314
|
+
".claude/commands/ws-push.md": [
|
|
315
|
+
"claude:ws-push"
|
|
316
|
+
],
|
|
317
|
+
".claude/commands/ws-finish.md": [
|
|
318
|
+
"claude:ws-finish"
|
|
319
|
+
],
|
|
320
|
+
".claude/commands/ws-submodule-setup.md": [
|
|
321
|
+
"claude:ws-submodule-setup"
|
|
322
|
+
],
|
|
323
|
+
".claude/commands/ws-review.md": [
|
|
324
|
+
"claude:ws-review"
|
|
325
|
+
],
|
|
326
|
+
".claude/commands/ws-commit.md": [
|
|
327
|
+
"claude:ws-commit"
|
|
328
|
+
],
|
|
329
|
+
".claude/commands/ws-rule.md": [
|
|
330
|
+
"claude:ws-rule"
|
|
331
|
+
],
|
|
332
|
+
".claude/commands/ws-req-review.md": [
|
|
333
|
+
"claude:ws-req-review"
|
|
334
|
+
],
|
|
335
|
+
".claude/commands/ws-req-change.md": [
|
|
336
|
+
"claude:ws-req-change"
|
|
337
|
+
],
|
|
338
|
+
".claude/commands/ws-req-contract-sync.md": [
|
|
339
|
+
"claude:ws-req-contract-sync"
|
|
340
|
+
],
|
|
341
|
+
".claude/commands/ws-req-contract-validate.md": [
|
|
342
|
+
"claude:ws-req-contract-validate"
|
|
343
|
+
],
|
|
344
|
+
".claude/commands/ws-req-flow-sync.md": [
|
|
345
|
+
"claude:ws-req-flow-sync"
|
|
346
|
+
],
|
|
347
|
+
".opencode/command/aiws-init.md": [
|
|
348
|
+
"opencode:aiws-init"
|
|
349
|
+
],
|
|
350
|
+
".opencode/command/aiws-update.md": [
|
|
351
|
+
"opencode:aiws-update"
|
|
352
|
+
],
|
|
353
|
+
".opencode/command/aiws-validate.md": [
|
|
354
|
+
"opencode:aiws-validate"
|
|
355
|
+
],
|
|
356
|
+
".opencode/command/aiws-rollback.md": [
|
|
357
|
+
"opencode:aiws-rollback"
|
|
358
|
+
],
|
|
359
|
+
".opencode/command/ws-preflight.md": [
|
|
360
|
+
"opencode:ws-preflight"
|
|
361
|
+
],
|
|
362
|
+
".opencode/command/ws-migrate.md": [
|
|
363
|
+
"opencode:ws-migrate"
|
|
364
|
+
],
|
|
365
|
+
".opencode/command/ws-dev.md": [
|
|
366
|
+
"opencode:ws-dev"
|
|
367
|
+
],
|
|
368
|
+
".opencode/command/ws-deliver.md": [
|
|
369
|
+
"opencode:ws-deliver"
|
|
370
|
+
],
|
|
371
|
+
".opencode/command/ws-analyze.md": [
|
|
372
|
+
"opencode:ws-analyze"
|
|
373
|
+
],
|
|
374
|
+
".opencode/command/ws-bugfix.md": [
|
|
375
|
+
"opencode:ws-bugfix"
|
|
376
|
+
],
|
|
377
|
+
".opencode/command/ws-pull.md": [
|
|
378
|
+
"opencode:ws-pull"
|
|
379
|
+
],
|
|
380
|
+
".opencode/command/ws-push.md": [
|
|
381
|
+
"opencode:ws-push"
|
|
382
|
+
],
|
|
383
|
+
".opencode/command/ws-finish.md": [
|
|
384
|
+
"opencode:ws-finish"
|
|
385
|
+
],
|
|
386
|
+
".opencode/command/ws-submodule-setup.md": [
|
|
387
|
+
"opencode:ws-submodule-setup"
|
|
388
|
+
],
|
|
389
|
+
".opencode/command/ws-review.md": [
|
|
390
|
+
"opencode:ws-review"
|
|
391
|
+
],
|
|
392
|
+
".opencode/command/ws-commit.md": [
|
|
393
|
+
"opencode:ws-commit"
|
|
394
|
+
],
|
|
395
|
+
".opencode/command/ws-rule.md": [
|
|
396
|
+
"opencode:ws-rule"
|
|
397
|
+
],
|
|
398
|
+
".opencode/command/ws-req-review.md": [
|
|
399
|
+
"opencode:ws-req-review"
|
|
400
|
+
],
|
|
401
|
+
".opencode/command/ws-req-change.md": [
|
|
402
|
+
"opencode:ws-req-change"
|
|
403
|
+
],
|
|
404
|
+
".opencode/command/ws-req-contract-sync.md": [
|
|
405
|
+
"opencode:ws-req-contract-sync"
|
|
406
|
+
],
|
|
407
|
+
".opencode/command/ws-req-contract-validate.md": [
|
|
408
|
+
"opencode:ws-req-contract-validate"
|
|
409
|
+
],
|
|
410
|
+
".opencode/command/ws-req-flow-sync.md": [
|
|
411
|
+
"opencode:ws-req-flow-sync"
|
|
412
|
+
],
|
|
413
|
+
".claude/commands/aiws-change-archive.md": [
|
|
414
|
+
"claude:aiws-change-archive"
|
|
415
|
+
],
|
|
416
|
+
".claude/commands/aiws-change-finish.md": [
|
|
417
|
+
"claude:aiws-change-finish"
|
|
418
|
+
],
|
|
419
|
+
".claude/commands/aiws-change-list.md": [
|
|
420
|
+
"claude:aiws-change-list"
|
|
421
|
+
],
|
|
422
|
+
".claude/commands/aiws-change-new.md": [
|
|
423
|
+
"claude:aiws-change-new"
|
|
424
|
+
],
|
|
425
|
+
".claude/commands/aiws-change-next.md": [
|
|
426
|
+
"claude:aiws-change-next"
|
|
427
|
+
],
|
|
428
|
+
".claude/commands/aiws-change-start.md": [
|
|
429
|
+
"claude:aiws-change-start"
|
|
430
|
+
],
|
|
431
|
+
".claude/commands/aiws-change-status.md": [
|
|
432
|
+
"claude:aiws-change-status"
|
|
433
|
+
],
|
|
434
|
+
".claude/commands/aiws-change-sync.md": [
|
|
435
|
+
"claude:aiws-change-sync"
|
|
436
|
+
],
|
|
437
|
+
".claude/commands/aiws-change-templates-init.md": [
|
|
438
|
+
"claude:aiws-change-templates-init"
|
|
439
|
+
],
|
|
440
|
+
".claude/commands/aiws-change-templates-which.md": [
|
|
441
|
+
"claude:aiws-change-templates-which"
|
|
442
|
+
],
|
|
443
|
+
".claude/commands/aiws-change-validate.md": [
|
|
444
|
+
"claude:aiws-change-validate"
|
|
445
|
+
],
|
|
446
|
+
".claude/commands/aiws-hooks-install.md": [
|
|
447
|
+
"claude:aiws-hooks-install"
|
|
448
|
+
],
|
|
449
|
+
".claude/commands/aiws-hooks-status.md": [
|
|
450
|
+
"claude:aiws-hooks-status"
|
|
451
|
+
],
|
|
452
|
+
".claude/commands/ws-plan.md": [
|
|
453
|
+
"claude:ws-plan"
|
|
454
|
+
],
|
|
455
|
+
".claude/commands/ws-plan-verify.md": [
|
|
456
|
+
"claude:ws-plan-verify"
|
|
457
|
+
],
|
|
458
|
+
".claude/commands/ws-bugfix.md": [
|
|
459
|
+
"claude:ws-bugfix"
|
|
460
|
+
],
|
|
461
|
+
".opencode/command/aiws-change-archive.md": [
|
|
462
|
+
"opencode:aiws-change-archive"
|
|
463
|
+
],
|
|
464
|
+
".opencode/command/aiws-change-finish.md": [
|
|
465
|
+
"opencode:aiws-change-finish"
|
|
466
|
+
],
|
|
467
|
+
".opencode/command/aiws-change-list.md": [
|
|
468
|
+
"opencode:aiws-change-list"
|
|
469
|
+
],
|
|
470
|
+
".opencode/command/aiws-change-new.md": [
|
|
471
|
+
"opencode:aiws-change-new"
|
|
472
|
+
],
|
|
473
|
+
".opencode/command/aiws-change-next.md": [
|
|
474
|
+
"opencode:aiws-change-next"
|
|
475
|
+
],
|
|
476
|
+
".opencode/command/aiws-change-start.md": [
|
|
477
|
+
"opencode:aiws-change-start"
|
|
478
|
+
],
|
|
479
|
+
".opencode/command/aiws-change-status.md": [
|
|
480
|
+
"opencode:aiws-change-status"
|
|
481
|
+
],
|
|
482
|
+
".opencode/command/aiws-change-sync.md": [
|
|
483
|
+
"opencode:aiws-change-sync"
|
|
484
|
+
],
|
|
485
|
+
".opencode/command/aiws-change-templates-init.md": [
|
|
486
|
+
"opencode:aiws-change-templates-init"
|
|
487
|
+
],
|
|
488
|
+
".opencode/command/aiws-change-templates-which.md": [
|
|
489
|
+
"opencode:aiws-change-templates-which"
|
|
490
|
+
],
|
|
491
|
+
".opencode/command/aiws-change-validate.md": [
|
|
492
|
+
"opencode:aiws-change-validate"
|
|
493
|
+
],
|
|
494
|
+
".opencode/command/aiws-hooks-install.md": [
|
|
495
|
+
"opencode:aiws-hooks-install"
|
|
496
|
+
],
|
|
497
|
+
".opencode/command/aiws-hooks-status.md": [
|
|
498
|
+
"opencode:aiws-hooks-status"
|
|
499
|
+
],
|
|
500
|
+
".opencode/command/ws-plan.md": [
|
|
501
|
+
"opencode:ws-plan"
|
|
502
|
+
],
|
|
503
|
+
".opencode/command/ws-plan-verify.md": [
|
|
504
|
+
"opencode:ws-plan-verify"
|
|
505
|
+
]
|
|
247
506
|
}
|
|
248
507
|
}
|
|
249
508
|
}
|