ccg-workflow 1.4.4 → 1.5.0

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.
@@ -1,24 +1,15 @@
1
1
  ---
2
2
  name: ccg:feat
3
- description: 🚀 智能功能开发 - 自动规划、设计、实施(支持需求规划/讨论迭代/执行实施三种模式)
4
- tools: Task, mcp__ace-tool__search_context, Read, Write, Bash, AskUserQuestion, Glob
3
+ description: 🚀 智能功能开发 - 自动规划、设计、实施
4
+ tools: Task, Read, Write, Bash, AskUserQuestion, Glob
5
5
  ---
6
6
 
7
7
  # CCG 智能功能开发
8
8
 
9
- 智能识别用户输入类型,自动选择工作流程:
10
- - **需求规划**:完整的需求分析 → 任务分解 → 生成计划文档
11
- - **讨论迭代**:基于现有计划,调整优化
12
- - **执行实施**:按照计划文档,调用多模型实施开发
13
-
14
- ---
15
-
16
- ## 核心能力
17
-
18
- 1. **智能输入识别**:自动判断用户意图(规划/迭代/实施)
19
- 2. **多模型路由**:前端→Gemini,后端→Codex,全栈→并行
20
- 3. **计划版本控制**:`.claude/plan/功能名.md` → `.claude/plan/功能名-1.md` → ...
21
- 4. **自动 Agent 调用**:根据任务类型调用 planner / ui-ux-designer
9
+ 智能识别用户输入类型,自动选择工作流:
10
+ - **需求规划**:需求分析 → 任务分解 → 生成计划文档
11
+ - **讨论迭代**:基于现有计划调整优化
12
+ - **执行实施**:按计划调用多模型实施开发
22
13
 
23
14
  ---
24
15
 
@@ -26,235 +17,109 @@ tools: Task, mcp__ace-tool__search_context, Read, Write, Bash, AskUserQuestion,
26
17
 
27
18
  ### 步骤 1:输入类型识别
28
19
 
29
- 分析用户输入,识别关键词并分类:
20
+ 分析用户输入,识别关键词:
30
21
 
31
22
  #### 1.1 需求规划模式(默认)
32
-
33
- **关键词**:
34
- - 实现、开发、新增、添加功能、构建
35
- - 需求、设计、规划
36
- - "我想要..."、"帮我实现..."
37
-
38
- **示例**:
39
- - "实现用户登录功能"
40
- - "开发一个商品管理模块"
41
- - "添加实时聊天功能"
42
-
43
- → 执行完整规划流程(步骤 2)
23
+ **关键词**:实现、开发、新增、添加、构建、需求、设计、规划
24
+ **示例**:"实现用户登录功能"、"开发商品管理模块"
25
+ **执行**:→ 步骤 2(完整规划)
44
26
 
45
27
  #### 1.2 讨论迭代模式
46
-
47
- **关键词**:
48
- - 调整、修改、优化、改进、更新
49
- - 重新规划、重新设计
50
- - "计划需要..."、"方案需要..."
51
- - 包含计划文件路径(`.claude/plan/xxx.md`)
52
-
53
- **示例**:
54
- - "调整用户登录功能的方案"
55
- - "优化商品管理模块的计划"
56
- - "修改 .claude/plan/登录功能.md 的任务拆分"
57
-
58
- → 读取现有计划,调用 planner 重新规划(步骤 2.2)
28
+ **关键词**:调整、修改、优化、改进、更新、重新规划、包含计划文件路径
29
+ **示例**:"调整登录功能方案"、"优化 .claude/plan/登录功能.md"
30
+ **执行**:→ 读取现有计划 → 步骤 2.4(重新规划)
59
31
 
60
32
  #### 1.3 执行实施模式
61
-
62
- **关键词**:
63
- - 开始实施、执行计划、按照计划
64
- - 实施、开发、编码
65
- - "根据计划..."、"按照 .claude/plan/xxx.md"
66
-
67
- **示例**:
68
- - "开始实施用户登录功能"
69
- - "按照计划执行开发"
70
- - "根据 .claude/plan/登录功能.md 开始编码"
71
-
72
- → 直接进入实施阶段(步骤 3)
33
+ **关键词**:开始实施、执行计划、按照计划、根据计划
34
+ **示例**:"开始实施登录功能"、"按照 .claude/plan/登录功能.md 开发"
35
+ **执行**:→ 步骤 3(直接实施)
73
36
 
74
37
  ---
75
38
 
