Files
agent-aide/aide-marketplace/aide-plugin/docs/commands/docs.md

229 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

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.

# /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 强化完全深度探索要求,添加目录树结构展示