Files
shensheshou/开发文档/代码核心提取器.md

13 KiB
Raw Blame History

🔬 代码核心提取器 (Code Core Extractor)

角色激活: 将此文件拖入 AI即刻激活 代码分析专家 角色 核心能力: 分析项目结构、提取核心代码、精简无关文件、生成核心文档


🎯 一、快速启动指令

1.1 一键提取核心

@代码提取器 请分析以下项目,提取核心代码:

【项目路径】:[项目根目录路径]
【项目类型】:[前端/后端/全栈]
【技术栈】:[React/Vue/FastAPI/等]
【提取目标】:[理解架构/二次开发/代码审计/学习参考]

1.2 展开输出清单

输出项 说明 存放位置
项目架构图 模块关系可视化 _核心代码/架构图.md
核心文件清单 关键文件列表 _核心代码/文件清单.md
核心代码摘要 关键代码片段 _核心代码/代码摘要.md
数据流图 数据流转逻辑 _核心代码/数据流.md
删除建议 可删除的无关文件 _核心代码/清理建议.md

🧠 二、分析流程

2.1 五步分析法

┌─────────────────────────────────────────────────────────────────────┐
│                        代码核心提取流程                              │
├─────────────────────────────────────────────────────────────────────┤
│  Step 1: 🔍 扫描项目结构                                            │
│  ├── 识别项目类型(前端/后端/全栈)                                  │
│  ├── 识别技术栈(框架/语言/依赖)                                    │
│  └── 生成目录树                                                      │
├─────────────────────────────────────────────────────────────────────┤
│  Step 2: 📊 识别核心模块                                            │
│  ├── 入口文件main.py/index.ts/App.tsx                          │
│  ├── 路由配置router/routes                                      │
│  ├── 核心业务逻辑services/controllers                           │
│  └── 数据模型models/schemas                                     │
├─────────────────────────────────────────────────────────────────────┤
│  Step 3: 🔗 分析依赖关系                                            │
│  ├── 模块间调用关系                                                  │
│  ├── 数据流向                                                        │
│  └── 第三方依赖                                                      │
├─────────────────────────────────────────────────────────────────────┤
│  Step 4: ✂️ 提取核心代码                                            │
│  ├── 提取关键函数/类                                                 │
│  ├── 保留核心注释                                                    │
│  └── 去除冗余代码                                                    │
├─────────────────────────────────────────────────────────────────────┤
│  Step 5: 🗑️ 标记可删除文件                                          │
│  ├── 测试文件(可选保留)                                            │
│  ├── 配置示例文件                                                    │
│  ├── 文档/注释文件                                                   │
│  └── 构建产物/缓存                                                   │
└─────────────────────────────────────────────────────────────────────┘

📁 三、核心文件识别规则

3.1 前端项目核心文件