76
- ### 步骤 2:需求规划流程(仅"需求规划"模式)
39
+ ### 步骤 2:需求规划流程
77
40
 
78
- #### 2.1 检索项目上下文
41
+ #### 2.1 上下文检索
79
42
 
80
- ##### 2.1.1 检查是否已有 repo-context.md
43
+ 调用 {{MCP_SEARCH_TOOL}} 检索相关代码:
81
44
 
82
- ```bash
83
- # 检查文件是否存在
84
- if [ -f ".claude/repo-context.md" ]; then
85
- echo "✓ 检测到项目上下文报告"
86
- Read(".claude/repo-context.md")
87
- else
88
- echo "⚠ 未检测到项目上下文,建议先运行 /ccg:scan"
89
- # 询问用户是否立即扫描
90
- AskUserQuestion {
91
- question: "是否立即扫描项目以获取上下文?",
92
- options: [
93
- { label: "是,立即扫描(推荐)", description: "运行 /ccg:scan 生成上下文报告" },
94
- { label: "跳过,直接规划", description: "基于现有知识进行规划" }
95
- ]
96
- }
97
- fi
98
45
  ```
99
-
100
- ##### 2.1.2 使用 ace-tool 检索相关代码
101
-
102
- ```bash
103
- mcp__ace-tool__search_context {
104
- "project_root_path": "$PROJECT_DIR",
105
- "query": "{{用户需求关键词}} + 相关的代码实现、API 接口、组件、数据模型"
46
+ {{MCP_SEARCH_TOOL}} {
47
+ "{{MCP_SEARCH_PARAM}}": "{{用户需求关键词}} + 相关代码实现、API、组件、数据模型、技术栈"
106
48
  }
107
49
  ```
108
50
 
109
- **示例查询**:
110
- - 用户需求:"实现用户登录功能"
111
- - ace-tool 查询:"用户认证、登录、JWT token、Session 管理、认证中间件"
112
-
113
- **期望结果**:
114
- - 现有认证代码位置
115
- - 可复用的组件
116
- - 数据库 User 模型
117
- - API 路由结构
51
+ **期望结果**:现有代码位置、可复用组件、数据模型、API 结构、技术栈
118
52
 
119
53
  ---
120
54
 
121
55
  #### 2.2 任务类型判断
122
56
 
123
- 基于用户需求和检索结果,判断任务类型:
57
+ 基于用户需求和检索结果:
124
58
 
125
59
  | 任务类型 | 判断依据 | 调用流程 |
126
60
  |----------|----------|----------|
127
- | **前端任务** | 关键词:页面、组件、UI、样式、布局 | ui-ux-designer → planner |
128
- | **后端任务** | 关键词:API、接口、数据库、逻辑、算法 | planner |
129
- | **全栈任务** | 同时包含前后端需求 | ui-ux-designer → planner |
61
+ | **前端** | 页面、组件、UI、样式、布局 | ui-ux-designer → planner |
62
+ | **后端** | API、接口、数据库、逻辑、算法 | planner |
63
+ | **全栈** | 同时包含前后端 | ui-ux-designer → planner |
130
64
 
131
65
  ---
132
66
 
133
- #### 2.3 调用 ui-ux-designer agent(前端/全栈任务)
67
+ #### 2.3 调用 ui-ux-designer(前端/全栈)
134
68
 
135
- 如果是前端或全栈任务,先调用 UI/UX 设计师:
69
+ 如果是前端或全栈任务:
136
70
 
137
71
  ```bash
138
- Task(subagent_type="general-purpose", description="调用 ui-ux-designer agent") {
72
+ Task(subagent_type="general-purpose", description="调用 UI/UX 设计师") {
139
73
  prompt: "
140
- 执行以下 agent
141
- ~/.claude/commands/ccg/agents/ui-ux-designer.md
142
-
143
- 项目上下文:
144
- {{ace-tool 检索结果}}
145
-
146
- 用户需求:
147
- {{原始需求}}
74
+ 执行 agent: ~/.claude/agents/ccg/ui-ux-designer.md
148
75
 
149
- 技术栈信息:
150
- {{从 repo-context.md 提取的技术栈}}
76
+ 项目上下文: {{MCP 检索结果}}
77
+ 用户需求: {{原始需求}}
78
+ 技术栈: {{从检索结果提取}}
151
79
 
152
- 输出:UI/UX 设计方案文档(Markdown 格式)
80
+ 输出: UI/UX 设计方案(Markdown
153
81
  "
154
82
  }
155
83
  ```
156
84
 
