@andyqiu/codeforge 0.5.1 → 0.5.2
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/agents/discover-challenger.md +2 -2
- package/agents/discover.md +7 -6
- package/bin/codeforge.mjs +49 -0
- package/commands/{diff.md → changes.md} +10 -10
- package/commands/debug.md +4 -4
- package/commands/deep.md +11 -11
- package/commands/model-switch.md +4 -4
- package/commands/quick.md +11 -11
- package/commands/refactor.md +2 -2
- package/commands/review.md +2 -2
- package/commands/ship.md +6 -6
- package/commands/tdd.md +3 -3
- package/dist/index.js +732 -469
- package/package.json +1 -1
- package/workflows/bugfix.yaml +19 -22
- package/workflows/code-review.yaml +7 -6
- package/workflows/feature-dev.yaml +20 -25
- package/workflows/refactor.yaml +9 -12
- package/workflows/tdd.yaml +9 -12
package/package.json
CHANGED
package/workflows/bugfix.yaml
CHANGED
|
@@ -12,10 +12,10 @@ description: |
|
|
|
12
12
|
systematic debugging:根因驱动而非症状修补。
|
|
13
13
|
1. reviewer 取证(smart_search 历史、读 log / git blame)
|
|
14
14
|
2. planner 出根因假设 + 修复方案
|
|
15
|
-
3. coder
|
|
16
|
-
4. coder
|
|
17
|
-
5. reviewer 审 + 跑全量测试
|
|
18
|
-
6.
|
|
15
|
+
3. coder 先在 session worktree 写「复现」测试(红)
|
|
16
|
+
4. coder 在 session worktree 改代码(绿)
|
|
17
|
+
5. reviewer 审 worktree diff + 跑全量测试
|
|
18
|
+
6. 用户跑 /merge 触发 review-fix-review 闭环合并到主仓
|
|
19
19
|
7. reviewer 沉淀 bugfix 经验回 KH
|
|
20
20
|
|
|
21
21
|
trigger: /debug
|
|
@@ -49,18 +49,18 @@ steps:
|
|
|
49
49
|
|
|
50
50
|
- name: 复现
|
|
51
51
|
agent: coder
|
|
52
|
-
description:
|
|
52
|
+
description: 在 session worktree 内写一个能稳定复现 bug 的最小测试用例(应该红)
|
|
53
53
|
inject_context:
|
|
54
|
-
|
|
55
|
-
hint:
|
|
54
|
+
forbid_main_repo_write: true
|
|
55
|
+
hint: 直接 edit / write / ast_edit 到 session worktree(worktree-guard 隔离主仓),不要绕过
|
|
56
56
|
on_error: retry
|
|
57
57
|
max_retries: 1
|
|
58
58
|
|
|
59
59
|
- name: 修复
|
|
60
60
|
agent: coder
|
|
61
|
-
description:
|
|
61
|
+
description: 在 session worktree 内按 planner 选定的根因假设改代码,让复现测试变绿
|
|
62
62
|
inject_context:
|
|
63
|
-
|
|
63
|
+
forbid_main_repo_write: true
|
|
64
64
|
# ADR:workflow-auto-feedback-loop: 完成 stage 后自动跑 npm test 自纠
|
|
65
65
|
# bugfix 失败本质是假设错——escalate 给 planner 重出根因假设,而不是 reviewer
|
|
66
66
|
auto_feedback:
|
|
@@ -73,12 +73,13 @@ steps:
|
|
|
73
73
|
|
|
74
74
|
- name: 审阅
|
|
75
75
|
agent: reviewer
|
|
76
|
-
description:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
description: 审 worktree diff + 跑全量测试;输出 APPROVE / REQUEST_CHANGES / BLOCK
|
|
77
|
+
inject_context:
|
|
78
|
+
review_target: code
|
|
79
|
+
# ↓ workflow-engine 必须把 [Session Merge Review] 标记 + sessionId / worktreePath / baseSha / plan_id 注入到 reviewer prompt 头部
|
|
80
|
+
# 这是 reviewer 模式 3(worktree-session 审阅)的判定条件(agents/reviewer.md「模式判定」表)
|
|
81
|
+
# 若 workflow-engine 暂未实现该注入:fallback 走 reviewer 模式 4(legacy),但代价是不会跑 git diff 对比 baseSha
|
|
82
|
+
# actions 留空:reviewer 模式 3 自己跑 `bash cd <worktreePath> && git diff <baseSha>..HEAD`
|
|
82
83
|
# ADR:workflow-on-decision-branching: 三档决策驱动;BLOCK 回 planner 重出根因假设(与 auto_feedback escalate_to=planner 同语义)
|
|
83
84
|
on_decision:
|
|
84
85
|
APPROVE: continue # 进入"落地" step
|
|
@@ -91,14 +92,10 @@ steps:
|
|
|
91
92
|
on_error: abort
|
|
92
93
|
|
|
93
94
|
- name: 落地
|
|
94
|
-
|
|
95
|
-
|
|
95
|
+
# 由用户拍板:跑 `/merge` 触发 review-fix-review 闭环 squash merge 到主仓
|
|
96
|
+
agent: codeforge
|
|
97
|
+
description: 提示用户跑 `/merge` 合并 session worktree 到主仓(ADR:worktree-session-isolation Phase 5)
|
|
96
98
|
requires_human_approval: true
|
|
97
|
-
actions:
|
|
98
|
-
- tool: pending-changes
|
|
99
|
-
args:
|
|
100
|
-
action: apply_all
|
|
101
|
-
on_error: abort
|
|
102
99
|
on_error: abort
|
|
103
100
|
|
|
104
101
|
- name: 沉淀
|
|
@@ -39,12 +39,13 @@ steps:
|
|
|
39
39
|
- name: 审阅
|
|
40
40
|
agent: reviewer
|
|
41
41
|
description: 按维度清单逐项审,跑测试,输出 APPROVE/REQUEST_CHANGES/BLOCK
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
inject_context:
|
|
43
|
+
review_target: code
|
|
44
|
+
# ↓ workflow-engine 必须把 [Session Merge Review] 标记 + sessionId / worktreePath / baseSha 注入到 reviewer prompt 头部
|
|
45
|
+
# 这是 reviewer 模式 3(worktree-session 审阅)的判定条件(agents/reviewer.md「模式判定」表)
|
|
46
|
+
# 注意:本 workflow 只读,没有 plan_id(不强制 plan_read 对照)
|
|
47
|
+
# 若 workflow-engine 暂未实现该注入:fallback 走 reviewer 模式 4(legacy),但代价是不会跑 git diff 对比 baseSha
|
|
48
|
+
# actions 留空:reviewer 模式 3 自己跑 `bash cd <worktreePath> && git diff <baseSha>..HEAD`(本 workflow 只读,不写 worktree、不触发 /merge)
|
|
48
49
|
on_decision:
|
|
49
50
|
APPROVE: continue
|
|
50
51
|
REQUEST_CHANGES: continue # 仍 continue 进入沉淀,REQUEST_CHANGES 是给提交者看的
|
|
@@ -18,9 +18,9 @@ description: |
|
|
|
18
18
|
完整的"从需求到落地"流程。串联三个核心 agent:
|
|
19
19
|
1. planner 出方案(自动 smart_search + repo-map)
|
|
20
20
|
2. reviewer 审方案(plan_only,REQUEST_CHANGES 回 planner 重写)
|
|
21
|
-
3. coder
|
|
22
|
-
4. reviewer
|
|
23
|
-
5.
|
|
21
|
+
3. coder 按方案直接写入 session worktree(session-worktree-guard 隔离主仓)
|
|
22
|
+
4. reviewer 审 worktree diff + 跑测试
|
|
23
|
+
5. 用户跑 /merge 触发 review-fix-review 闭环合并到主仓 → 自动沉淀经验回 KH
|
|
24
24
|
|
|
25
25
|
trigger: /ship
|
|
26
26
|
|
|
@@ -52,12 +52,9 @@ steps:
|
|
|
52
52
|
- 设计合理性
|
|
53
53
|
- 风险评估
|
|
54
54
|
- 涉及文件清单
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
action: list
|
|
59
|
-
status: pending
|
|
60
|
-
on_error: skip
|
|
55
|
+
# ↓ plan_id 由 workflow-engine 从上一步 planner 的 boomerang 摘要中解析后注入(reviewer 模式 1 调 plan_read(plan_id=<id>) 必需)
|
|
56
|
+
# 若 workflow-engine 当前未实现自动解析:planner 必须把 `plan_id: plan-YYYYMMDD-HHmmss-NNN` 独占一行写到 boomerang,workflow-engine 透传到下一步 inject_context.plan_id
|
|
57
|
+
# actions 留空:reviewer 自己 plan_read(plan_id=<上方注入>) 拿方案(review_target=plan_only)
|
|
61
58
|
on_decision:
|
|
62
59
|
APPROVE: continue
|
|
63
60
|
REQUEST_CHANGES:
|
|
@@ -68,9 +65,9 @@ steps:
|
|
|
68
65
|
|
|
69
66
|
- name: 执行
|
|
70
67
|
agent: coder
|
|
71
|
-
description:
|
|
68
|
+
description: 严格按方案在 session worktree 内直接写文件(edit / write / ast_edit);测试失败立刻停下汇报
|
|
72
69
|
inject_context:
|
|
73
|
-
|
|
70
|
+
forbid_main_repo_write: true
|
|
74
71
|
# ADR:workflow-auto-feedback-loop: 完成 stage 后自动跑 npm test 自纠(最多 3 轮,失败 escalate reviewer)
|
|
75
72
|
auto_feedback:
|
|
76
73
|
test_cmd: "npm test"
|
|
@@ -78,18 +75,19 @@ steps:
|
|
|
78
75
|
error_excerpt_lines: 5
|
|
79
76
|
escalate_to: reviewer
|
|
80
77
|
# actions 故意为空 —— 由 coder agent 自主决定调哪些工具
|
|
81
|
-
# (
|
|
78
|
+
# (edit / write / ast_edit / nav-find / bash 等都允许;主仓写操作被 session-worktree-guard 拦截)
|
|
82
79
|
on_error: retry
|
|
83
80
|
max_retries: 1
|
|
84
81
|
|
|
85
82
|
- name: 审阅
|
|
86
83
|
agent: reviewer
|
|
87
|
-
description: 只读审阅 + 跑测试,输出 APPROVE/REQUEST_CHANGES/BLOCK
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
84
|
+
description: 只读审阅 worktree diff + 跑测试,输出 APPROVE/REQUEST_CHANGES/BLOCK
|
|
85
|
+
inject_context:
|
|
86
|
+
review_target: code
|
|
87
|
+
# ↓ workflow-engine 必须把 [Session Merge Review] 标记 + sessionId / worktreePath / baseSha / plan_id 注入到 reviewer prompt 头部
|
|
88
|
+
# 这是 reviewer 模式 3(worktree-session 审阅)的判定条件(agents/reviewer.md「模式判定」表)
|
|
89
|
+
# 若 workflow-engine 暂未实现该注入:fallback 走 reviewer 模式 4(legacy),但代价是不会跑 git diff 对比 baseSha
|
|
90
|
+
# actions 留空:reviewer 模式 3 自己跑 `bash cd <worktreePath> && git diff <baseSha>..HEAD`
|
|
93
91
|
# ADR:workflow-on-decision-branching: 三档决策驱动 workflow 跳转
|
|
94
92
|
on_decision:
|
|
95
93
|
APPROVE: continue # 进入"落地" step
|
|
@@ -100,14 +98,11 @@ steps:
|
|
|
100
98
|
on_error: abort
|
|
101
99
|
|
|
102
100
|
- name: 落地
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
# 由用户拍板:跑 `/merge` 触发 review-fix-review 闭环 squash merge session worktree 到主仓
|
|
102
|
+
# 本步骤 workflow 不调任何 apply 工具;仅提示用户执行
|
|
103
|
+
agent: codeforge
|
|
104
|
+
description: 提示用户跑 `/merge` 合并 session worktree 到主仓(ADR:worktree-session-isolation Phase 5)
|
|
105
105
|
requires_human_approval: true
|
|
106
|
-
actions:
|
|
107
|
-
- tool: pending-changes
|
|
108
|
-
args:
|
|
109
|
-
action: apply_all
|
|
110
|
-
on_error: abort
|
|
111
106
|
on_error: abort
|
|
112
107
|
|
|
113
108
|
- name: 沉淀
|
package/workflows/refactor.yaml
CHANGED
|
@@ -67,11 +67,12 @@ steps:
|
|
|
67
67
|
- name: 审阅
|
|
68
68
|
agent: reviewer
|
|
69
69
|
description: 确认行为不变(tests 绿)+ 代码更清晰
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
inject_context:
|
|
71
|
+
review_target: code
|
|
72
|
+
# ↓ workflow-engine 必须把 [Session Merge Review] 标记 + sessionId / worktreePath / baseSha / plan_id 注入到 reviewer prompt 头部
|
|
73
|
+
# 这是 reviewer 模式 3(worktree-session 审阅)的判定条件(agents/reviewer.md「模式判定」表)
|
|
74
|
+
# 若 workflow-engine 暂未实现该注入:fallback 走 reviewer 模式 4(legacy),但代价是不会跑 git diff 对比 baseSha
|
|
75
|
+
# actions 留空:reviewer 模式 3 自己跑 `bash cd <worktreePath> && git diff <baseSha>..HEAD`
|
|
75
76
|
on_decision:
|
|
76
77
|
APPROVE: continue
|
|
77
78
|
REQUEST_CHANGES:
|
|
@@ -81,14 +82,10 @@ steps:
|
|
|
81
82
|
on_error: abort
|
|
82
83
|
|
|
83
84
|
- name: 落地
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
# 由用户拍板:跑 `/merge` 触发 review-fix-review 闭环 squash merge 到主仓
|
|
86
|
+
agent: codeforge
|
|
87
|
+
description: 提示用户跑 `/merge` 合并 session worktree 到主仓(ADR:worktree-session-isolation Phase 5)
|
|
86
88
|
requires_human_approval: true
|
|
87
|
-
actions:
|
|
88
|
-
- tool: pending-changes
|
|
89
|
-
args:
|
|
90
|
-
action: apply_all
|
|
91
|
-
on_error: abort
|
|
92
89
|
on_error: abort
|
|
93
90
|
|
|
94
91
|
- name: 沉淀
|
package/workflows/tdd.yaml
CHANGED
|
@@ -74,11 +74,12 @@ steps:
|
|
|
74
74
|
- name: 审阅
|
|
75
75
|
agent: reviewer
|
|
76
76
|
description: 确认 RED→GREEN→REFACTOR 三步全做,测试覆盖核心
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
inject_context:
|
|
78
|
+
review_target: code
|
|
79
|
+
# ↓ workflow-engine 必须把 [Session Merge Review] 标记 + sessionId / worktreePath / baseSha / plan_id 注入到 reviewer prompt 头部
|
|
80
|
+
# 这是 reviewer 模式 3(worktree-session 审阅)的判定条件(agents/reviewer.md「模式判定」表)
|
|
81
|
+
# 若 workflow-engine 暂未实现该注入:fallback 走 reviewer 模式 4(legacy),但代价是不会跑 git diff 对比 baseSha
|
|
82
|
+
# actions 留空:reviewer 模式 3 自己跑 `bash cd <worktreePath> && git diff <baseSha>..HEAD`
|
|
82
83
|
on_decision:
|
|
83
84
|
APPROVE: continue
|
|
84
85
|
REQUEST_CHANGES:
|
|
@@ -88,12 +89,8 @@ steps:
|
|
|
88
89
|
on_error: abort
|
|
89
90
|
|
|
90
91
|
- name: 落地
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
# 由用户拍板:跑 `/merge` 触发 review-fix-review 闭环 squash merge 到主仓
|
|
93
|
+
agent: codeforge
|
|
94
|
+
description: 提示用户跑 `/merge` 合并 session worktree 到主仓(ADR:worktree-session-isolation Phase 5)
|
|
93
95
|
requires_human_approval: true
|
|
94
|
-
actions:
|
|
95
|
-
- tool: pending-changes
|
|
96
|
-
args:
|
|
97
|
-
action: apply_all
|
|
98
|
-
on_error: abort
|
|
99
96
|
on_error: abort
|