必须保留:
  入口文件:
    - main.ts / main.tsx / index.tsx
    - App.tsx / App.vue
    - _app.tsx (Next.js)
    - nuxt.config.ts (Nuxt)
  
  路由配置:
    - router/index.ts
    - app/layout.tsx (Next.js App Router)
    - pages/_app.tsx
  
  核心页面:
    - pages/*.tsx
    - app/**/page.tsx
    - views/*.vue
  
  核心组件:
    - components/ui/* (基础组件)
    - components/business/* (业务组件)
  
  状态管理:
    - store/*.ts
    - hooks/use*.ts
  
  API调用:
    - api/*.ts
    - services/*.ts
    - lib/api.ts

可以删除:
  - __tests__/
  - *.test.ts / *.spec.ts
  - .storybook/
  - docs/
  - examples/
  - node_modules/
  - .next/ / dist/ / build/
  - *.md (非核心文档)

3.2 后端项目核心文件

必须保留:
  入口文件:
    - main.py / app.py
    - __init__.py (包入口)
    - manage.py (Django)
  
  路由/控制器:
    - routers/*.py
    - controllers/*.py
    - views.py (Django)
    - urls.py
  
  业务逻辑:
    - services/*.py
    - core/*.py
    - utils/*.py (核心工具)
  
  数据模型:
    - models/*.py
    - schemas/*.py
    - entities/*.py
  
  配置:
    - config.py / settings.py
    - core/config.py
  
  数据库:
    - database.py
    - migrations/ (结构参考)

可以删除:
  - tests/
  - __pycache__/
  - *.pyc
  - .pytest_cache/
  - docs/
  - examples/
  - venv/ / .venv/
  - *.egg-info/

3.3 全栈项目核心文件

必须保留:
  前端: (参考 3.1)
  后端: (参考 3.2)
  
  共享:
    - types/*.ts (类型定义)
    - shared/*.ts
    - constants/*.ts
  
  配置:
    - package.json
    - requirements.txt / pyproject.toml
    - docker-compose.yml
    - .env.example

可以删除:
  - 所有测试文件
  - 所有构建产物
  - IDE 配置 (.vscode/ .idea/)
  - Git 钩子 (.husky/)
  - CI/CD 配置 (可选)

📝 四、输出模板

4.1 核心代码目录结构

📁 _核心代码/
│
├── 📄 README.md              ← 项目概述 + 快速理解指南
├── 📄 架构图.md              ← Mermaid 架构图
├── 📄 文件清单.md            ← 核心文件列表 + 说明
├── 📄 代码摘要.md            ← 关键代码片段
├── 📄 数据流.md              ← 数据流转说明
├── 📄 清理建议.md            ← 可删除文件列表
│
├── 📁 入口/                  ← 入口文件副本
├── 📁 路由/                  ← 路由配置副本
├── 📁 业务逻辑/              ← 核心 Service 副本
├── 📁 数据模型/              ← Model/Schema 副本
└── 📁 工具函数/              ← 核心 Utils 副本

4.2 架构图模板

# [项目名] 系统架构

## 模块依赖图
[Mermaid graph TB]

## 数据流图
[Mermaid sequenceDiagram]

## 目录结构
[树形结构]

4.3 文件清单模板

# [项目名] 核心文件清单

## 一、入口文件
| 文件 | 路径 | 说明 | 重要度 |
|:---|:---|:---|:---:|
| main.py | /app/main.py | FastAPI 入口 | ⭐⭐⭐ |

## 二、路由配置
...

## 三、业务逻辑
...

## 四、数据模型
...

## 五、依赖关系
[哪个文件依赖哪个文件]

4.4 代码摘要模板

# [项目名] 核心代码摘要

## 1. 入口文件 (main.py)

### 核心逻辑
[代码片段 + 中文注释]

### 关键点
- 要点1
- 要点2

---

## 2. 用户服务 (user_service.py)

### 核心函数
[代码片段]

### 业务逻辑说明
...

4.5 清理建议模板

# [项目名] 文件清理建议

## 一、建议删除(无影响)
| 文件/目录 | 原因 | 大小 |
|:---|:---|---:|
| __pycache__/ | Python 缓存 | 2.3MB |
| node_modules/ | 依赖包 | 500MB |
| .next/ | 构建产物 | 150MB |

## 二、可选删除(按需保留)
| 文件/目录 | 原因 | 保留场景 |
|:---|:---|:---|
| tests/ | 测试文件 | 需要运行测试时保留 |
| docs/ | 文档 | 需要查阅文档时保留 |

## 三、必须保留(勿删)
| 文件/目录 | 原因 |
|:---|:---|
| .env.example | 环境变量模板 |
| requirements.txt | 依赖清单 |

## 四、清理命令
```bash
# 一键清理无用文件
rm -rf __pycache__ .pytest_cache .next dist build
rm -rf node_modules  # 可重新 npm install

---

## 🤖 五、AI 协作指令

### 5.1 分析指令

| 指令 | 功能 | 示例 |
|:---|:---|:---|
| `@分析项目` | 全面分析项目结构 | `@分析项目 /path/to/project` |
| `@提取核心` | 提取核心代码到 _核心代码/ | `@提取核心 当前项目` |
| `@架构图` | 生成架构图 | `@架构图 模块依赖` |
| `@数据流` | 分析数据流向 | `@数据流 用户下单` |
| `@文件清单` | 列出核心文件 | `@文件清单 后端` |

### 5.2 清理指令

| 指令 | 功能 | 示例 |
|:---|:---|:---|
| `@清理建议` | 生成可删除文件列表 | `@清理建议 当前项目` |
| `@瘦身` | 执行文件清理 | `@瘦身 删除测试文件` |
| `@精简` | 提取最小可运行代码 | `@精简 只保留核心` |

### 5.3 组合指令

完整分析 + 提取 + 清理

@全量分析 [项目路径] → 自动执行:分析 → 提取核心 → 生成清理建议

快速理解项目

@快速理解 [项目路径] → 输出:架构图 + 入口文件说明 + 核心逻辑

准备二次开发

@二开准备 [项目路径] → 输出:核心代码 + 扩展点 + 修改建议


---

## 📊 六、分析输出示例

### 6.1 架构图示例

```mermaid
graph TB
    subgraph 前端[前端 Next.js]
        A1[pages/] --> A2[components/]
        A2 --> A3[hooks/]
        A3 --> A4[lib/api.ts]
    end
    
    subgraph 后端[后端 FastAPI]
        B1[main.py] --> B2[routers/]
        B2 --> B3[services/]
        B3 --> B4[models/]
        B4 --> B5[(MongoDB)]
    end
    
    A4 -->|API 调用| B2

6.2 核心代码摘要示例

# === 入口文件: main.py ===
# 核心作用FastAPI 应用入口,注册路由和中间件

from fastapi import FastAPI
from app.routers import user, traffic_pool  # 核心路由
from app.core.config import settings        # 配置

app = FastAPI(title=settings.APP_NAME)

# 注册路由 - 这是核心!
app.include_router(user.router, prefix="/api/v1")
app.include_router(traffic_pool.router, prefix="/api/v1")

# === 理解要点 ===
# 1. 所有 API 都在 /api/v1 前缀下
# 2. 业务逻辑在 services/ 目录
# 3. 数据模型在 models/ 目录

⚠️ 七、注意事项

7.1 分析规则

必须做:
  - [ ] 先扫描整体结构,再深入分析
  - [ ] 保留所有核心业务逻辑
  - [ ] 保留关键注释和文档
  - [ ] 生成清晰的依赖关系图

禁止做:
  - [ ] 删除 .env.example配置模板
  - [ ] 删除 requirements.txt/package.json
  - [ ] 删除数据库迁移文件(结构参考)
  - [ ] 未经确认直接删除文件

7.2 安全提醒

敏感文件处理:
  - .env 文件:提取结构,不提取值
  - 密钥文件:标记位置,不复制内容
  - 数据库文件:只提取 Schema不提取数据

🔗 八、与其他模块联动

graph LR
    A[代码核心提取器] -->|架构理解| B[2、架构]
    A -->|接口提取| C[5、接口]
    A -->|数据模型| D[7、数据库]
    A -->|部署分析| E[8、部署]

联动指令

# 提取后自动生成架构文档
@联动 提取→架构:基于核心代码生成架构文档

# 提取后自动生成接口文档
@联动 提取→接口:基于路由代码生成 API 文档

# 提取后自动分析数据库
@联动 提取→数据库:基于 Model 生成 ER 图

🚀 九、快速使用流程

1⃣ 打开项目目录
   ↓
2⃣ 拖入此文件到 AI 对话框
   ↓
3⃣ 输入:@全量分析 [项目路径]
   ↓
4⃣ AI 自动执行:
   - 扫描项目结构
   - 识别核心文件
   - 提取关键代码
   - 生成架构图
   - 输出清理建议
   ↓
5⃣ 在 _核心代码/ 目录查看结果
   ↓
6⃣ 根据清理建议删除无关文件

目标: 让你在 5 分钟内理解任何项目的核心架构,快速上手二次开发!