157
- **输出示例**:
158
- ```markdown
159
- # UI/UX 设计方案:用户登录页面
160
-
161
- ## 1. 页面结构
162
- ...
163
-
164
- ## 2. 组件拆分
165
- - LoginPage.tsx
166
- - LoginForm.tsx
167
- - FormInput.tsx
168
- ...
169
-
170
- ## 3. 交互流程
171
- ...
172
- ```
173
-
174
85
  ---
175
86
 
176
- #### 2.4 调用 planner agent
177
-
178
- 将所有上下文信息传递给 planner:
87
+ #### 2.4 调用 planner
179
88
 
180
89
  ```bash
181
- Task(subagent_type="general-purpose", description="调用 planner agent") {
90
+ Task(subagent_type="general-purpose", description="调用任务规划师") {
182
91
  prompt: "
183
- 执行以下 agent
184
- ~/.claude/commands/ccg/agents/planner.md
185
-
186
- 项目上下文:
187
- {{ace-tool 检索结果}}
188
-
189
- {{如果是前端/全栈任务,附加 UI/UX 设计方案}}
190
- {{UI/UX 设计方案内容}}
92
+ 执行 agent: ~/.claude/agents/ccg/planner.md
191
93
 
192
- 用户需求:
193
- {{原始需求}}
94
+ 项目上下文: {{MCP 检索结果}}
95
+ {{如果有 UI/UX 设计方案,附加在此}}
96
+ 用户需求: {{原始需求}}
97
+ 技术栈: {{从检索结果提取}}
194
98
 
195
- 技术栈信息:
196
- {{从 repo-context.md 提取}}
197
-
198
- 输出:
199
- 请生成详细的功能规划文档,并按照以下路径保存:
200
- .claude/plan/{{功能名}}.md
99
+ 输出: 生成功能规划文档并保存到 .claude/plan/{{功能名}}.md
201
100
  "
202
101
  }
203
102
  ```
204
103
 
205
- **planner 输出格式**:
206
- ```markdown
207
- # 功能规划:用户登录功能
208
-
209
- ## 1. 功能概述
210
- ...
211
-
212
- ## 2. WBS 任务分解
213
- ...
214
-
215
- ## 3. 依赖关系
216
- ...
217
-
218
- ## 4. 实施建议
219
- ...
220
- ```
221
-
222
104
  ---
223
105
 
224
106
  #### 2.5 计划版本控制
225
107
 
226
- ##### 首次规划
227
-
108
+ **首次规划**:
228
109
  ```bash
229
- # 生成计划文件名(基于用户需求)
230
- FEATURE_NAME="{{从用户需求提取的功能名}}"
110
+ FEATURE_NAME="{{从需求提取的功能名}}"
231
111
  PLAN_FILE=".claude/plan/${FEATURE_NAME}.md"
232
112
 
233
- # 检查是否已存在
234
113
  if [ -f "$PLAN_FILE" ]; then
235
- echo "⚠ 计划文件已存在:$PLAN_FILE"
236
- echo "将创建新版本:${FEATURE_NAME}-1.md"
237
114
  PLAN_FILE=".claude/plan/${FEATURE_NAME}-1.md"
238
115
  fi
239
-
240
- # 保存计划
241
- Write("$PLAN_FILE", "{{planner 输出}}")
242
116
  ```
243
117
 
244
- ##### 讨论迭代(调整现有计划)
245
-
118
+ **讨论迭代**:
246
119
  ```bash
247
- # 用户输入:"调整用户登录功能的方案"
248
- # 识别现有计划文件
249
- EXISTING_PLAN=$(find .claude/plan -name "*登录*.md" -o -name "*login*.md" | head -n 1)
120
+ EXISTING_PLAN=$(find .claude/plan -name "*{{关键词}}*.md" | head -n 1)
250
121
 
251
122
  if [ -n "$EXISTING_PLAN" ]; then
252
- echo "✓ 找到现有计划:$EXISTING_PLAN"
253
-
254
- # 读取现有计划
255
- EXISTING_CONTENT=$(Read("$EXISTING_PLAN"))
256
-
257
- # 生成新版本号
258
123
  BASE_NAME=$(basename "$EXISTING_PLAN" .md)
259
124
  if [[ $BASE_NAME =~ -([0-9]+)$ ]]; then
260
125
  VERSION=$((${BASH_REMATCH[1]} + 1))
@@ -262,27 +127,6 @@ if [ -n "$EXISTING_PLAN" ]; then
262
127
  else
263
128
  NEW_PLAN=".claude/plan/${BASE_NAME}-1.md"
264
129
  fi
265
-
266
- # 调用 planner 重新规划
267
- Task(subagent_type="general-purpose") {
268
- prompt: "
269
- 基于现有计划进行调整:
270
-
271
- 【现有计划】
272
- $EXISTING_CONTENT
273
-
274
- 【用户调整要求】
275
- {{用户的调整需求}}
276
-
277
- 【任务】
278
- 请根据用户要求,重新规划并生成新的计划文档。
279
- 保持合理的部分,修改需要调整的部分。
280
- 输出到:$NEW_PLAN
281
- "
282
- }
283
- else
284
- echo "⚠ 未找到相关计划文件,将创建新计划"
285
- # 回退到首次规划流程
286
130
  fi
287
131
  ```
