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,569 +0,0 @@
1
- ---
2
- name: ccg:scan
3
- description: 🔍 智能仓库扫描 - 生成项目上下文报告
4
- tools: mcp__ace-tool__search_context, Read, Write, Glob, Grep, Bash
5
- ---
6
-
7
- # CCG 智能仓库扫描
8
-
9
- 自动分析代码库,生成结构化的项目上下文报告,为后续的功能开发、代码审查、技术债务分析提供全面的背景信息。
10
-
11
- ---
12
-
13
- ## 核心能力
14
-
15
- 1. **技术栈识别**:自动检测框架、语言、工具链
16
- 2. **语义代码检索**:使用 ace-tool MCP 理解项目结构和核心模块
17
- 3. **生成上下文报告**:输出到 `.claude/repo-context.md`
18
- 4. **增量更新**:支持仅更新变更部分
19
-
20
- ---
21
-
22
- ## 执行流程
23
-
24
- ### 阶段 1:技术栈识别
25
-
26
- 使用 `Glob` 和 `Read` 工具检测项目配置文件:
27
-
28
- #### 1.1 前端框架检测
29
-
30
- 检测文件:
31
- - `package.json` - Node.js 项目
32
- - `vite.config.ts/js` - Vite 项目
33
- - `next.config.js/mjs` - Next.js 项目
34
- - `nuxt.config.ts` - Nuxt 项目
35
- - `angular.json` - Angular 项目
36
- - `vue.config.js` - Vue CLI 项目
37
-
38
- ```bash
39
- # 检测 package.json
40
- Glob("package.json")
41
-
42
- # 如果存在,读取并解析 dependencies
43
- Read("package.json")
44
-
45
- # 提取关键信息:
46
- # - 框架:next, nuxt, vue, react, angular, svelte
47
- # - 构建工具:vite, webpack, rollup, esbuild
48
- # - 状态管理:redux, zustand, pinia, vuex
49
- # - 样式方案:tailwindcss, sass, styled-components
50
- ```
51
-
52
- #### 1.2 后端框架检测
53
-
54
- 检测文件:
55
- - `go.mod` - Go 项目
56
- - `Cargo.toml` - Rust 项目
57
- - `requirements.txt` / `pyproject.toml` - Python 项目
58
- - `composer.json` - PHP 项目
59
- - `pom.xml` / `build.gradle` - Java 项目
60
-
61
- ```bash
62
- # 示例:检测 Go 项目
63
- if [ -f "go.mod" ]; then
64
- Read("go.mod")
65
- # 提取:module 名称、Go 版本、主要依赖(gin, echo, fiber)
66
- fi
67
- ```
68
-
69
- #### 1.3 数据库/ORM 检测
70
-
71
- 检测文件:
72
- - `prisma/schema.prisma` - Prisma ORM
73
- - `drizzle.config.ts` - Drizzle ORM
74
- - `ormconfig.json` / `typeorm.config.ts` - TypeORM
75
- - `migrations/` 目录 - 数据库迁移文件
76
- - `database/` 目录 - 数据库相关代码
77
-
78
- #### 1.4 测试框架检测
79
-
80
- 检测文件:
81
- - `vitest.config.ts` - Vitest
82
- - `jest.config.js` - Jest
83
- - `playwright.config.ts` - Playwright
84
- - `cypress.config.js` - Cypress
85
- - `*_test.go` / `*_test.py` - Go/Python 测试
86
-
87
- ---
88
-
89
- ### 阶段 2:语义代码检索(ace-tool)
90
-
91
- 使用 `mcp__ace-tool__search_context` 进行深度分析:
92
-
93
- #### 2.1 项目入口与启动流程
94
-
95
- ```bash
96
- mcp__ace-tool__search_context {
97
- "project_root_path": "$PROJECT_DIR",
98
- "query": "项目的入口文件、main 函数、启动流程、应用初始化代码"
99
- }
100
- ```
101
-
102
- **期望结果**:
103
- - 入口文件路径(如 `src/index.ts`, `main.go`, `app.py`)
104
- - 启动流程概述(初始化顺序、中间件注册)
105
-
106
- #### 2.2 API 路由与端点
107
-
108
- ```bash
109
- mcp__ace-tool__search_context {
110
- "project_root_path": "$PROJECT_DIR",
111
- "query": "API 路由定义、HTTP 端点、RESTful 接口、GraphQL schema"
112
- }
113
- ```
114
-
115
- **期望结果**:
116
- - 路由文件位置(如 `app/api/`, `routes/`, `controllers/`)
117
- - 端点列表(GET /api/users, POST /api/auth/login)
118
- - 认证中间件位置
119
-
120
- #### 2.3 数据模型与数据库 Schema
121
-
122
- ```bash
123
- mcp__ace-tool__search_context {
124
- "project_root_path": "$PROJECT_DIR",
125
- "query": "数据模型定义、数据库 schema、ORM 实体、表结构"
126
- }
127
- ```
128
-
129
- **期望结果**:
130
- - Model 文件位置(如 `models/`, `prisma/schema.prisma`)
131
- - 核心实体(User, Product, Order)
132
- - 关系定义(一对多、多对多)
133
-
134
- #### 2.4 前端组件结构
135
-
136
- ```bash
137
- mcp__ace-tool__search_context {
138
- "project_root_path": "$PROJECT_DIR",
139
- "query": "前端页面组件、可复用组件、路由配置、页面布局"
140
- }
141
- ```
142
-
143
- **期望结果**:
144
- - 组件目录结构(`components/`, `pages/`, `app/`)
145
- - 路由配置文件(App Router 或 Pages Router)
146
- - 全局布局组件
147
-
148
- #### 2.5 测试覆盖情况
149
-
150
- ```bash
151
- mcp__ace-tool__search_context {
152
- "project_root_path": "$PROJECT_DIR",
153
- "query": "单元测试、集成测试、E2E 测试文件"
154
- }
155
- ```
156
-
157
- **期望结果**:
158
- - 测试目录结构(`__tests__/`, `tests/`, `*_test.go`)
159
- - 测试覆盖率配置
160
- - 主要测试用例
161
-
162
- #### 2.6 核心业务逻辑
163
-
164
- ```bash
165
- mcp__ace-tool__search_context {
166
- "project_root_path": "$PROJECT_DIR",
167
- "query": "核心业务逻辑、服务层、工具函数、辅助模块"
168
- }
169
- ```
170
-
171
- **期望结果**:
172
- - 服务层位置(`services/`, `lib/`, `utils/`)
173
- - 核心业务流程(支付、订单、认证)
174
-
175
- ---
176
-
177
- ### 阶段 3:生成上下文报告
178
-
179
- 将分析结果写入 `.claude/repo-context.md`:
180
-
181
- #### 3.1 报告模板
182
-
183
- ```markdown
184
- # 项目上下文报告
185
-
186
- **生成时间**:{{YYYY-MM-DD HH:MM:SS}}
187
- **项目路径**:{{PROJECT_DIR}}
188
- **扫描范围**:全仓
189
-
190
- ---
191
-
192
- ## 1. 技术栈
193
-
194
- ### 1.1 核心框架
195
-
196
- | 类型 | 技术 | 版本 |
197
- |------|------|------|
198
- | 前端框架 | {{框架名}} | {{版本号}} |
199
- | 构建工具 | {{工具名}} | {{版本号}} |
200
- | 状态管理 | {{方案名}} | {{版本号}} |
201
- | 样式方案 | {{方案名}} | {{版本号}} |
202
- | 后端框架 | {{框架名}} | {{版本号}} |
203
- | 数据库 | {{数据库名}} | {{版本号}} |
204
- | ORM | {{ORM名}} | {{版本号}} |
205
- | 测试框架 | {{框架名}} | {{版本号}} |
206
-
207
- ### 1.2 主要依赖
208
-
209
- **前端核心依赖**:
210
- - {{依赖1}}@{{版本}}
211
- - {{依赖2}}@{{版本}}
212
-
213
- **后端核心依赖**:
214
- - {{依赖1}}@{{版本}}
215
- - {{依赖2}}@{{版本}}
216
-
217
- ---
218
-
219
- ## 2. 项目结构
220
-
221
- ### 2.1 目录树概览
222
-
223
- ```
224
- {{PROJECT_NAME}}/
225
- ├── src/ # 源代码
226
- │ ├── app/ # Next.js App Router / 应用入口
227
- │ ├── components/ # 可复用组件
228
- │ ├── lib/ # 工具库
229
- │ ├── services/ # 服务层
230
- │ └── types/ # TypeScript 类型定义
231
- ├── prisma/ # 数据库 schema
232
- ├── public/ # 静态资源
233
- ├── tests/ # 测试文件
234
- ├── .env.example # 环境变量模板
235
- ├── package.json # 依赖配置
236
- └── tsconfig.json # TypeScript 配置
237
- ```
238
-
239
- ### 2.2 关键文件/目录说明
240
-
241
- | 路径 | 用途 | 备注 |
242
- |------|------|------|
243
- | {{路径1}} | {{用途说明}} | {{补充信息}} |
244
- | {{路径2}} | {{用途说明}} | {{补充信息}} |
245
-
246
- ---
247
-
248
- ## 3. API 接口
249
-
250
- ### 3.1 路由定义文件
251
-
252
- **位置**:{{路由文件路径}}
253
-
254
- ### 3.2 端点列表
255
-
256
- | 方法 | 路径 | 描述 | 认证 |
257
- |------|------|------|------|
258
- | GET | /api/users | 获取用户列表 | 需要 |
259
- | POST | /api/auth/login | 用户登录 | 不需要 |
260
- | PUT | /api/posts/:id | 更新文章 | 需要 |
261
- | DELETE | /api/posts/:id | 删除文章 | 需要 |
262
-
263
- ### 3.3 认证/授权
264
-
265
- - **认证方式**:{{JWT / Session / OAuth}}
266
- - **中间件位置**:{{middleware.ts 路径}}
267
- - **权限控制**:{{RBAC / ABAC / 无}}
268
-
269
- ---
270
-
271
- ## 4. 数据模型
272
-
273
- ### 4.1 Schema 文件
274
-
275
- **位置**:{{schema 文件路径}}
276
-
277
- ### 4.2 核心实体
278
-
279
- #### User(用户)
280
-
281
- ```prisma
282
- model User {
283
- id String @id @default(cuid())
284
- email String @unique
285
- name String?
286
- posts Post[]
287
- createdAt DateTime @default(now())
288
- }
289
- ```
290
-
291
- **关系**:
292
- - User → Post (一对多)
293
- - User → Comment (一对多)
294
-
295
- #### Post(文章)
296
-
297
- ```prisma
298
- model Post {
299
- id String @id @default(cuid())
300
- title String
301
- content String
302
- author User @relation(fields: [authorId], references: [id])
303
- authorId String
304
- comments Comment[]
305
- createdAt DateTime @default(now())
306
- }
307
- ```
308
-
309
- ### 4.3 关系图
310
-
311
- ```mermaid
312
- erDiagram
313
- User ||--o{ Post : "创建"
314
- Post ||--o{ Comment : "包含"
315
- User ||--o{ Comment : "发表"
316
- ```
317
-
318
- ---
319
-
320
- ## 5. 前端结构
321
-
322
- ### 5.1 路由配置
323
-
324
- **路由类型**:{{App Router / Pages Router / Vue Router / React Router}}
325
-
326
- **路由文件**:{{路由配置文件路径}}
327
-
328
- ### 5.2 页面列表
329
-
330
- | 路由 | 组件 | 描述 |
331
- |------|------|------|
332
- | / | HomePage | 首页 |
333
- | /login | LoginPage | 登录页 |
334
- | /dashboard | DashboardPage | 仪表盘 |
335
- | /posts/[id] | PostDetailPage | 文章详情 |
336
-
337
- ### 5.3 核心组件
338
-
339
- | 组件名 | 路径 | 用途 |
340
- |--------|------|------|
341
- | Header | components/Header.tsx | 全局头部 |
342
- | Sidebar | components/Sidebar.tsx | 侧边栏导航 |
343
- | PostCard | components/PostCard.tsx | 文章卡片 |
344
-
345
- ### 5.4 状态管理
346
-
347
- - **方案**:{{Redux / Zustand / Pinia / Context API}}
348
- - **Store 文件**:{{store 文件路径}}
349
- - **核心状态**:
350
- - `user`: 当前用户信息
351
- - `posts`: 文章列表
352
- - `ui`: UI 状态(loading、modal)
353
-
354
- ---
355
-
356
- ## 6. 核心业务模块
357
-
358
- ### 6.1 认证模块
359
-
360
- **位置**:{{auth 模块路径}}
361
-
362
- **流程**:
363
- 1. 用户提交邮箱/密码
364
- 2. 验证凭证
365
- 3. 生成 JWT token
366
- 4. 设置 cookie / localStorage
367
- 5. 返回用户信息
368
-
369
- **关键文件**:
370
- - `app/api/auth/login/route.ts` - 登录接口
371
- - `lib/auth.ts` - 认证工具函数
372
- - `middleware.ts` - 认证中间件
373
-
374
- ### 6.2 {{其他业务模块}}
375
-
376
- **位置**:{{模块路径}}
377
-
378
- **流程**:{{业务流程描述}}
379
-
380
- **关键文件**:
381
- - {{文件1}}
382
- - {{文件2}}
383
-
384
- ---
385
-
386
- ## 7. 测试覆盖
387
-
388
- ### 7.1 测试框架
389
-
390
- **单元测试**:{{Vitest / Jest / Go test}}
391
- **集成测试**:{{Supertest / HTTP 测试}}
392
- **E2E 测试**:{{Playwright / Cypress}}
393
-
394
- ### 7.2 测试文件分布
395
-
396
- | 目录 | 测试类型 | 文件数 |
397
- |------|----------|--------|
398
- | `__tests__/unit/` | 单元测试 | {{数量}} |
399
- | `__tests__/integration/` | 集成测试 | {{数量}} |
400
- | `e2e/` | E2E 测试 | {{数量}} |
401
-
402
- ### 7.3 覆盖率
403
-
404
- **当前覆盖率**:{{如果有配置文件则显示}}
405
-
406
- **测试运行命令**:
407
- ```bash
408
- npm run test # 单元测试
409
- npm run test:e2e # E2E 测试
410
- npm run test:coverage # 覆盖率报告
411
- ```
412
-
413
- ---
414
-
415
- ## 8. 开发工作流
416
-
417
- ### 8.1 启动命令
418
-
419
- ```bash
420
- # 开发模式
421
- npm run dev
422
-
423
- # 构建
424
- npm run build
425
-
426
- # 生产环境启动
427
- npm start
428
-
429
- # 数据库迁移
430
- npx prisma migrate dev
431
- ```
432
-
433
- ### 8.2 环境变量
434
-
435
- **配置文件**:`.env.local`(参考 `.env.example`)
436
-
437
- **必需变量**:
438
- - `DATABASE_URL` - 数据库连接字符串
439
- - `NEXTAUTH_SECRET` - 认证密钥
440
- - `API_URL` - API 基础地址
441
-
442
- ---
443
-
444
- ## 9. CI/CD 与部署
445
-
446
- ### 9.1 CI 配置
447
-
448
- **文件**:{{.github/workflows/ci.yml 或其他}}
449
-
450
- **流程**:
451
- 1. Lint 检查
452
- 2. 类型检查
453
- 3. 单元测试
454
- 4. 构建验证
455
-
456
- ### 9.2 部署平台
457
-
458
- **平台**:{{Vercel / Netlify / Docker / 自建}}
459
-
460
- **部署分支**:{{main / production}}
461
-
462
- ---
463
-
464
- ## 10. 技术债务与改进建议
465
-
466
- ### 10.1 待优化项
467
-
468
- - {{发现的技术债务1}}
469
- - {{发现的技术债务2}}
470
-
471
- ### 10.2 建议
472
-
473
- - {{改进建议1}}
474
- - {{改进建议2}}
475
-
476
- ---
477
-
478
- ## 附录:扫描元数据
479
-
480
- - **扫描工具**:CCG Multi-Model Collaboration System
481
- - **扫描时长**:{{扫描耗时}}
482
- - **分析文件数**:{{文件总数}}
483
- - **代码行数**:{{总行数}}(可选)
484
- ```
485
-
486
- #### 3.2 写入报告
487
-
488
- ```bash
489
- # 确保目录存在
490
- mkdir -p .claude
491
-
492
- # 写入报告
493
- Write(".claude/repo-context.md", {{生成的内容}})
494
-
495
- # 提示用户
496
- echo "✅ 项目上下文报告已生成:.claude/repo-context.md"
497
- ```
498
-
499
- ---
500
-
501
- ## 使用示例
502
-
503
- ### 示例 1:首次扫描
504
-
505
- ```bash
506
- # 用户执行命令
507
- /ccg:scan
508
-
509
- # 输出:
510
- 🔍 开始扫描项目...
511
-
512
- [1/3] 识别技术栈...
513
- ✓ 检测到 Next.js 14
514
- ✓ 检测到 Prisma ORM
515
- ✓ 检测到 Tailwind CSS
516
-
517
- [2/3] 语义代码检索...
518
- ✓ 分析入口文件 (src/app/layout.tsx)
519
- ✓ 分析 API 路由 (12 个端点)
520
- ✓ 分析数据模型 (5 个实体)
521
- ✓ 分析前端组件 (23 个组件)
522
- ✓ 分析测试覆盖 (45 个测试用例)
523
-
524
- [3/3] 生成报告...
525
- ✓ 报告已写入:.claude/repo-context.md
526
-
527
- ✅ 扫描完成!共分析 156 个文件,耗时 12 秒。
528
- ```
529
-
530
- ### 示例 2:增量更新
531
-
532
- ```bash
533
- # 用户执行命令(带参数)
534
- /ccg:scan --update
535
-
536
- # 检测到现有报告,仅更新变更部分
537
- 🔍 检测到现有报告,执行增量更新...
538
-
539
- ✓ 更新技术栈信息
540
- ✓ 重新分析 API 路由(新增 2 个端点)
541
- ✓ 报告已更新
542
-
543
- ✅ 增量更新完成!
544
- ```
545
-
546
- ---
547
-
548
- ## 注意事项
549
-
550
- 1. **大型项目优化**:对于超过 1000 个文件的项目,考虑分批调用 ace-tool 或使用缓存
551
- 2. **敏感信息过滤**:不要在报告中包含 API 密钥、密码、token
552
- 3. **报告位置**:`.claude/` 目录应加入 `.gitignore`
553
- 4. **更新频率**:建议在重大架构变更后重新扫描
554
-
555
- ---
556
-
557
- ## 输出格式
558
-
559
- 命令执行完成后,确保:
560
-
561
- - [x] `.claude/repo-context.md` 文件已生成
562
- - [x] 报告包含所有必需章节
563
- - [x] Mermaid 图表语法正确
564
- - [x] 表格格式规范
565
- - [x] 文件路径使用相对路径
566
-
567
- ---
568
-
569
- 现在开始执行扫描!