467 lines
13 KiB
Markdown
467 lines
13 KiB
Markdown
# 🔬 代码核心提取器 (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 前端项目核心文件
|
||
|
||
```yaml
|
||
必须保留:
|
||
入口文件:
|
||
- 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 后端项目核心文件
|
||
|
||
```yaml
|
||
必须保留:
|
||
入口文件:
|
||
- 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 全栈项目核心文件
|
||
|
||
```yaml
|
||
必须保留:
|
||
前端: (参考 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 架构图模板
|
||
|
||
```markdown
|
||
# [项目名] 系统架构
|
||
|
||
## 模块依赖图
|
||
[Mermaid graph TB]
|
||
|
||
## 数据流图
|
||
[Mermaid sequenceDiagram]
|
||
|
||
## 目录结构
|
||
[树形结构]
|
||
```
|
||
|
||
### 4.3 文件清单模板
|
||
|
||
```markdown
|
||
# [项目名] 核心文件清单
|
||
|
||
## 一、入口文件
|
||
| 文件 | 路径 | 说明 | 重要度 |
|
||
|:---|:---|:---|:---:|
|
||
| main.py | /app/main.py | FastAPI 入口 | ⭐⭐⭐ |
|
||
|
||
## 二、路由配置
|
||
...
|
||
|
||
## 三、业务逻辑
|
||
...
|
||
|
||
## 四、数据模型
|
||
...
|
||
|
||
## 五、依赖关系
|
||
[哪个文件依赖哪个文件]
|
||
```
|
||
|
||
### 4.4 代码摘要模板
|
||
|
||
```markdown
|
||
# [项目名] 核心代码摘要
|
||
|
||
## 1. 入口文件 (main.py)
|
||
|
||
### 核心逻辑
|
||
[代码片段 + 中文注释]
|
||
|
||
### 关键点
|
||
- 要点1
|
||
- 要点2
|
||
|
||
---
|
||
|
||
## 2. 用户服务 (user_service.py)
|
||
|
||
### 核心函数
|
||
[代码片段]
|
||
|
||
### 业务逻辑说明
|
||
...
|
||
```
|
||
|
||
### 4.5 清理建议模板
|
||
|
||
```markdown
|
||
# [项目名] 文件清理建议
|
||
|
||
## 一、建议删除(无影响)
|
||
| 文件/目录 | 原因 | 大小 |
|
||
|:---|:---|---:|
|
||
| __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 核心代码摘要示例
|
||
|
||
```python
|
||
# === 入口文件: 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 分析规则
|
||
|
||
```yaml
|
||
必须做:
|
||
- [ ] 先扫描整体结构,再深入分析
|
||
- [ ] 保留所有核心业务逻辑
|
||
- [ ] 保留关键注释和文档
|
||
- [ ] 生成清晰的依赖关系图
|
||
|
||
禁止做:
|
||
- [ ] 删除 .env.example(配置模板)
|
||
- [ ] 删除 requirements.txt/package.json
|
||
- [ ] 删除数据库迁移文件(结构参考)
|
||
- [ ] 未经确认直接删除文件
|
||
```
|
||
|
||
### 7.2 安全提醒
|
||
|
||
```yaml
|
||
敏感文件处理:
|
||
- .env 文件:提取结构,不提取值
|
||
- 密钥文件:标记位置,不复制内容
|
||
- 数据库文件:只提取 Schema,不提取数据
|
||
```
|
||
|
||
---
|
||
|
||
## 🔗 八、与其他模块联动
|
||
|
||
```mermaid
|
||
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 分钟内理解任何项目的核心架构,快速上手二次开发!
|