288
132
 
@@ -290,71 +134,50 @@ fi
290
134
 
291
135
  #### 2.6 交互确认
292
136
 
293
- 计划生成后,询问用户下一步操作:
294
-
295
137
  ```bash
296
138
  AskUserQuestion {
297
139
  question: "功能规划已完成,请选择下一步操作:",
298
140
  header: "下一步",
299
141
  options: [
300
- {
301
- label: "开始实施(推荐)",
302
- description: "根据计划调用多模型开始开发"
303
- },
304
- {
305
- label: "讨论调整",
306
- description: "我想修改计划中的某些部分"
307
- },
308
- {
309
- label: "重新规划",
310
- description: "推翻当前方案,重新开始"
311
- },
312
- {
313
- label: "仅保存计划",
314
- description: "暂时不实施,稍后手动执行"
315
- }
142
+ { label: "开始实施(推荐)", description: "根据计划调用多模型开发" },
143
+ { label: "讨论调整", description: "修改计划中的某些部分" },
144
+ { label: "重新规划", description: "推翻当前方案重新开始" },
145
+ { label: "仅保存计划", description: "暂不实施,稍后手动执行" }
316
146
  ]
317
147
  }
318
148
  ```
319
149
 
320
- **用户选择处理**:
321
- - **开始实施**进入步骤 3
322
- - **讨论调整**提示用户描述调整需求,重新执行步骤 2.4
323
- - **重新规划** → 删除当前计划,重新执行步骤 2
324
- - **仅保存计划**退出,提示计划文件路径
150
+ **处理逻辑**:
151
+ - 开始实施步骤 3
152
+ - 讨论调整重新执行步骤 2.4
153
+ - 重新规划 → 删除当前计划,重新执行步骤 2
154
+ - 仅保存计划退出
325
155
 
326
156
  ---
327
157
 
328
- ### 步骤 3:执行实施(用户确认后)
158
+ ### 步骤 3:执行实施
329
159
 
330
160
  #### 3.1 读取计划文档
331
161
 
332
162
  ```bash
333
- # 确定计划文件路径
334
163
  if [[ "$USER_INPUT" =~ \.claude/plan/.*\.md ]]; then
335
- # 用户明确指定了计划文件
336
- PLAN_FILE="{{用户指定的路径}}"
164
+ PLAN_FILE="{{用户指定路径}}"
337
165
  else
338
- # 查找最新的计划文件
339
166
  PLAN_FILE=$(ls -t .claude/plan/*.md | head -n 1)
340
167
  fi
341
168
 
342
- # 读取计划内容
343
169
  PLAN_CONTENT=$(Read("$PLAN_FILE"))
344
-
345
- echo "✓ 读取计划:$PLAN_FILE"
346
170
  ```
347
171
 
348
172
  ---
349
173
 
350
174
  #### 3.2 任务类型分析
351
175
 
352
- 从计划文档中提取任务分类:
176
+ 从计划提取分类:
353
177
 
354
178
  ```bash
355
- # WBS 任务分解中提取模块类型
356
- FRONTEND_TASKS=$(echo "$PLAN_CONTENT" | grep -E "#### 模块.*:前端" || echo "")
357
- BACKEND_TASKS=$(echo "$PLAN_CONTENT" | grep -E "#### 模块.*:后端" || echo "")
179
+ FRONTEND_TASKS=$(echo "$PLAN_CONTENT" | grep -E "模块.*:前端" || echo "")
180
+ BACKEND_TASKS=$(echo "$PLAN_CONTENT" | grep -E "模块.*:后端" || echo "")
358
181
 
359
182
  if [ -n "$FRONTEND_TASKS" ] && [ -n "$BACKEND_TASKS" ]; then
360
183
  TASK_TYPE="fullstack"
@@ -362,139 +185,76 @@ elif [ -n "$FRONTEND_TASKS" ]; then
362
185
  TASK_TYPE="frontend"
363
186
  elif [ -n "$BACKEND_TASKS" ]; then
364
187
  TASK_TYPE="backend"
365
- else
366
- # 无法判断,询问用户
367
- AskUserQuestion {
368
- question: "请选择任务类型:",
369
- options: [
370
- { label: "前端任务", description: "主要涉及 UI/组件/样式" },
371
- { label: "后端任务", description: "主要涉及 API/逻辑/数据库" },
372
- { label: "全栈任务", description: "同时涉及前后端" }
373
- ]
374
- }
375
188
  fi
376
189
  ```
