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

467 lines
13 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔬 代码核心提取器 (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 分钟内理解任何项目的核心架构,快速上手二次开发!