@aipper/aiws-spec 0.0.32 → 0.0.34
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-bootstrap-routing-design.md +5 -50
- package/docs/aiws-governance-positioning.md +1 -1
- package/docs/cli-interface.md +13 -73
- package/docs/collaboration-artifacts.md +2 -2
- package/docs/opencode-autonomous-swarm.md +0 -2
- package/docs/opencode-omo-adapter.md +0 -2
- package/docs/opencode-omo-validation-checklist.md +0 -1
- package/docs/spec-contract.md +10 -36
- package/docs/workflow-governance-rules.json +11 -7
- package/docs/workflow-governance-rules.md +19 -19
- package/docs/workflow-governance-rules.schema.json +1 -0
- package/docs/workflow-review-gates.json +5 -5
- package/docs/workflow-review-gates.md +4 -4
- package/docs/workflow-router-rules.json +2 -2
- package/docs/workflow-router-rules.md +2 -2
- package/docs/workflow-stage-contracts.json +2 -2
- package/docs/workflow-stage-contracts.md +2 -2
- package/docs/ws-goal-contract.md +230 -0
- package/package.json +1 -1
- package/templates/workspace/.aiws/continuation/CONTINUATION_PROTOCOL.md +101 -0
- package/templates/workspace/.aiws/manifest.json +2 -10
- package/templates/workspace/.aiws/tools/ws_change_check.py +11 -4
- package/templates/workspace/.opencode/command/ws-finish.md +4 -0
- package/templates/workspace/.opencode/command/ws-goal.md +44 -0
- package/templates/workspace/.opencode/commands/ws-finish.md +4 -0
- package/templates/workspace/.opencode/lib/aiws-context.js +38 -4
- package/templates/workspace/.opencode/oh-my-opencode.json.example +5 -0
- package/templates/workspace/.opencode/skills/ws-goal/SKILL.md +41 -0
- package/templates/workspace/.opencode/skills/ws-intake/SKILL.md +61 -6
- package/templates/workspace/AGENTS.md +1 -3
- package/templates/workspace/AI_PROJECT.md +6 -1
- package/templates/workspace/AI_WORKSPACE.md +1 -1
- package/templates/workspace/manifest.json +151 -437
- package/templates/workspace/tools/ws_tasks_plan.py +97 -0
- package/templates/workspace/.agents/skills/p-aiws-change-archive/SKILL.md +0 -24
- package/templates/workspace/.agents/skills/p-aiws-change-finish/SKILL.md +0 -24
- package/templates/workspace/.agents/skills/p-aiws-change-list/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/p-aiws-change-new/SKILL.md +0 -26
- package/templates/workspace/.agents/skills/p-aiws-change-next/SKILL.md +0 -19
- package/templates/workspace/.agents/skills/p-aiws-change-start/SKILL.md +0 -33
- package/templates/workspace/.agents/skills/p-aiws-change-status/SKILL.md +0 -19
- package/templates/workspace/.agents/skills/p-aiws-change-sync/SKILL.md +0 -19
- package/templates/workspace/.agents/skills/p-aiws-change-templates-init/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/p-aiws-change-templates-which/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/p-aiws-change-validate/SKILL.md +0 -23
- package/templates/workspace/.agents/skills/p-aiws-hooks-install/SKILL.md +0 -30
- package/templates/workspace/.agents/skills/p-aiws-hooks-status/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/p-aiws-init/SKILL.md +0 -27
- package/templates/workspace/.agents/skills/p-aiws-rollback/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/p-aiws-update/SKILL.md +0 -26
- package/templates/workspace/.agents/skills/p-aiws-validate/SKILL.md +0 -22
- package/templates/workspace/.agents/skills/p-tasks-plan/SKILL.md +0 -37
- package/templates/workspace/.agents/skills/using-aiws/SKILL.md +0 -105
- package/templates/workspace/.agents/skills/ws-analyze/SKILL.md +0 -26
- package/templates/workspace/.agents/skills/ws-bugfix/SKILL.md +0 -111
- package/templates/workspace/.agents/skills/ws-commit/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/ws-delegate/SKILL.md +0 -75
- package/templates/workspace/.agents/skills/ws-deliver/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/ws-dev/SKILL.md +0 -109
- package/templates/workspace/.agents/skills/ws-dev-lite/SKILL.md +0 -58
- package/templates/workspace/.agents/skills/ws-finish/SKILL.md +0 -22
- package/templates/workspace/.agents/skills/ws-frontend-design/SKILL.md +0 -126
- package/templates/workspace/.agents/skills/ws-handoff/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/ws-intake/SKILL.md +0 -87
- package/templates/workspace/.agents/skills/ws-migrate/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/ws-plan/SKILL.md +0 -144
- package/templates/workspace/.agents/skills/ws-plan-verify/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/ws-preflight/SKILL.md +0 -56
- package/templates/workspace/.agents/skills/ws-pull/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/ws-push/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/ws-quality-review/SKILL.md +0 -56
- package/templates/workspace/.agents/skills/ws-req-change/SKILL.md +0 -41
- package/templates/workspace/.agents/skills/ws-req-contract-sync/SKILL.md +0 -17
- package/templates/workspace/.agents/skills/ws-req-contract-validate/SKILL.md +0 -12
- package/templates/workspace/.agents/skills/ws-req-flow-sync/SKILL.md +0 -28
- package/templates/workspace/.agents/skills/ws-req-review/SKILL.md +0 -32
- package/templates/workspace/.agents/skills/ws-review/SKILL.md +0 -55
- package/templates/workspace/.agents/skills/ws-rule/SKILL.md +0 -23
- package/templates/workspace/.agents/skills/ws-spec-review/SKILL.md +0 -57
- package/templates/workspace/.agents/skills/ws-submodule-setup/SKILL.md +0 -18
- package/templates/workspace/.agents/skills/ws-verify-before-complete/SKILL.md +0 -18
- package/templates/workspace/.claude/commands/p-aiws-change-archive.md +0 -24
- package/templates/workspace/.claude/commands/p-aiws-change-finish.md +0 -24
- package/templates/workspace/.claude/commands/p-aiws-change-list.md +0 -23
- package/templates/workspace/.claude/commands/p-aiws-change-new.md +0 -24
- package/templates/workspace/.claude/commands/p-aiws-change-next.md +0 -24
- package/templates/workspace/.claude/commands/p-aiws-change-start.md +0 -24
- package/templates/workspace/.claude/commands/p-aiws-change-status.md +0 -24
- package/templates/workspace/.claude/commands/p-aiws-change-sync.md +0 -24
- package/templates/workspace/.claude/commands/p-aiws-change-templates-init.md +0 -23
- package/templates/workspace/.claude/commands/p-aiws-change-templates-which.md +0 -23
- package/templates/workspace/.claude/commands/p-aiws-change-validate.md +0 -24
- package/templates/workspace/.claude/commands/p-aiws-hooks-install.md +0 -23
- package/templates/workspace/.claude/commands/p-aiws-hooks-status.md +0 -23
- package/templates/workspace/.claude/commands/p-aiws-init.md +0 -20
- package/templates/workspace/.claude/commands/p-aiws-rollback.md +0 -13
- package/templates/workspace/.claude/commands/p-aiws-update.md +0 -19
- package/templates/workspace/.claude/commands/p-aiws-validate.md +0 -14
- package/templates/workspace/.claude/commands/using-aiws.md +0 -25
- package/templates/workspace/.claude/commands/ws-analyze.md +0 -27
- package/templates/workspace/.claude/commands/ws-bugfix.md +0 -32
- package/templates/workspace/.claude/commands/ws-commit.md +0 -67
- package/templates/workspace/.claude/commands/ws-deliver.md +0 -55
- package/templates/workspace/.claude/commands/ws-dev-lite.md +0 -31
- package/templates/workspace/.claude/commands/ws-dev.md +0 -33
- package/templates/workspace/.claude/commands/ws-finish.md +0 -72
- package/templates/workspace/.claude/commands/ws-handoff.md +0 -23
- package/templates/workspace/.claude/commands/ws-intake.md +0 -19
- package/templates/workspace/.claude/commands/ws-migrate.md +0 -22
- package/templates/workspace/.claude/commands/ws-plan-verify.md +0 -25
- package/templates/workspace/.claude/commands/ws-plan.md +0 -21
- package/templates/workspace/.claude/commands/ws-preflight.md +0 -27
- package/templates/workspace/.claude/commands/ws-pull.md +0 -84
- package/templates/workspace/.claude/commands/ws-push.md +0 -90
- package/templates/workspace/.claude/commands/ws-quality-review.md +0 -24
- package/templates/workspace/.claude/commands/ws-req-change.md +0 -42
- package/templates/workspace/.claude/commands/ws-req-contract-sync.md +0 -18
- package/templates/workspace/.claude/commands/ws-req-contract-validate.md +0 -13
- package/templates/workspace/.claude/commands/ws-req-flow-sync.md +0 -20
- package/templates/workspace/.claude/commands/ws-req-review.md +0 -33
- package/templates/workspace/.claude/commands/ws-review.md +0 -31
- package/templates/workspace/.claude/commands/ws-rule.md +0 -24
- package/templates/workspace/.claude/commands/ws-spec-review.md +0 -24
- package/templates/workspace/.claude/commands/ws-submodule-setup.md +0 -54
- package/templates/workspace/.claude/commands/ws-verify-before-complete.md +0 -24
- package/templates/workspace/.claude/settings.json.example +0 -26
- package/templates/workspace/.claude/skills/p-aiws-change-archive/SKILL.md +0 -24
- package/templates/workspace/.claude/skills/p-aiws-change-finish/SKILL.md +0 -24
- package/templates/workspace/.claude/skills/p-aiws-change-list/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/p-aiws-change-new/SKILL.md +0 -26
- package/templates/workspace/.claude/skills/p-aiws-change-next/SKILL.md +0 -19
- package/templates/workspace/.claude/skills/p-aiws-change-start/SKILL.md +0 -33
- package/templates/workspace/.claude/skills/p-aiws-change-status/SKILL.md +0 -19
- package/templates/workspace/.claude/skills/p-aiws-change-sync/SKILL.md +0 -19
- package/templates/workspace/.claude/skills/p-aiws-change-templates-init/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/p-aiws-change-templates-which/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/p-aiws-change-validate/SKILL.md +0 -23
- package/templates/workspace/.claude/skills/p-aiws-hooks-install/SKILL.md +0 -30
- package/templates/workspace/.claude/skills/p-aiws-hooks-status/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/p-aiws-init/SKILL.md +0 -27
- package/templates/workspace/.claude/skills/p-aiws-rollback/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/p-aiws-update/SKILL.md +0 -26
- package/templates/workspace/.claude/skills/p-aiws-validate/SKILL.md +0 -22
- package/templates/workspace/.claude/skills/p-tasks-plan/SKILL.md +0 -37
- package/templates/workspace/.claude/skills/using-aiws/SKILL.md +0 -87
- package/templates/workspace/.claude/skills/ws-analyze/SKILL.md +0 -26
- package/templates/workspace/.claude/skills/ws-bugfix/SKILL.md +0 -111
- package/templates/workspace/.claude/skills/ws-commit/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/ws-deliver/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/ws-dev/SKILL.md +0 -79
- package/templates/workspace/.claude/skills/ws-dev-lite/SKILL.md +0 -58
- package/templates/workspace/.claude/skills/ws-finish/SKILL.md +0 -22
- package/templates/workspace/.claude/skills/ws-frontend-design/SKILL.md +0 -126
- package/templates/workspace/.claude/skills/ws-handoff/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/ws-intake/SKILL.md +0 -31
- package/templates/workspace/.claude/skills/ws-migrate/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/ws-plan/SKILL.md +0 -138
- package/templates/workspace/.claude/skills/ws-plan-verify/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/ws-preflight/SKILL.md +0 -55
- package/templates/workspace/.claude/skills/ws-pull/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/ws-push/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/ws-quality-review/SKILL.md +0 -56
- package/templates/workspace/.claude/skills/ws-req-change/SKILL.md +0 -41
- package/templates/workspace/.claude/skills/ws-req-contract-sync/SKILL.md +0 -17
- package/templates/workspace/.claude/skills/ws-req-contract-validate/SKILL.md +0 -12
- package/templates/workspace/.claude/skills/ws-req-flow-sync/SKILL.md +0 -28
- package/templates/workspace/.claude/skills/ws-req-review/SKILL.md +0 -32
- package/templates/workspace/.claude/skills/ws-review/SKILL.md +0 -55
- package/templates/workspace/.claude/skills/ws-rule/SKILL.md +0 -23
- package/templates/workspace/.claude/skills/ws-spec-review/SKILL.md +0 -57
- package/templates/workspace/.claude/skills/ws-submodule-setup/SKILL.md +0 -18
- package/templates/workspace/.claude/skills/ws-verify-before-complete/SKILL.md +0 -18
- package/templates/workspace/.codex/prompts/aiws-init.md +0 -23
- package/templates/workspace/.codex/prompts/aiws-rollback.md +0 -16
- package/templates/workspace/.codex/prompts/aiws-update.md +0 -22
- package/templates/workspace/.codex/prompts/aiws-validate.md +0 -17
- package/templates/workspace/.codex/prompts/ws-analyze.md +0 -32
- package/templates/workspace/.codex/prompts/ws-dev.md +0 -36
- package/templates/workspace/.codex/prompts/ws-migrate.md +0 -27
- package/templates/workspace/.codex/prompts/ws-preflight.md +0 -32
- package/templates/workspace/.codex/prompts/ws-req-change.md +0 -39
- package/templates/workspace/.codex/prompts/ws-req-contract-sync.md +0 -23
- package/templates/workspace/.codex/prompts/ws-req-contract-validate.md +0 -18
- package/templates/workspace/.codex/prompts/ws-req-flow-sync.md +0 -25
- package/templates/workspace/.codex/prompts/ws-req-review.md +0 -38
- package/templates/workspace/.codex/prompts/ws-review.md +0 -32
- package/templates/workspace/.codex/prompts/ws-rule.md +0 -29
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-finish -->
|
|
2
|
-
# aiws change finish
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 将 change/<change-id> 安全 fast-forward 合并回目标分支
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
change_id="<change-id>" # 可留空(若当前分支可推断)
|
|
14
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
-
./node_modules/.bin/aiws change finish "${change_id}"
|
|
16
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
-
aiws change finish "${change_id}"
|
|
18
|
-
else
|
|
19
|
-
npx @aipper/aiws change finish "${change_id}"
|
|
20
|
-
fi
|
|
21
|
-
```
|
|
22
|
-
<!-- AIWS_MANAGED_END:claude:aiws-change-finish -->
|
|
23
|
-
|
|
24
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-list -->
|
|
2
|
-
# aiws change list
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 列出当前仓库 change 工件
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
14
|
-
./node_modules/.bin/aiws change list
|
|
15
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
16
|
-
aiws change list
|
|
17
|
-
else
|
|
18
|
-
npx @aipper/aiws change list
|
|
19
|
-
fi
|
|
20
|
-
```
|
|
21
|
-
<!-- AIWS_MANAGED_END:claude:aiws-change-list -->
|
|
22
|
-
|
|
23
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-new -->
|
|
2
|
-
# aiws change new
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 创建 changes/<change-id> 工件目录与基础文件
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
change_id="<change-id>"
|
|
14
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
-
./node_modules/.bin/aiws change new "${change_id}"
|
|
16
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
-
aiws change new "${change_id}"
|
|
18
|
-
else
|
|
19
|
-
npx @aipper/aiws change new "${change_id}"
|
|
20
|
-
fi
|
|
21
|
-
```
|
|
22
|
-
<!-- AIWS_MANAGED_END:claude:aiws-change-new -->
|
|
23
|
-
|
|
24
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-next -->
|
|
2
|
-
# aiws change next
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 输出 change 下一步建议动作
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
change_id="<change-id>" # 可留空(若当前分支可推断)
|
|
14
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
-
./node_modules/.bin/aiws change next "${change_id}"
|
|
16
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
-
aiws change next "${change_id}"
|
|
18
|
-
else
|
|
19
|
-
npx @aipper/aiws change next "${change_id}"
|
|
20
|
-
fi
|
|
21
|
-
```
|
|
22
|
-
<!-- AIWS_MANAGED_END:claude:aiws-change-next -->
|
|
23
|
-
|
|
24
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-start -->
|
|
2
|
-
# aiws change start
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 切到 change/<change-id> 并初始化变更工件
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
change_id="<change-id>"
|
|
14
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
-
./node_modules/.bin/aiws change start "${change_id}"
|
|
16
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
-
aiws change start "${change_id}"
|
|
18
|
-
else
|
|
19
|
-
npx @aipper/aiws change start "${change_id}"
|
|
20
|
-
fi
|
|
21
|
-
```
|
|
22
|
-
<!-- AIWS_MANAGED_END:claude:aiws-change-start -->
|
|
23
|
-
|
|
24
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-status -->
|
|
2
|
-
# aiws change status
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 查看 change 当前状态与阻断项
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
change_id="<change-id>" # 可留空(若当前分支可推断)
|
|
14
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
-
./node_modules/.bin/aiws change status "${change_id}"
|
|
16
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
-
aiws change status "${change_id}"
|
|
18
|
-
else
|
|
19
|
-
npx @aipper/aiws change status "${change_id}"
|
|
20
|
-
fi
|
|
21
|
-
```
|
|
22
|
-
<!-- AIWS_MANAGED_END:claude:aiws-change-status -->
|
|
23
|
-
|
|
24
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-sync -->
|
|
2
|
-
# aiws change sync
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 同步当前 change 与真值文件基线
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
change_id="<change-id>"
|
|
14
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
-
./node_modules/.bin/aiws change sync "${change_id}"
|
|
16
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
-
aiws change sync "${change_id}"
|
|
18
|
-
else
|
|
19
|
-
npx @aipper/aiws change sync "${change_id}"
|
|
20
|
-
fi
|
|
21
|
-
```
|
|
22
|
-
<!-- AIWS_MANAGED_END:claude:aiws-change-sync -->
|
|
23
|
-
|
|
24
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-templates-init -->
|
|
2
|
-
# aiws change templates init
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 初始化 changes/templates 覆盖模板
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
14
|
-
./node_modules/.bin/aiws change templates init
|
|
15
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
16
|
-
aiws change templates init
|
|
17
|
-
else
|
|
18
|
-
npx @aipper/aiws change templates init
|
|
19
|
-
fi
|
|
20
|
-
```
|
|
21
|
-
<!-- AIWS_MANAGED_END:claude:aiws-change-templates-init -->
|
|
22
|
-
|
|
23
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-templates-which -->
|
|
2
|
-
# aiws change templates which
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 查看 change 模板来源
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
14
|
-
./node_modules/.bin/aiws change templates which
|
|
15
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
16
|
-
aiws change templates which
|
|
17
|
-
else
|
|
18
|
-
npx @aipper/aiws change templates which
|
|
19
|
-
fi
|
|
20
|
-
```
|
|
21
|
-
<!-- AIWS_MANAGED_END:claude:aiws-change-templates-which -->
|
|
22
|
-
|
|
23
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-change-validate -->
|
|
2
|
-
# aiws change validate
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 按严格模式校验变更工件与绑定关系
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
change_id="<change-id>"
|
|
14
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
15
|
-
./node_modules/.bin/aiws change validate "${change_id}"
|
|
16
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
17
|
-
aiws change validate "${change_id}"
|
|
18
|
-
else
|
|
19
|
-
npx @aipper/aiws change validate "${change_id}"
|
|
20
|
-
fi
|
|
21
|
-
```
|
|
22
|
-
<!-- AIWS_MANAGED_END:claude:aiws-change-validate -->
|
|
23
|
-
|
|
24
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-hooks-install -->
|
|
2
|
-
# aiws hooks install
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 启用 git hooks 门禁(core.hooksPath=.githooks)
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
14
|
-
./node_modules/.bin/aiws hooks install .
|
|
15
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
16
|
-
aiws hooks install .
|
|
17
|
-
else
|
|
18
|
-
npx @aipper/aiws hooks install .
|
|
19
|
-
fi
|
|
20
|
-
```
|
|
21
|
-
<!-- AIWS_MANAGED_END:claude:aiws-hooks-install -->
|
|
22
|
-
|
|
23
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-hooks-status -->
|
|
2
|
-
# aiws hooks status
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
7
|
-
|
|
8
|
-
目标:
|
|
9
|
-
- 查看当前仓库 hooks 门禁状态(只读)
|
|
10
|
-
|
|
11
|
-
执行(在仓库根目录):
|
|
12
|
-
```bash
|
|
13
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
14
|
-
./node_modules/.bin/aiws hooks status .
|
|
15
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
16
|
-
aiws hooks status .
|
|
17
|
-
else
|
|
18
|
-
npx @aipper/aiws hooks status .
|
|
19
|
-
fi
|
|
20
|
-
```
|
|
21
|
-
<!-- AIWS_MANAGED_END:claude:aiws-hooks-status -->
|
|
22
|
-
|
|
23
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-init -->
|
|
2
|
-
# aiws init
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
目标:
|
|
7
|
-
- 生成/补齐真值文件与门禁文件(以 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md` 为准)
|
|
8
|
-
- 写入/更新 `.gitignore` 的 aiws 托管块
|
|
9
|
-
- 生成/更新 `.aiws/manifest.json`(用于漂移检测)
|
|
10
|
-
|
|
11
|
-
建议执行:
|
|
12
|
-
1) `npx @aipper/aiws init`
|
|
13
|
-
2) `npx @aipper/aiws validate`
|
|
14
|
-
|
|
15
|
-
约束:
|
|
16
|
-
- 不写入任何 secrets
|
|
17
|
-
- 只允许更新托管块(`AIWS_MANAGED_BEGIN/END`)或 spec 指定的 `replace_file` 文件
|
|
18
|
-
<!-- AIWS_MANAGED_END:claude:aiws-init -->
|
|
19
|
-
|
|
20
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-rollback -->
|
|
2
|
-
# aiws rollback
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
目标:
|
|
7
|
-
- 从 `.aiws/backups/` 恢复到某次备份快照
|
|
8
|
-
|
|
9
|
-
建议执行:
|
|
10
|
-
- `npx @aipper/aiws rollback latest`
|
|
11
|
-
<!-- AIWS_MANAGED_END:claude:aiws-rollback -->
|
|
12
|
-
|
|
13
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-update -->
|
|
2
|
-
# aiws update
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
目标:
|
|
7
|
-
- 基于当前 `@aipper/aiws-spec` 刷新模板与 tool-native 文件
|
|
8
|
-
- 更新前备份到 `.aiws/backups/<timestamp>/`
|
|
9
|
-
|
|
10
|
-
建议执行:
|
|
11
|
-
1) `npx @aipper/aiws update`
|
|
12
|
-
2) `npx @aipper/aiws validate`
|
|
13
|
-
|
|
14
|
-
约束:
|
|
15
|
-
- 不写入任何 secrets
|
|
16
|
-
- 只更新托管块或 spec 指定的 `replace_file` 文件
|
|
17
|
-
<!-- AIWS_MANAGED_END:claude:aiws-update -->
|
|
18
|
-
|
|
19
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:aiws-validate -->
|
|
2
|
-
# aiws validate
|
|
3
|
-
|
|
4
|
-
(私有原子入口;日常优先用 /ws-* 链路。)
|
|
5
|
-
|
|
6
|
-
目标:
|
|
7
|
-
- 作为 CI/本地门禁:校验 required 文件结构、托管块、`.aiws/manifest.json` 漂移
|
|
8
|
-
- 强门禁:缺 `python3`/缺 required 脚本也应失败
|
|
9
|
-
|
|
10
|
-
建议执行:
|
|
11
|
-
- `npx @aipper/aiws validate`
|
|
12
|
-
<!-- AIWS_MANAGED_END:claude:aiws-validate -->
|
|
13
|
-
|
|
14
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:using-aiws -->
|
|
2
|
-
# using aiws
|
|
3
|
-
|
|
4
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
-
|
|
6
|
-
目标:
|
|
7
|
-
- 把当前任务先路由到正确的 AIWS workflow,而不是直接跳进实现。
|
|
8
|
-
|
|
9
|
-
执行建议:
|
|
10
|
-
1) 先读取 `AI_PROJECT.md` / `REQUIREMENTS.md` / `AI_WORKSPACE.md`。
|
|
11
|
-
2) 若缺失任一真值文件:先 `/ws-preflight`,必要时运行 `aiws init .`,不要继续实现。
|
|
12
|
-
3) 若任务意图、归因或验证入口不明确:先提 1-3 个关键澄清问题并停止。
|
|
13
|
-
4) 路由规则:
|
|
14
|
-
- 需求/验收/合同变更:`/ws-req-review`
|
|
15
|
-
- 中大型实现或需要 change/worktree:`/ws-plan`
|
|
16
|
-
- 小步明确实现:`/ws-dev`(若是 simple/local 单点修复,可显式进入 `/ws-dev-lite`)
|
|
17
|
-
- 评审/审计:`/ws-review`
|
|
18
|
-
- finish / merge / push / cleanup:`/ws-finish`
|
|
19
|
-
- handoff / archive summary:`/ws-handoff`
|
|
20
|
-
5) 输出 `Task intent:` / `Binding:` / `Route:` / `Why:` / `Next:`。
|
|
21
|
-
6) 若 `Route: ws-dev` 且任务属于 simple/local 单点修复:`Next` 可显式建议 `/ws-dev-lite`。
|
|
22
|
-
7) 除非用户只要路由判断,否则给出 route 后继续遵循对应入口的契约。
|
|
23
|
-
<!-- AIWS_MANAGED_END:claude:using-aiws -->
|
|
24
|
-
|
|
25
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:ws-analyze -->
|
|
2
|
-
# ws analyze
|
|
3
|
-
|
|
4
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
-
|
|
6
|
-
目标:在开始实现/修复前做一次技术分析,产出可执行的最小行动清单,并把证据落盘到 `.agentdocs/tmp/analyze/`。
|
|
7
|
-
|
|
8
|
-
输入:
|
|
9
|
-
- 主题/需求:`$ARGUMENTS`(若为空,先问用户一句“本次分析主题是什么?”)
|
|
10
|
-
|
|
11
|
-
步骤(建议):
|
|
12
|
-
1) 先运行 `/ws-preflight`。
|
|
13
|
-
2) 基于真值文件与当前代码现状,输出:
|
|
14
|
-
- 目标 / 非目标
|
|
15
|
-
- 现状证据(文件路径/接口路径)
|
|
16
|
-
- 推荐方案(1 个)+ 备选(可选)
|
|
17
|
-
- 风险与回滚(3–8 条)
|
|
18
|
-
- 最小验证命令(可复现)
|
|
19
|
-
3) 将分析落盘到:`.agentdocs/tmp/analyze/claude-analysis.md`(目录不存在则创建)。
|
|
20
|
-
4) 回复中必须包含:`证据(Evidence):` 证据文件路径。
|
|
21
|
-
|
|
22
|
-
安全:
|
|
23
|
-
- 不打印 secrets(尤其 `secrets/test-accounts.json`)。
|
|
24
|
-
- 不执行破坏性命令。
|
|
25
|
-
<!-- AIWS_MANAGED_END:claude:ws-analyze -->
|
|
26
|
-
|
|
27
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,32 +0,0 @@
|
|
|
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) 若当前不在 `change/<change-id>` 分支 / worktree,先建立 change 上下文:
|
|
12
|
-
- 工作区先保持干净
|
|
13
|
-
- 仓库已有提交:优先 `aiws change start <change-id> --hooks --worktree`
|
|
14
|
-
- superproject + submodule:优先 `aiws change start <change-id> --hooks --worktree --submodules`
|
|
15
|
-
- 仓库尚无提交 / 不满足 worktree 前置条件:回退 `aiws change start <change-id> --hooks --no-switch`
|
|
16
|
-
3) 若上一步创建了 worktree:后续 bug 证据、CSV 更新、`/ws-dev` 修复都必须在该 worktree 中继续。
|
|
17
|
-
4) 通过已配置 zentao MCP 拉取 bug 字段与附件列表。
|
|
18
|
-
5) 落盘证据到当前 active change 上下文的 `changes/<change-id>/bug/`:
|
|
19
|
-
- `zentao-bug-<bug-id>.json`
|
|
20
|
-
- `zentao-bug-<bug-id>.md`
|
|
21
|
-
- `images/<bug-id>/...`
|
|
22
|
-
6) upsert 当前 active change 上下文中的 `issues/fix_bus_issues.csv`(主键 `Bug_ID`)。
|
|
23
|
-
7) 进入 `/ws-dev` 修复并回填状态字段 `Fix_Status/Verify_Command/Updated_At`。
|
|
24
|
-
8) 质量门:`aiws change validate <change-id> --strict` + `aiws validate . --stamp`。
|
|
25
|
-
|
|
26
|
-
强制约束:
|
|
27
|
-
- 不自动 commit / push。
|
|
28
|
-
- 不写入 secrets(token、cookie、内网地址)。
|
|
29
|
-
- 无法复现时先输出阻塞信息并落盘,不直接改代码。
|
|
30
|
-
<!-- AIWS_MANAGED_END:claude:ws-bugfix -->
|
|
31
|
-
|
|
32
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:ws-commit -->
|
|
2
|
-
# ws commit
|
|
3
|
-
|
|
4
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
-
|
|
6
|
-
目标:在**当前分支可直提**的前提下,先做审计与门禁,并在存在 submodule 时给出正确的提交顺序(先 submodule,再 superproject),最后执行 `git commit`。
|
|
7
|
-
补充:若你经常遇到 submodule detached,建议日常拉取优先使用 `/ws-pull`(尽量把 submodule “挂回分支”且不改变 gitlink commit)。
|
|
8
|
-
|
|
9
|
-
安全约束(强制):
|
|
10
|
-
- 不自动 `git add -A`;只在用户明确指示时才做 staging
|
|
11
|
-
- 不使用 `--no-verify` 绕过 hooks
|
|
12
|
-
- 不自动 push
|
|
13
|
-
- 不打印 secrets
|
|
14
|
-
- commit message 优先使用中文;若启用了 `.githooks/commit-msg`,默认仅提示,只有 strict 模式才会拒绝全英文首行(`Merge/Revert/fixup!/squash!` 例外)
|
|
15
|
-
|
|
16
|
-
步骤(建议):
|
|
17
|
-
1) 先运行 `/ws-preflight`。
|
|
18
|
-
2) 运行 `/ws-review`(优先落盘审计证据到 `changes/<change-id>/review/`)。
|
|
19
|
-
3) 运行门禁校验并写 stamp:
|
|
20
|
-
```bash
|
|
21
|
-
if [[ -x "./node_modules/.bin/aiws" ]]; then
|
|
22
|
-
./node_modules/.bin/aiws validate . --stamp
|
|
23
|
-
elif command -v aiws >/dev/null 2>&1; then
|
|
24
|
-
aiws validate . --stamp
|
|
25
|
-
else
|
|
26
|
-
npx @aipper/aiws validate . --stamp
|
|
27
|
-
fi
|
|
28
|
-
```
|
|
29
|
-
4) 输出提交上下文(必须输出给用户确认):
|
|
30
|
-
```bash
|
|
31
|
-
git branch --show-current
|
|
32
|
-
git status --porcelain
|
|
33
|
-
```
|
|
34
|
-
5) submodule 感知检查:
|
|
35
|
-
```bash
|
|
36
|
-
if [[ -f .gitmodules ]]; then
|
|
37
|
-
git config --file .gitmodules --get-regexp '^submodule\\..*\\.path$' || true
|
|
38
|
-
fi
|
|
39
|
-
while read -r _ sub_path; do
|
|
40
|
-
[[ -z "${sub_path:-}" ]] && continue
|
|
41
|
-
echo "== submodule: ${sub_path} =="
|
|
42
|
-
git -C "${sub_path}" rev-parse --abbrev-ref HEAD 2>/dev/null || true
|
|
43
|
-
git -C "${sub_path}" status --porcelain || true
|
|
44
|
-
done < <(git config --file .gitmodules --get-regexp '^submodule\\..*\\.path$' 2>/dev/null || true)
|
|
45
|
-
```
|
|
46
|
-
判定规则(强制):
|
|
47
|
-
- 任一 submodule `git status --porcelain` 非空:停止提交 superproject;先在对应 submodule 完成 commit,再回到 superproject 更新并提交 gitlink。
|
|
48
|
-
- 若该 submodule 当前为 detached HEAD:先按 `.gitmodules` 的目标分支挂到 `aiws/pin/<target-branch>`;不要直接切 `change/<change-id>` / `main` / `master`。
|
|
49
|
-
6) 检查 staging(必须输出给用户确认):
|
|
50
|
-
```bash
|
|
51
|
-
git status --porcelain
|
|
52
|
-
git diff --staged --submodule=short
|
|
53
|
-
```
|
|
54
|
-
7) 若没有 staged changes:停止并提示用户先明确要提交哪些文件(例如 `git add -p` 或 `git add <path>`)。
|
|
55
|
-
8) 优先生成并确认中文 commit message(格式建议:`<类型>: <简述>`;若用户明确要求英文也可保留,但 strict 模式下会被 hook 拒绝)。
|
|
56
|
-
9) 执行提交(不带 `--no-verify`):
|
|
57
|
-
```bash
|
|
58
|
-
git commit -m "<message>"
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
输出必须包含:
|
|
62
|
-
- `证据(Evidence):` `changes/<change-id>/review/*`(无 change-id 时回退 `.agentdocs/tmp/review/*`) + `.agentdocs/tmp/aiws-validate/*`
|
|
63
|
-
- `上下文(Context):` 当前分支 + 是否检测到 submodule + 若阻断则给出阻断原因
|
|
64
|
-
- `下一步(Next):` 若存在 submodule 改动,先提示用户进入 submodule 提交
|
|
65
|
-
<!-- AIWS_MANAGED_END:claude:ws-commit -->
|
|
66
|
-
|
|
67
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:ws-deliver -->
|
|
2
|
-
# ws deliver
|
|
3
|
-
|
|
4
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
-
|
|
6
|
-
目标:适配 superproject + submodule(数量不固定)的交付收尾,降低提交顺序和合并回 base 分支的出错概率:
|
|
7
|
-
1) 先逐个提交 submodule(每个 repo 单独确认 commit message;默认 `git add -p`)
|
|
8
|
-
2) 再提交 superproject(包含 submodule gitlink 指针更新 + 自身改动/变更工件)
|
|
9
|
-
3) 最后 fast-forward 合并回目标分支(复用 `aiws change finish`;建议用 `/ws-finish`)
|
|
10
|
-
|
|
11
|
-
强制约束:
|
|
12
|
-
- 不自动 `git add -A`。
|
|
13
|
-
- 不自动 push。
|
|
14
|
-
- 不自动删除分支。
|
|
15
|
-
|
|
16
|
-
建议流程(按顺序):
|
|
17
|
-
1) 先运行 `/ws-preflight`。
|
|
18
|
-
2) 如果存在 `.gitmodules` 但缺少 `submodule.<name>.branch`,先运行 `/ws-submodule-setup` 并提交 `.gitmodules`(否则 `aiws validate .` 会失败,且 submodule 工作流会产生人为差异)。
|
|
19
|
-
2.1) 若存在 submodule:必须准备 `changes/<change-id>/submodules.targets`,并覆盖所有 submodule path;这是本次交付的目标分支真值。
|
|
20
|
-
- 生成该文件时可先做默认预填:detached HEAD 默认建议取 `.gitmodules` 声明分支;已附着在本地分支时默认建议取当前分支。
|
|
21
|
-
- 上述都只是建议值;真正的 deliver/finish 只认 `submodules.targets`。
|
|
22
|
-
2) 发现 submodules:
|
|
23
|
-
- `git submodule status --recursive`
|
|
24
|
-
3) 逐个提交 submodules(按上一步顺序):
|
|
25
|
-
- `git -C "<sub_path>" status --porcelain`
|
|
26
|
-
- 先说明该 submodule 目标分支的来源:attached branch 默认建议取当前分支;detached HEAD 默认建议取 `.gitmodules`;若与 `submodules.targets` 已落盘值冲突,则以 `submodules.targets` 为准
|
|
27
|
-
- 若当前为 detached HEAD:不要直接切 `change/<change-id>` / `main` / `master`;先按 `submodules.targets`(若分支为 `.` 则展开为 `.ws-change.json` 的 `base_branch`)挂到 `aiws/pin/<target-branch>`
|
|
28
|
-
- `git -C "<sub_path>" add -p`
|
|
29
|
-
- `git -C "<sub_path>" diff --staged --stat`
|
|
30
|
-
- 生成并让用户确认该 submodule 的 commit message(每个 repo 单独确认)
|
|
31
|
-
- `git -C "<sub_path>" commit -m "<message>"`
|
|
32
|
-
4) 提交 superproject(gitlinks + 自身改动):
|
|
33
|
-
- `git diff --submodule`
|
|
34
|
-
- `git add <submodule-path-1> <submodule-path-2> ...`
|
|
35
|
-
- `git add -p`
|
|
36
|
-
- 生成并让用户确认 superproject 的 commit message
|
|
37
|
-
- `git commit -m "<message>"`
|
|
38
|
-
5) (推荐)门禁 + 证据:
|
|
39
|
-
- `aiws validate . --stamp`(未安装全局 aiws 时可用 `npx @aipper/aiws validate . --stamp`)
|
|
40
|
-
5.1) (强烈建议)生成持久证据并回填 `Evidence_Path`:
|
|
41
|
-
- `aiws change evidence <change-id>`(未安装全局 aiws 时可用 `npx @aipper/aiws change evidence <change-id>`)
|
|
42
|
-
5.2) (可选)生成状态快照(建议):
|
|
43
|
-
- `aiws change state <change-id> --write`
|
|
44
|
-
6) 安全合并回目标分支:
|
|
45
|
-
- 优先运行 `/ws-finish`(底层调用 `aiws change finish`,默认 `--ff-only`;push 成功后会清理对应 change worktree)
|
|
46
|
-
|
|
47
|
-
输出要求:
|
|
48
|
-
- `子模块(Submodules):` 每个 submodule 的 commit 摘要(repo/path → sha → message)
|
|
49
|
-
- `主仓库(Superproject):` commit 摘要
|
|
50
|
-
- `合并信息(Merge):` `/ws-finish` 输出(into/from)
|
|
51
|
-
- `工作区清理(Worktree cleanup):` 若存在独立 change worktree,输出清理结果(removed/skipped + reason)
|
|
52
|
-
- `证据(Evidence):` `.agentdocs/tmp/aiws-validate/*.json`(若使用 --stamp)
|
|
53
|
-
<!-- AIWS_MANAGED_END:claude:ws-deliver -->
|
|
54
|
-
|
|
55
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:ws-dev-lite -->
|
|
2
|
-
# ws dev lite
|
|
3
|
-
|
|
4
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
-
|
|
6
|
-
目标:处理 simple/local 单点修复,走最小改动 + 最小验证,不默认拉起完整重流程。
|
|
7
|
-
|
|
8
|
-
使用条件:
|
|
9
|
-
- 目标明确、归因明确、验证入口明确
|
|
10
|
-
- 一般只影响单文件或紧密相关的小范围文件
|
|
11
|
-
- 不需要先改 `REQUIREMENTS.md`
|
|
12
|
-
|
|
13
|
-
强制流程:
|
|
14
|
-
1) 先运行 `/ws-preflight`。
|
|
15
|
-
2) 先说明:
|
|
16
|
-
- `Goal:`
|
|
17
|
-
- `Why lite:`
|
|
18
|
-
- 若说不清,立刻回到 `/ws-dev` 或 `/ws-plan`
|
|
19
|
-
3) 实施最小改动;不要为形式完整额外扩 scope。
|
|
20
|
-
4) 运行最小可复现验证;允许比全量更窄,但必须说明为什么足够。
|
|
21
|
-
5) 输出 `Changed / Verify / Evidence / Next`。
|
|
22
|
-
6) 若准备提交或交付:后续仍进入 `/ws-review`、`/ws-commit`、`/ws-finish`。
|
|
23
|
-
|
|
24
|
-
边界:
|
|
25
|
-
- 默认不创建 `plan/...`
|
|
26
|
-
- 默认不跑 `ws-plan-verify`
|
|
27
|
-
- 默认不要求先做双 review
|
|
28
|
-
- 一旦复杂度升高,停止 lite,切回主流程
|
|
29
|
-
<!-- AIWS_MANAGED_END:claude:ws-dev-lite -->
|
|
30
|
-
|
|
31
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
<!-- AIWS_MANAGED_BEGIN:claude:ws-dev -->
|
|
2
|
-
# ws dev
|
|
3
|
-
|
|
4
|
-
用中文输出(命令/路径/代码标识符保持原样不翻译)。
|
|
5
|
-
|
|
6
|
-
目标:在 AIWS 约束下完成一个可回放、可验证的小步交付。
|
|
7
|
-
|
|
8
|
-
建议流程:
|
|
9
|
-
1) 先运行 `/ws-preflight`(读真值文件并输出约束摘要)。
|
|
10
|
-
- 若 `/ws-plan` 刚创建了 `change/<change-id>` worktree:后续实现必须在该 worktree 中继续;不要回原工作区重复 `aiws change start ...`
|
|
11
|
-
2) 建立变更归因(推荐):
|
|
12
|
-
- ⚠️ 若准备切分支/创建 worktree,先看 `git status --porcelain`;否则切换上下文后,未提交改动可能“看起来丢了”。
|
|
13
|
-
- 若当前目录已经是 `change/<change-id>` worktree(例如由 `/ws-plan` 创建):直接在这里继续,不要再创建第二个 worktree,也不要回原工作区写代码。
|
|
14
|
-
- 若非空仅因为 `/ws-plan` 生成了 `plan/...` 或 `changes/<change-id>/...`,这是预期行为;此时优先 `aiws change start <change-id> --hooks --no-switch`,若仍要 `--switch/--worktree`,先提交这些规划工件。
|
|
15
|
-
- 推荐更安全(默认):`aiws change start <change-id> --hooks --no-switch`(只创建分支/工件 + 启用 hooks;不切分支)
|
|
16
|
-
- 准备进入实现时:若当前已在 `change/<change-id>` 直接继续;若需切换到该分支,先确认除规划工件外无额外未提交改动,再执行:`git switch change/<change-id>`
|
|
17
|
-
- 若你明确要“一键切分支”(不推荐,且 dirty 会被拦截):`aiws change start <change-id> --hooks --switch`
|
|
18
|
-
- superproject + submodule(推荐):`aiws change start <change-id> --hooks --worktree --submodules`
|
|
19
|
-
- 若后续需要在 detached submodule 内提交:先挂到 `aiws/pin/<target-branch>`;不要直接切 `change/<change-id>` / `main` / `master`
|
|
20
|
-
- 或手工:`git switch -c change/<change-id>`,并创建 `changes/<change-id>/proposal.md` 与 `changes/<change-id>/tasks.md`(参考 `changes/README.md`)
|
|
21
|
-
3) 如涉及需求调整:先 `/ws-req-review` → 用户确认后再 `/ws-req-change`(避免需求漂移)。
|
|
22
|
-
4) 实施最小改动:任何改动都要能归因到 `REQUIREMENTS.md`(验收)或 `issues/problem-issues.csv`(问题)。
|
|
23
|
-
5) 运行 `AI_WORKSPACE.md` 里声明的验证命令;未运行不声称已运行。
|
|
24
|
-
6) 提交前强制:`aiws validate .`(commit/push hooks 也会阻断)。
|
|
25
|
-
7) 交付收尾(推荐,减少手动 merge 出错):运行 `/ws-finish`(底层调用 `aiws change finish`,默认 fast-forward 安全合并回目标分支)。
|
|
26
|
-
|
|
27
|
-
输出要求:
|
|
28
|
-
- `变更文件(Changed):` 文件清单
|
|
29
|
-
- `验证(Verify):` 实际运行的命令 + 期望结果
|
|
30
|
-
- `证据(Evidence):` 证据路径(例如 `changes/<change-id>/review/...`、`changes/<change-id>/...` 或 `.agentdocs/tmp/...`)
|
|
31
|
-
<!-- AIWS_MANAGED_END:claude:ws-dev -->
|
|
32
|
-
|
|
33
|
-
可在下方追加本项目对 Claude Code 的额外说明(托管块外内容会被保留)。
|