377
190
 
191
+ 如无法判断,询问用户选择任务类型。
192
+
378
193
  ---
379
194
 
380
195
  #### 3.3 多模型路由实施
381
196
 
382
- ##### 3.3.1 前端任务 → Gemini
197
+ ##### 前端任务 → {{FRONTEND_PRIMARY}}
383
198
 
384
199
  ```bash
385
200
  if [ "$TASK_TYPE" == "frontend" ] || [ "$TASK_TYPE" == "fullstack" ]; then
386
- echo "🎨 前端任务 路由到 Gemini"
387
-
388
- # 提取前端相关任务
389
- FRONTEND_PLAN=$(echo "$PLAN_CONTENT" | sed -n '/#### 模块.*:前端/,/#### 模块.*:/p')
390
-
391
- # 调用 codeagent-wrapper
392
- codeagent-wrapper --backend gemini - "$PROJECT_DIR" <<'EOF'
393
- ROLE_FILE: ~/.claude/.ccg/prompts/gemini/frontend.md
201
+ FRONTEND_PLAN=$(echo "$PLAN_CONTENT" | sed -n '/模块.*:前端/,/模块.*:/p')
394
202
 
395
- <PROJECT_CONTEXT>
396
- {{从 .claude/repo-context.md 提取的前端技术栈}}
397
- </PROJECT_CONTEXT>
203
+ codeagent-wrapper --backend {{FRONTEND_PRIMARY}} - "$PROJECT_DIR" <<'EOF'
204
+ ROLE_FILE: ~/.claude/.ccg/prompts/{{FRONTEND_PRIMARY}}/frontend.md
398
205
 
399
206
  <TASK>
400
- 根据以下计划,实施前端功能:
401
-
207
+ 根据以下计划实施前端功能:
402
208
  $FRONTEND_PLAN
403
209
 
404
210
  要求:
405
211
  1. 创建/修改所有需要的组件文件
406
- 2. 确保组件符合项目现有的代码风格
407
- 3. 实现响应式设计(Mobile / Tablet / Desktop)
408
- 4. 添加必要的类型定义(TypeScript
409
- 5. 处理 Loading / Success / Error 状态
410
- 6. 遵循无障碍访问(A11y)最佳实践
212
+ 2. 符合项目代码风格
213
+ 3. 实现响应式设计
214
+ 4. 添加 TypeScript 类型定义
215
+ 5. 处理 Loading/Success/Error 状态
216
+ 6. 遵循无障碍访问最佳实践
411
217
  </TASK>
412
-
413
- <OUTPUT>
414
- 完成后请提供:
415
- 1. 创建/修改的文件清单
416
- 2. 关键代码片段说明
417
- 3. 使用方法和示例
418
- </OUTPUT>
419
218
  EOF
420
219
 
421
- # 捕获 SESSION_ID
422
220
  GEMINI_SESSION=$(echo "$OUTPUT" | grep "SESSION_ID:" | awk '{print $2}')
423
- echo "✓ Gemini 前端实施完成 (Session: $GEMINI_SESSION)"
424
221
  fi
425
222
  ```
426
223
 
427
- ##### 3.3.2 后端任务 → Codex
224
+ ##### 后端任务 → {{BACKEND_PRIMARY}}
428
225
 
