229 lines
8.8 KiB
Markdown
229 lines
8.8 KiB
Markdown
# /aide:docs 命令设计文档
|
||
|
||
## 一、概述
|
||
|
||
`/aide:docs` 是项目文档管理命令,用于创建和维护面向 LLM 的**完整深度**项目文档。
|
||
|
||
### 1.1 设计目标
|
||
|
||
| 目标 | 说明 |
|
||
|------|------|
|
||
| 完全深度探索 | 对每个文件、每个目录(包括空目录)完全覆盖,不考虑效率 |
|
||
| 独立运行 | 通常在需要时单独执行 |
|
||
| 区块化 | 文档按区块组织,支持增量更新 |
|
||
| 面向 LLM | 文档格式针对 LLM 理解优化 |
|
||
| 多对话续接 | 大项目支持多次对话完成 |
|
||
|
||
### 1.2 核心原则
|
||
|
||
> **完全深度探索**:不考虑过度设计、开销、效率问题。对项目中的每一个文件、每一个目录(包括空目录)都要完全覆盖,不允许遗漏。
|
||
|
||
### 1.3 新增命令
|
||
|
||
本命令是 v2.0.0 新增的独立命令。
|
||
|
||
---
|
||
|
||
## 二、执行流程
|
||
|
||
### 2.1 创建流程
|
||
|
||
```
|
||
┌─────────────────────────────────────────┐
|
||
│ /aide:docs │
|
||
│ (文档不存在时) │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ 完整目录扫描 │
|
||
│ (递归遍历所有目录和文件) │
|
||
│ - 读取 .gitignore 规则 │
|
||
│ - 记录每个文件/目录(含空目录) │
|
||
│ - 生成类似 tree 的目录结构 │
|
||
│ - 标注 [ignored] 和 [空目录] │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ 初步区块划分 │
|
||
│ (按目录结构和功能模块划分) │
|
||
│ - 包含空目录归入相应区块 │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ 区块验证 │
|
||
│ (确认没有遗漏任何文件或目录) │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ 逐区块完全深度探索 │
|
||
│ - 每个文件从头到尾完整阅读 │
|
||
│ - 二进制文件根据上下文推断概括 │
|
||
│ - 生成区块内完整 tree 结构 │
|
||
│ - 生成文件清单及概括 │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ 生成总导览 │
|
||
│ (简化版目录结构 + 区块索引) │
|
||
└─────────────────────────────────────────┘
|
||
```
|
||
|
||
### 2.2 更新流程
|
||
|
||
```
|
||
┌─────────────────────────────────────────┐
|
||
│ /aide:docs │
|
||
│ (文档已存在时) │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ 读取区块计划 │
|
||
│ (了解当前文档结构和完整目录树) │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ 重新扫描目录 │
|
||
│ (对比当前结构与文档记录的结构) │
|
||
│ - 识别新增、删除、移动的文件/目录 │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ 分区块验证 │
|
||
│ (完全重读有变化的文件) │
|
||
│ - 更新区块内目录树 │
|
||
└─────────────────────────────────────────┘
|
||
│
|
||
▼
|
||
┌─────────────────────────────────────────┐
|
||
│ 增量更新 │
|
||
│ (更新区块文档 + 总导览) │
|
||
└─────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 三、文档结构
|
||
|
||
### 3.1 目录结构
|
||
|
||
```
|
||
.aide/project-docs/
|
||
├── README.md # 总导览(含简化版目录结构)
|
||
├── block-plan.md # 区块计划(进度追踪)
|
||
└── blocks/ # 子区块文档(含完整目录树)
|
||
├── core.md
|
||
├── api.md
|
||
└── ...
|
||
```
|
||
|
||
### 3.2 总导览格式
|
||
|
||
```markdown
|
||
# [项目名称] 项目导览
|
||
|
||
> 本文档面向 LLM,用于快速了解项目结构和脉络。
|
||
|
||
## 项目简介
|
||
## 技术栈
|
||
## 项目结构(简化版) # 前两层目录,含空目录和忽略项标注
|
||
## 架构概述
|
||
## 区块索引 # 含文件数列
|
||
## 快速导航
|
||
## 统计信息 # 目录数、文件数、空目录数、被忽略项
|
||
```
|
||
|
||
### 3.3 子区块格式
|
||
|
||
```markdown
|
||
# [区块名称]
|
||
|
||
> 路径:xxx/
|
||
|
||
## 概述
|
||
## 目录结构 # 区块内完整 tree 结构
|
||
## 文件清单 # 每个文件一行概括,含类型列
|
||
## 核心组件
|
||
## 接口说明
|
||
## 依赖关系
|
||
## 注意事项
|
||
```
|
||
|
||
---
|
||
|
||
## 四、文件处理规则
|
||
|
||
| 文件类型 | 处理方式 |
|
||
|----------|----------|
|
||
| **源码文件** | 完整阅读,分析逻辑和结构,提取核心信息 |
|
||
| **配置文件** | 完整阅读,记录关键配置项 |
|
||
| **文档文件** | 完整阅读,提取主要内容 |
|
||
| **二进制文件** | 根据文件名、大小、关联文件信息进行上下文推断概括 |
|
||
| **被忽略文件** | 只记录文件名/目录名,标注 `[ignored]`,不分析内容 |
|
||
| **空目录** | 记录目录名,标注 `[空目录]`,根据名称推断用途 |
|
||
|
||
---
|
||
|
||
## 五、职责边界
|
||
|
||
### 5.1 本命令负责
|
||
|
||
- 递归遍历项目所有目录和文件
|
||
- 生成完整目录树结构
|
||
- 完全深度阅读每个文件
|
||
- 划分文档区块
|
||
- 创建和更新项目文档
|
||
- 维护区块计划(进度追踪)
|
||
|
||
### 5.2 本命令不负责
|
||
|
||
- 环境配置(由 `/aide:setup` 负责)
|
||
- 项目文档载入(由 `/aide:load` 负责)
|
||
- 任务准备和执行(由 `/aide:run` 负责)
|
||
|
||
---
|
||
|
||
## 六、区块划分规则
|
||
|
||
1. **按目录结构**:每个主要目录可作为一个区块
|
||
2. **按功能模块**:相关功能的文件归为一个区块
|
||
3. **包含空目录**:空目录也要归入相应区块
|
||
4. **低耦合**:区块间依赖关系尽量简单
|
||
|
||
> 注:v2.0.1 移除了"单个区块不超过 5000 行代码"的限制
|
||
|
||
---
|
||
|
||
## 七、多对话续接
|
||
|
||
大项目可能需要多次对话完成:
|
||
|
||
1. 每次开始时读取区块计划
|
||
2. 找到未完成的区块
|
||
3. **完全深度探索**该区块(每个文件从头到尾)
|
||
4. 生成区块内完整目录树
|
||
5. 更新区块计划的进度
|
||
|
||
---
|
||
|
||
## 八、相关文档
|
||
|
||
- [执行文件](../../commands/docs.md)
|
||
- [/aide:load 命令](load.md)
|
||
- [plugin 导览](../README.md)
|
||
|
||
---
|
||
|
||
## 九、版本信息
|
||
|
||
- 创建日期:2025-12-15
|
||
- v2.0.0 新增命令
|
||
- v2.0.1 强化完全深度探索要求,添加目录树结构展示
|