ccg-workflow 1.6.0 → 1.7.1
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/README.md +175 -408
- package/bin/codeagent-wrapper-linux-arm64 +0 -0
- package/bin/codeagent-wrapper-windows-arm64.exe +0 -0
- package/dist/cli.mjs +1 -1
- package/dist/index.d.mts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.mjs +1 -1
- package/dist/shared/{ccg-workflow.CjatSnB0.mjs → ccg-workflow._fNXxrRQ.mjs} +194 -286
- package/package.json +1 -1
- package/templates/commands/analyze.md +130 -57
- package/templates/commands/backend.md +92 -152
- package/templates/commands/clean-branches.md +81 -66
- package/templates/commands/commit.md +81 -117
- package/templates/commands/debug.md +117 -90
- package/templates/commands/feat.md +68 -282
- package/templates/commands/frontend.md +92 -154
- package/templates/commands/init.md +100 -36
- package/templates/commands/optimize.md +137 -70
- package/templates/commands/review.md +123 -63
- package/templates/commands/rollback.md +86 -60
- package/templates/commands/test.md +143 -54
- package/templates/commands/workflow.md +244 -0
- package/templates/commands/worktree.md +78 -226
- package/templates/commands/bugfix.md +0 -114
- package/templates/commands/code.md +0 -255
- package/templates/commands/dev.md +0 -179
- package/templates/commands/think.md +0 -102
|
@@ -1,348 +1,134 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
description: 🚀 智能功能开发 - 自动规划、设计、实施
|
|
4
|
-
tools: Task, Read, Write, Bash, AskUserQuestion, Glob
|
|
2
|
+
description: '智能功能开发 - 自动识别输入类型,规划/讨论/实施全流程'
|
|
5
3
|
---
|
|
6
4
|
|
|
7
|
-
#
|
|
5
|
+
# Feat - 智能功能开发
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
- **需求规划**:需求分析 → 任务分解 → 生成计划文档
|
|
11
|
-
- **讨论迭代**:基于现有计划调整优化
|
|
12
|
-
- **执行实施**:按计划调用多模型实施开发
|
|
7
|
+
$ARGUMENTS
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
## 执行流程
|
|
17
|
-
|
|
18
|
-
### 步骤 1:输入类型识别
|
|
9
|
+
## 核心工作流程
|
|
19
10
|
|
|
20
|
-
|
|
11
|
+
### 1. 输入类型判断
|
|
21
12
|
|
|
22
|
-
|
|
23
|
-
**关键词**:实现、开发、新增、添加、构建、需求、设计、规划
|
|
24
|
-
**示例**:"实现用户登录功能"、"开发商品管理模块"
|
|
25
|
-
**执行**:→ 步骤 2(完整规划)
|
|
13
|
+
**每次交互必须首先声明**:「我判断此次操作类型为:[具体类型]」
|
|
26
14
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
#### 1.3 执行实施模式
|
|
33
|
-
**关键词**:开始实施、执行计划、按照计划、根据计划
|
|
34
|
-
**示例**:"开始实施登录功能"、"按照 .claude/plan/登录功能.md 开发"
|
|
35
|
-
**执行**:→ 步骤 3(直接实施)
|
|
15
|
+
| 类型 | 关键词 | 动作 |
|
|
16
|
+
|------|--------|------|
|
|
17
|
+
| **需求规划** | 实现、开发、新增、添加、构建、设计 | → 步骤 2(完整规划) |
|
|
18
|
+
| **讨论迭代** | 调整、修改、优化、改进、包含计划文件路径 | → 读取现有计划 → 步骤 2.3 |
|
|
19
|
+
| **执行实施** | 开始实施、执行计划、按照计划、根据计划 | → 步骤 3(直接实施) |
|
|
36
20
|
|
|
37
21
|
---
|
|
38
22
|
|
|
39
|
-
###
|
|
23
|
+
### 2. 需求规划流程
|
|
40
24
|
|
|
41
|
-
#### 2.
|
|
25
|
+
#### 2.0 Prompt 增强
|
|
42
26
|
|
|
43
|
-
|
|
27
|
+
**如果 ace-tool MCP 可用**,调用 `mcp__ace-tool__enhance_prompt`:
|
|
28
|
+
- 输入原始任务描述
|
|
29
|
+
- 获取增强后的详细需求
|
|
30
|
+
- 用增强后的需求进行后续规划
|
|
44
31
|
|
|
45
|
-
|
|
46
|
-
mcp__ace-tool__search_context {
|
|
47
|
-
"query": "{{用户需求关键词}} + 相关代码实现、API、组件、数据模型、技术栈"
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
**期望结果**:现有代码位置、可复用组件、数据模型、API 结构、技术栈
|
|
32
|
+
#### 2.1 上下文检索
|
|
52
33
|
|
|
53
|
-
|
|
34
|
+
调用 `mcp__ace-tool__search_context` 检索相关代码、组件、技术栈。
|
|
54
35
|
|
|
55
36
|
#### 2.2 任务类型判断
|
|
56
37
|
|
|
57
|
-
基于用户需求和检索结果:
|
|
58
|
-
|
|
59
38
|
| 任务类型 | 判断依据 | 调用流程 |
|
|
60
39
|
|----------|----------|----------|
|
|
61
40
|
| **前端** | 页面、组件、UI、样式、布局 | ui-ux-designer → planner |
|
|
62
41
|
| **后端** | API、接口、数据库、逻辑、算法 | planner |
|
|
63
42
|
| **全栈** | 同时包含前后端 | ui-ux-designer → planner |
|
|
64
43
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
#### 2.3 调用 ui-ux-designer(前端/全栈)
|
|
68
|
-
|
|
69
|
-
如果是前端或全栈任务:
|
|
44
|
+
#### 2.3 调用 Agents
|
|
70
45
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
prompt: "
|
|
46
|
+
**前端/全栈任务**:先调用 `ui-ux-designer` agent
|
|
47
|
+
```
|
|
74
48
|
执行 agent: ~/.claude/agents/ccg/ui-ux-designer.md
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
用户需求: {{原始需求}}
|
|
78
|
-
技术栈: {{从检索结果提取}}
|
|
79
|
-
|
|
80
|
-
输出: UI/UX 设计方案(Markdown)
|
|
81
|
-
"
|
|
82
|
-
}
|
|
49
|
+
输入: 项目上下文 + 用户需求 + 技术栈
|
|
50
|
+
输出: UI/UX 设计方案
|
|
83
51
|
```
|
|
84
52
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
#### 2.4 调用 planner
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
Task(subagent_type="general-purpose", description="调用任务规划师") {
|
|
91
|
-
prompt: "
|
|
53
|
+
**所有任务**:调用 `planner` agent
|
|
54
|
+
```
|
|
92
55
|
执行 agent: ~/.claude/agents/ccg/planner.md
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
{{如果有 UI/UX 设计方案,附加在此}}
|
|
96
|
-
用户需求: {{原始需求}}
|
|
97
|
-
技术栈: {{从检索结果提取}}
|
|
98
|
-
|
|
99
|
-
输出: 生成功能规划文档并保存到 .claude/plan/{{功能名}}.md
|
|
100
|
-
"
|
|
101
|
-
}
|
|
56
|
+
输入: 项目上下文 + UI设计方案(如有) + 用户需求
|
|
57
|
+
输出: 功能规划文档
|
|
102
58
|
```
|
|
103
59
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
#### 2.5 计划版本控制
|
|
60
|
+
#### 2.4 保存计划
|
|
107
61
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
PLAN_FILE=".claude/plan/${FEATURE_NAME}.md"
|
|
62
|
+
**文件命名规则**:
|
|
63
|
+
- 首次规划:`.claude/plan/功能名.md`
|
|
64
|
+
- 迭代版本:`.claude/plan/功能名-1.md`、`.claude/plan/功能名-2.md`...
|
|
112
65
|
|
|
113
|
-
|
|
114
|
-
PLAN_FILE=".claude/plan/${FEATURE_NAME}-1.md"
|
|
115
|
-
fi
|
|
116
|
-
```
|
|
66
|
+
#### 2.5 交互确认
|
|
117
67
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
BASE_NAME=$(basename "$EXISTING_PLAN" .md)
|
|
124
|
-
if [[ $BASE_NAME =~ -([0-9]+)$ ]]; then
|
|
125
|
-
VERSION=$((${BASH_REMATCH[1]} + 1))
|
|
126
|
-
NEW_PLAN=".claude/plan/${BASE_NAME%-*}-${VERSION}.md"
|
|
127
|
-
else
|
|
128
|
-
NEW_PLAN=".claude/plan/${BASE_NAME}-1.md"
|
|
129
|
-
fi
|
|
130
|
-
fi
|
|
131
|
-
```
|
|
68
|
+
规划完成后询问用户:
|
|
69
|
+
- **开始实施** → 步骤 3
|
|
70
|
+
- **讨论调整** → 重新执行步骤 2.3
|
|
71
|
+
- **重新规划** → 删除当前计划,重新执行步骤 2
|
|
72
|
+
- **仅保存计划** → 退出
|
|
132
73
|
|
|
133
74
|
---
|
|
134
75
|
|
|
135
|
-
|
|
76
|
+
### 3. 执行实施流程
|
|
136
77
|
|
|
137
|
-
|
|
138
|
-
AskUserQuestion {
|
|
139
|
-
question: "功能规划已完成,请选择下一步操作:",
|
|
140
|
-
header: "下一步",
|
|
141
|
-
options: [
|
|
142
|
-
{ label: "开始实施(推荐)", description: "根据计划调用多模型开发" },
|
|
143
|
-
{ label: "讨论调整", description: "修改计划中的某些部分" },
|
|
144
|
-
{ label: "重新规划", description: "推翻当前方案重新开始" },
|
|
145
|
-
{ label: "仅保存计划", description: "暂不实施,稍后手动执行" }
|
|
146
|
-
]
|
|
147
|
-
}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
**处理逻辑**:
|
|
151
|
-
- 开始实施 → 步骤 3
|
|
152
|
-
- 讨论调整 → 重新执行步骤 2.4
|
|
153
|
-
- 重新规划 → 删除当前计划,重新执行步骤 2
|
|
154
|
-
- 仅保存计划 → 退出
|
|
155
|
-
|
|
156
|
-
---
|
|
78
|
+
#### 3.1 读取计划
|
|
157
79
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
#### 3.1 读取计划文档
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
if [[ "$USER_INPUT" =~ \.claude/plan/.*\.md ]]; then
|
|
164
|
-
PLAN_FILE="{{用户指定路径}}"
|
|
165
|
-
else
|
|
166
|
-
PLAN_FILE=$(ls -t .claude/plan/*.md | head -n 1)
|
|
167
|
-
fi
|
|
168
|
-
|
|
169
|
-
PLAN_CONTENT=$(Read("$PLAN_FILE"))
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
---
|
|
80
|
+
优先使用用户指定路径,否则读取最新的计划文件。
|
|
173
81
|
|
|
174
82
|
#### 3.2 任务类型分析
|
|
175
83
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
```bash
|
|
179
|
-
FRONTEND_TASKS=$(echo "$PLAN_CONTENT" | grep -E "模块.*:前端" || echo "")
|
|
180
|
-
BACKEND_TASKS=$(echo "$PLAN_CONTENT" | grep -E "模块.*:后端" || echo "")
|
|
181
|
-
|
|
182
|
-
if [ -n "$FRONTEND_TASKS" ] && [ -n "$BACKEND_TASKS" ]; then
|
|
183
|
-
TASK_TYPE="fullstack"
|
|
184
|
-
elif [ -n "$FRONTEND_TASKS" ]; then
|
|
185
|
-
TASK_TYPE="frontend"
|
|
186
|
-
elif [ -n "$BACKEND_TASKS" ]; then
|
|
187
|
-
TASK_TYPE="backend"
|
|
188
|
-
fi
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
如无法判断,询问用户选择任务类型。
|
|
192
|
-
|
|
193
|
-
---
|
|
84
|
+
从计划提取任务分类:前端 / 后端 / 全栈
|
|
194
85
|
|
|
195
86
|
#### 3.3 多模型路由实施
|
|
196
87
|
|
|
197
|
-
|
|
88
|
+
**参考 `multi-model-collaboration` skill 调用外部模型**
|
|
198
89
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
codeagent-wrapper --backend {{FRONTEND_PRIMARY}} - "$PROJECT_DIR" <<'EOF'
|
|
204
|
-
ROLE_FILE: ~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/frontend.md
|
|
205
|
-
|
|
206
|
-
<TASK>
|
|
207
|
-
根据以下计划实施前端功能:
|
|
208
|
-
$FRONTEND_PLAN
|
|
209
|
-
|
|
210
|
-
要求:
|
|
211
|
-
1. 创建/修改所有需要的组件文件
|
|
212
|
-
2. 符合项目代码风格
|
|
213
|
-
3. 实现响应式设计
|
|
214
|
-
4. 添加 TypeScript 类型定义
|
|
215
|
-
5. 处理 Loading/Success/Error 状态
|
|
216
|
-
6. 遵循无障碍访问最佳实践
|
|
217
|
-
</TASK>
|
|
218
|
-
EOF
|
|
219
|
-
|
|
220
|
-
GEMINI_SESSION=$(echo "$OUTPUT" | grep "SESSION_ID:" | awk '{print $2}')
|
|
221
|
-
fi
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
##### 后端任务 → {{BACKEND_PRIMARY}}
|
|
90
|
+
**前端任务 → Gemini**:
|
|
91
|
+
- 使用 `codeagent-wrapper --backend gemini`
|
|
92
|
+
- 角色提示词:`~/.claude/.ccg/prompts/gemini/frontend.md`
|
|
93
|
+
- 输出:前端组件代码
|
|
225
94
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
codeagent-wrapper --backend {{BACKEND_PRIMARY}} - "$PROJECT_DIR" <<'EOF'
|
|
231
|
-
ROLE_FILE: ~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/architect.md
|
|
232
|
-
|
|
233
|
-
<TASK>
|
|
234
|
-
根据以下计划实施后端功能:
|
|
235
|
-
$BACKEND_PLAN
|
|
236
|
-
|
|
237
|
-
要求:
|
|
238
|
-
1. 创建/修改所有 API 端点
|
|
239
|
-
2. 实现数据验证(Zod/Joi)
|
|
240
|
-
3. 统一错误处理
|
|
241
|
-
4. 添加中间件(认证、日志、CORS)
|
|
242
|
-
5. 编写数据库查询
|
|
243
|
-
6. 确保代码可测试性
|
|
244
|
-
</TASK>
|
|
245
|
-
EOF
|
|
246
|
-
|
|
247
|
-
CODEX_SESSION=$(echo "$OUTPUT" | grep "SESSION_ID:" | awk '{print $2}')
|
|
248
|
-
fi
|
|
249
|
-
```
|
|
95
|
+
**后端任务 → Codex**:
|
|
96
|
+
- 使用 `codeagent-wrapper --backend codex`
|
|
97
|
+
- 角色提示词:`~/.claude/.ccg/prompts/codex/architect.md`
|
|
98
|
+
- 输出:后端 API 代码
|
|
250
99
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
wait
|
|
258
|
-
fi
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
---
|
|
100
|
+
**全栈任务 → 并行调用**:
|
|
101
|
+
**执行步骤**:
|
|
102
|
+
1. 在**同一个 Bash 调用**中启动两个后台进程(不加 wait,立即返回):
|
|
103
|
+
- Codex 后端 + Gemini 前端同时运行
|
|
104
|
+
2. 使用 `TaskOutput` 监控并获取结果
|
|
105
|
+
3. **⚠️ 强制规则:必须等待 TaskOutput 返回两个模型的完整结果后才能进入下一阶段,禁止跳过或提前继续!**
|
|
262
106
|
|
|
263
107
|
#### 3.4 实施后验证
|
|
264
108
|
|
|
265
109
|
```bash
|
|
266
110
|
git status --short
|
|
267
111
|
git diff --name-status
|
|
268
|
-
|
|
269
|
-
AskUserQuestion {
|
|
270
|
-
question: "是否运行代码审查?",
|
|
271
|
-
options: [
|
|
272
|
-
{ label: "是,运行 /ccg:review", description: "双模型代码审查" },
|
|
273
|
-
{ label: "跳过,手动检查", description: "稍后自行审查代码" }
|
|
274
|
-
]
|
|
275
|
-
}
|
|
276
112
|
```
|
|
277
113
|
|
|
278
|
-
|
|
114
|
+
询问用户是否运行代码审查(`/ccg:review`)。
|
|
279
115
|
|
|
280
116
|
---
|
|
281
117
|
|
|
282
|
-
###
|
|
118
|
+
### 4. 关键执行原则
|
|
283
119
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
echo " 4. 运行 /ccg:commit 提交代码"
|
|
292
|
-
echo ""
|
|
293
|
-
echo "📂 计划文档:$PLAN_FILE"
|
|
294
|
-
```
|
|
120
|
+
1. **强制响应要求**:每次交互必须首先说明判断的操作类型
|
|
121
|
+
2. **文档一致性**:规划文档与实际执行保持同步
|
|
122
|
+
3. **依赖关系管理**:前端任务必须确保 UI 设计完整性
|
|
123
|
+
4. **多模型信任规则**:
|
|
124
|
+
- 前端以 Gemini 为准
|
|
125
|
+
- 后端以 Codex 为准
|
|
126
|
+
5. **用户沟通透明**:所有判断和动作都要明确告知用户
|
|
295
127
|
|
|
296
128
|
---
|
|
297
129
|
|
|
298
|
-
##
|
|
130
|
+
## 使用方法
|
|
299
131
|
|
|
300
132
|
```bash
|
|
301
|
-
/
|
|
302
|
-
/ccg:feat --mode=implement "path/to/plan" # 显式指定实施模式
|
|
303
|
-
/ccg:feat --mode=iterate "path" "调整需求" # 显式指定迭代模式
|
|
304
|
-
/ccg:feat --type=frontend "实现登录页面" # 指定任务类型
|
|
305
|
-
/ccg:feat --type=backend "实现登录 API"
|
|
306
|
-
/ccg:feat --type=fullstack "实现完整登录"
|
|
133
|
+
/feat <功能描述>
|
|
307
134
|
```
|
|
308
|
-
|
|
309
|
-
---
|
|
310
|
-
|
|
311
|
-
## 使用示例
|
|
312
|
-
|
|
313
|
-
```bash
|
|
314
|
-
# 示例 1:完整流程
|
|
315
|
-
/ccg:feat 实现用户登录功能
|
|
316
|
-
|
|
317
|
-
→ 系统识别:需求规划模式
|
|
318
|
-
→ 检索上下文(MCP)
|
|
319
|
-
→ 判断任务类型:全栈
|
|
320
|
-
→ 调用 ui-ux-designer
|
|
321
|
-
→ 调用 planner
|
|
322
|
-
→ 生成计划:.claude/plan/用户登录功能.md
|
|
323
|
-
→ 用户确认:开始实施
|
|
324
|
-
→ 并行调用 Gemini(前端)+ Codex(后端)
|
|
325
|
-
→ 实施完成
|
|
326
|
-
→ 可选:运行代码审查
|
|
327
|
-
|
|
328
|
-
# 示例 2:讨论迭代
|
|
329
|
-
/ccg:feat 调整登录功能,增加"记住我"选项
|
|
330
|
-
|
|
331
|
-
→ 系统识别:讨论迭代模式
|
|
332
|
-
→ 读取现有计划:.claude/plan/用户登录功能.md
|
|
333
|
-
→ 调用 planner 重新规划
|
|
334
|
-
→ 生成新版本:.claude/plan/用户登录功能-1.md
|
|
335
|
-
|
|
336
|
-
# 示例 3:直接实施
|
|
337
|
-
/ccg:feat 按照 .claude/plan/用户登录功能.md 开始实施
|
|
338
|
-
|
|
339
|
-
→ 系统识别:执行实施模式
|
|
340
|
-
→ 读取计划文档
|
|
341
|
-
→ 分析任务类型:全栈
|
|
342
|
-
→ 并行调用 Gemini + Codex
|
|
343
|
-
→ 实施完成
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
---
|
|
347
|
-
|
|
348
|
-
现在开始智能功能开发!
|