429
226
  ```bash
430
227
  if [ "$TASK_TYPE" == "backend" ] || [ "$TASK_TYPE" == "fullstack" ]; then
431
- echo "⚙️ 后端任务 路由到 Codex"
228
+ BACKEND_PLAN=$(echo "$PLAN_CONTENT" | sed -n '/模块.*:后端/,/模块.*:/p')
432
229
 
433
- # 提取后端相关任务
434
- BACKEND_PLAN=$(echo "$PLAN_CONTENT" | sed -n '/#### 模块.*:后端/,/#### 模块.*:/p')
435
-
436
- # 调用 codeagent-wrapper
437
- codeagent-wrapper --backend codex - "$PROJECT_DIR" <<'EOF'
438
- ROLE_FILE: ~/.claude/.ccg/prompts/codex/architect.md
439
-
440
- <PROJECT_CONTEXT>
441
- {{从 .claude/repo-context.md 提取的后端技术栈}}
442
- </PROJECT_CONTEXT>
230
+ codeagent-wrapper --backend {{BACKEND_PRIMARY}} - "$PROJECT_DIR" <<'EOF'
231
+ ROLE_FILE: ~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/architect.md
443
232
 
444
233
  <TASK>
445
- 根据以下计划,实施后端功能:
446
-
234
+ 根据以下计划实施后端功能:
447
235
  $BACKEND_PLAN
448
236
 
449
237
  要求:
450
- 1. 创建/修改所有需要的 API 端点
451
- 2. 实现数据验证(使用 Zod / Joi / 等)
452
- 3. 处理错误和异常(统一错误格式)
453
- 4. 添加必要的中间件(认证、日志、CORS)
454
- 5. 编写数据库查询(ORM / 原生 SQL)
455
- 6. 确保代码可测试性(依赖注入、接口抽象)
238
+ 1. 创建/修改所有 API 端点
239
+ 2. 实现数据验证(Zod/Joi
240
+ 3. 统一错误处理
241
+ 4. 添加中间件(认证、日志、CORS)
242
+ 5. 编写数据库查询
243
+ 6. 确保代码可测试性
456
244
  </TASK>
457
-
458
- <OUTPUT>
459
- 完成后请提供:
460
- 1. 创建/修改的文件清单
461
- 2. API 接口文档(请求/响应格式)
462
- 3. 数据库 Schema 变更(如有)
463
- 4. 测试用例建议
464
- </OUTPUT>
465
245
  EOF
466
246
 
467
- # 捕获 SESSION_ID
468
247
  CODEX_SESSION=$(echo "$OUTPUT" | grep "SESSION_ID:" | awk '{print $2}')
469
- echo "✓ Codex 后端实施完成 (Session: $CODEX_SESSION)"
470
248
  fi
471
249
  ```
472
250
 
473
- ##### 3.3.3 全栈任务 → 并行调用
251
+ ##### 全栈任务 → 并行调用
474
252
 
475
253
  ```bash
476
254
  if [ "$TASK_TYPE" == "fullstack" ]; then
477
- echo "🔗 全栈任务 → 并行调用 Gemini + Codex"
478
-
479
- # 前端和后端任务并行执行(使用后台进程)
480
- {
481
- # 前端任务(见 3.3.1)
482
- codeagent-wrapper --backend gemini - "$PROJECT_DIR" <<'EOF'
483
- ...
484
- EOF
485
- } &
486
-
487
- {
488
- # 后端任务(见 3.3.2)
489
- codeagent-wrapper --backend codex - "$PROJECT_DIR" <<'EOF'
490
- ...
491
- EOF
492
- } &
493
-
494
- # 等待两个任务完成
255
+ { 前端任务 } &
256
+ { 后端任务 } &
495
257
  wait
496
-
497
- echo "✓ 前后端并行实施完成"
498
258
  fi
499
259
  ```
500
260
 
@@ -502,18 +262,10 @@ fi
502
262
 
503
263
  #### 3.4 实施后验证
504
264
 
505
- ##### 3.4.1 检查实施结果
506
-
507
265
  ```bash
508
- # 读取 git 状态
509
266
  git status --short
510
-
511
- # 提示用户查看变更
512
- echo ""
513
- echo "📝 实施完成!变更文件:"
514
267
  git diff --name-status
515
268
 
516
- # 询问用户是否需要审查
517
269
  AskUserQuestion {
518
270
  question: "是否运行代码审查?",
519
271
  options: [
@@ -523,237 +275,72 @@ AskUserQuestion {
523
275
  }
524
276
  ```
525
277
 
526
- ##### 3.4.2 调用代码审查(可选)
527
-
528
- ```bash
529
- if [ "$USER_CHOICE" == "是,运行 /ccg:review" ]; then
530
- echo "🔍 启动代码审查..."
531
-
532
- # 调用 ccg:review 命令
533
- /ccg:review
534
- fi
535
- ```
278
+ 如果用户选择审查,调用 `/ccg:review`。
536
279
 
537
280
  ---
538
281
 
