108 lines
2.3 KiB
Markdown
108 lines
2.3 KiB
Markdown
|
||
# 代码库说明工作流
|
||
|
||
分析代码库并生成面向开发、维护和使用人员的 LaTeX 代码参考文档。
|
||
|
||
## 定位代码库
|
||
|
||
如果用户指定了项目路径,优先使用该路径。
|
||
|
||
否则从当前目录识别 Git 仓库根目录。
|
||
|
||
如果当前目录不是 Git 仓库:
|
||
|
||
1. 在工作区内浅层查找 Git 仓库;
|
||
2. 只有一个仓库时使用该仓库;
|
||
3. 存在多个仓库时让用户选择;
|
||
4. 没有仓库时,将当前项目目录作为目标。
|
||
|
||
读取项目适用的 `AGENTS.md`、README 和主要设计文档。
|
||
|
||
## 确定分析范围
|
||
|
||
支持两种范围:
|
||
|
||
### `scope=core`
|
||
|
||
默认模式,只整理:
|
||
|
||
- 项目入口;
|
||
- 核心模块;
|
||
- 公共接口;
|
||
- 主要类;
|
||
- 关键算法;
|
||
- 外部可调用函数;
|
||
- 重要配置和数据结构。
|
||
|
||
不详细记录普通私有辅助函数、生成代码和测试辅助代码。
|
||
|
||
### `scope=all`
|
||
|
||
只有用户明确要求时使用,尽量整理全部可识别的代码文件、类和函数。
|
||
|
||
如果项目规模很大,应先统计文件和符号数量,并让用户选择模块或分批生成,不要一次读取整个大型代码库。
|
||
|
||
## 调研代码库
|
||
|
||
优先检查:
|
||
|
||
- README 和主要文档;
|
||
- 项目清单和依赖配置;
|
||
- 项目入口;
|
||
- 源码目录;
|
||
- 核心模块;
|
||
- 公共头文件和接口;
|
||
- 配置文件和配置类;
|
||
- 测试中体现的实际行为;
|
||
- Git 当前状态和最近相关提交。
|
||
|
||
使用 `rg --files` 和针对性符号搜索。
|
||
|
||
默认排除:
|
||
|
||
- `.git`;
|
||
- `bin`、`obj`、`build`、`dist`;
|
||
- 第三方依赖目录;
|
||
- 日志、缓存和编译产物;
|
||
- 自动生成代码;
|
||
- 大型数据文件;
|
||
- 与目标模块无关的参考项目。
|
||
|
||
## 识别项目结构
|
||
|
||
根据实际代码识别:
|
||
|
||
- 编程语言和技术栈;
|
||
- 项目入口;
|
||
- 目录职责;
|
||
- 模块边界;
|
||
- 核心数据结构;
|
||
- 模块依赖;
|
||
- 主要调用流程;
|
||
- 外部接口;
|
||
- 配置方式;
|
||
- 构建、运行和测试方法。
|
||
|
||
不要根据目录名或常见框架习惯编造系统行为。
|
||
|
||
## 组织代码文档
|
||
|
||
建议采用以下结构:
|
||
|
||
```text
|
||
文档概述
|
||
项目简介
|
||
技术栈与运行环境
|
||
目录结构
|
||
总体架构
|
||
主要运行流程
|
||
模块说明
|
||
文件说明
|
||
类与数据结构
|
||
函数与接口参考
|
||
配置参数
|
||
构建、运行与测试
|
||
常见问题
|
||
已知限制
|
||
```
|