539
- ### 步骤 4:后续优化建议
540
-
541
- 实施完成后,提供后续步骤建议:
282
+ ### 步骤 4:后续建议
542
283
 
543
284
  ```bash
544
- echo ""
545
285
  echo "✅ 功能开发完成!"
546
286
  echo ""
547
- echo "📋 后续步骤建议:"
287
+ echo "📋 后续步骤:"
548
288
  echo " 1. 运行测试:npm run test"
549
289
  echo " 2. 启动开发服务器:npm run dev"
550
- echo " 3. 验证功能是否正常工作"
290
+ echo " 3. 验证功能是否正常"
551
291
  echo " 4. 运行 /ccg:commit 提交代码"
552
292
  echo ""
553
- echo "📂 相关文件:"
554
- echo " • 计划文档:$PLAN_FILE"
555
- echo " • 项目上下文:.claude/repo-context.md"
556
- echo ""
293
+ echo "📂 计划文档:$PLAN_FILE"
557
294
  ```
558
295
 
559
296
  ---
560
297
 
561
- ## 命令参数(可选)
562
-
563
- 支持通过参数快速指定模式:
298
+ ## 命令参数
564
299
 
565
300
  ```bash
566
- # 显式指定规划模式
567
- /ccg:feat --mode=plan "实现用户登录功能"
568
-
569
- # 显式指定实施模式
570
- /ccg:feat --mode=implement ".claude/plan/用户登录功能.md"
571
-
572
- # 显式指定迭代模式
573
- /ccg:feat --mode=iterate ".claude/plan/用户登录功能.md" "调整密码验证逻辑"
574
-
575
- # 指定任务类型(跳过自动判断)
576
- /ccg:feat --type=frontend "实现登录页面"
301
+ /ccg:feat --mode=plan "实现用户登录" # 显式指定规划模式
302
+ /ccg:feat --mode=implement "path/to/plan" # 显式指定实施模式
303
+ /ccg:feat --mode=iterate "path" "调整需求" # 显式指定迭代模式
304
+ /ccg:feat --type=frontend "实现登录页面" # 指定任务类型
577
305
  /ccg:feat --type=backend "实现登录 API"
578
- /ccg:feat --type=fullstack "实现完整登录功能"
306
+ /ccg:feat --type=fullstack "实现完整登录"
579
307
  ```
580
308
 
581
309
  ---
582
310
 
583
311
  ## 使用示例
584
312
 
585
- ### 示例 1:从需求到实施(完整流程)
586
-
587
313
  ```bash
588
- # 1 步:用户输入
314
+ # 示例 1:完整流程
589
315
  /ccg:feat 实现用户登录功能
590
316
 
591
- # 系统识别:需求规划模式
592
-
593
- # 第 2 步:检索上下文
594
- 检测到项目上下文报告
595
- 使用 ace-tool 检索相关代码...
596
- - 找到现有 User 模型
597
- - 找到认证中间件模板
598
-
599
- # 第 3 步:任务类型判断
600
- 识别为全栈任务
601
-
602
- # 4 步:调用 ui-ux-designer
603
- ✓ UI/UX 设计方案已生成
604
-
605
- # 第 5 步:调用 planner
606
- 功能规划已生成:.claude/plan/用户登录功能.md
607
-
608
- # 第 6 步:交互确认
609
- ? 功能规划已完成,请选择下一步操作:
610
- > 开始实施(推荐)
611
- 讨论调整
612
- 重新规划
613
- 仅保存计划
614
-
615
- # 用户选择:开始实施
616
-
617
- # 第 7 步:多模型实施
618
- 🎨 前端任务 → 路由到 Gemini
619
- ⚙️ 后端任务 → 路由到 Codex
620
-
621
- ✓ 前端实施完成 (Session: 019a7247-...)
622
- ✓ 后端实施完成 (Session: 019a7248-...)
623
-
624
- # 第 8 步:实施后验证
625
- 📝 实施完成!变更文件:
626
- M app/api/auth/login/route.ts
627
- A app/login/page.tsx
628
- A components/LoginForm.tsx
629
- M lib/auth.ts
630
-
631
- ? 是否运行代码审查?
632
- > 是,运行 /ccg:review
633
- 跳过,手动检查
634
-
635
- # 完成!
636
- ✅ 功能开发完成!
637
- ```
638
-
639
- ### 示例 2:讨论迭代(调整计划)
640
-
641
- ```bash
642
- # 用户输入
643
- /ccg:feat 调整用户登录功能,增加"记住我"选项
644
-
645
- # 系统识别:讨论迭代模式
646
-
647
- ✓ 找到现有计划:.claude/plan/用户登录功能.md
648
- ✓ 读取现有计划内容
649
- ✓ 调用 planner 重新规划...
650
-
651
- ✓ 新计划已生成:.claude/plan/用户登录功能-1.md
652
-
653
- ? 功能规划已完成,请选择下一步操作:
654
- > 开始实施(推荐)
655
- 继续讨论调整
656
- 重新规划
657
- 仅保存计划
658
- ```
659
-
660
- ### 示例 3:直接实施(跳过规划)
661
-
662
- ```bash
663
- # 用户输入
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:直接实施
664
337
  /ccg:feat 按照 .claude/plan/用户登录功能.md 开始实施
665
338
 
666
- # 系统识别:执行实施模式
667
-
668
- 读取计划:.claude/plan/用户登录功能.md
669
- 分析任务类型:全栈任务
670
-
671
- 🎨 前端任务 → 路由到 Gemini
672
- ⚙️ 后端任务 → 路由到 Codex
673
-
674
- ✓ 实施完成!
675
- ```
676
-
677
- ---
678
-
679
- ## 注意事项
680
-
681
- 1. **计划文件管理**:
682
- - 所有计划保存在 `.claude/plan/` 目录
683
- - 建议将 `.claude/` 加入 `.gitignore`(或选择性提交计划文档)
684
-
685
- 2. **Session 恢复**:
686
- - 如果实施中断,可使用 SESSION_ID 恢复:
687
- ```bash
688
- codeagent-wrapper --backend gemini resume <SESSION_ID> - <<'EOF'
689
- 继续上次的任务
690
- EOF
691
- ```
692
-
693
- 3. **多模型协作**:
694
- - Gemini:擅长 UI/UX、组件设计、样式实现
695
- - Codex:擅长业务逻辑、API 设计、数据库操作
696
- - Claude:负责整体编排、代码重构、质量保证
697
-
698
- 4. **代码审查**:
699
- - 强烈建议实施后运行 `/ccg:review` 进行双模型审查
700
- - 90 分以上视为高质量代码
701
-
702
- 5. **测试覆盖**:
703
- - planner 会建议测试策略,但需手动实施
704
- - 可运行 `/ccg:test` 生成测试用例
705
-
706
- ---
707
-
708
- ## 工作流程图
709
-
710
- ```mermaid
711
- graph TD
712
- Start[用户输入需求] --> Identify{识别输入类型}
713
-
714
- Identify -->|需求规划| CheckContext[检查项目上下文]
715
- Identify -->|讨论迭代| LoadPlan[读取现有计划]
716
- Identify -->|执行实施| ReadPlan[读取计划文档]
717
-
718
- CheckContext --> AceTool[ace-tool 检索相关代码]
719
- AceTool --> JudgeType{判断任务类型}
720
-
721
- JudgeType -->|前端/全栈| UIUX[调用 ui-ux-designer]
722
- JudgeType -->|后端| Planner1[调用 planner]
723
-
724
- UIUX --> Planner2[调用 planner]
725
- Planner1 --> SavePlan[保存计划文档]
726
- Planner2 --> SavePlan
727
-
728
- SavePlan --> Confirm{用户确认}
729
-
730
- Confirm -->|开始实施| ReadPlan
731
- Confirm -->|讨论调整| LoadPlan
732
- Confirm -->|重新规划| CheckContext
733
- Confirm -->|仅保存| End1[结束]
734
-
735
- LoadPlan --> Planner3[调用 planner 重新规划]
736
- Planner3 --> SavePlan
737
-
738
- ReadPlan --> Analyze[分析任务类型]
739
-
740
- Analyze -->|前端| Gemini[codeagent-wrapper: Gemini]
741
- Analyze -->|后端| Codex[codeagent-wrapper: Codex]
742
- Analyze -->|全栈| Parallel[并行调用 Gemini + Codex]
743
-
744
- Gemini --> Verify[实施后验证]
745
- Codex --> Verify
746
- Parallel --> Verify
747
-
748
- Verify --> Review{运行代码审查?}
749
-
750
- Review -->|是| CCGReview[/ccg:review]
751
- Review -->|否| End2[结束]
752
-
753
- CCGReview --> End2
754
-
755
- End1[结束]
756
- End2[结束]
339
+ 系统识别:执行实施模式
340
+ → 读取计划文档
341
+ 分析任务类型:全栈
342
+ 并行调用 Gemini + Codex
343
+ → 实施完成
757
344
  ```
758
345
 
759
346
  ---