Files

500 lines
12 KiB
Markdown
Raw Permalink Normal View History

2025-12-19 02:30:45 +08:00
# Aide 用户文档生成
你正在执行 Aide 用户文档生成流程。这个命令帮助用户在 docs 目录下创建面向用户的详细文档。
## 分步执行机制
此命令支持**真正有效的分步执行和接续执行**,适用于任意规模项目。
### 设计原则
1. **索引式计划文档**`user-docs-plan.md` 只做索引,详细信息存在独立步骤文档中
2. **自包含步骤文档**:每个步骤包含执行所需的全部信息(已提取的源信息)
3. **粒度动态控制**:根据文档复杂度动态拆分步骤
4. **分析与执行分离**:分析阶段产出详细计划,执行阶段直接生成文档
### 文档结构
```
docs/
├── user-docs-plan.md # 计划文件(索引式)
├── steps/ # 步骤详情目录
│ ├── step-001.md # 步骤1详情
│ ├── step-002.md # 步骤2详情
│ └── ...
└── [生成的文档] # 产出的文档
├── getting-started.md
├── installation.md
└── ...
```
这可能是一个非常长的任务,因此规划您的工作可能会很有益。**建议花费您的整个输出上下文来处理任务 - 只需确保您不会在有大量未提交的工作时用尽上下文。**继续系统地工作,直到您完成此任务。**您的上下文窗口将在接近其限制时自动压缩,允许您从中断的地方继续无限期地工作。因此,不要因为令牌预算问题而提前停止任务。**当您接近令牌预算限制时,在上下文窗口刷新前将您当前的进度和状态保存到内存中。始终尽可能坚持和自主,并完全完成任务,即使您的预算即将用尽。无论剩余上下文如何,永远不要人为地提前停止任何任务。
2025-12-19 02:30:45 +08:00
---
## 前置准备
**首先触发 `readme-templates` skill 学习模板使用方法。**
---
## 开始
### 检查计划文件
```bash
aide config get user_docs.docs_plan_path
aide config get user_docs.docs_steps_path
```
如果未配置,使用默认值:
- 计划文件:`docs/user-docs-plan.md`
- 步骤目录:`docs/steps`
**根据计划文件状态决定流程**
- **计划文件不存在** → 进入**分析和计划阶段**
- **计划文件存在** → 进入**接续执行阶段**
---
## 分析和计划阶段
当计划文件不存在时执行此流程。
2025-12-19 02:30:45 +08:00
### 1. 检查前置条件
#### 1.1 检查 README 规范文件
```bash
aide config get user_docs.rules_path
```
如果规范文件不存在:
> 检测到 README 编写规范(`make-readme-rules.md`)不存在。
>
> 建议先执行 `/aide:readme` 创建规范文件。规范文件定义了项目的文档风格,
> 用户文档应与 README 保持一致的风格。
使用 AskUserQuestion 询问:
- **先执行 /aide:readme**(推荐)
- **继续生成文档**(使用默认风格)
#### 1.2 检查项目文档
```bash
aide config get docs.path
```
如果项目文档目录(`.aide/project-docs/`)不存在:
> 检测到面向 LLM 的项目文档(`.aide/project-docs/`)不存在。
>
> 建议先执行 `/aide:docs` 和 `/aide:load` 创建项目文档。
> 项目文档可以帮助生成更准确、更完整的用户文档。
使用 AskUserQuestion 询问:
- **先执行 /aide:docs**(推荐)
- **继续生成文档**(基于代码分析)
### 2. 分析项目
2025-12-19 02:30:45 +08:00
#### 2.1 读取项目信息
2025-12-19 02:30:45 +08:00
**优先级**
1. **项目文档**(如果存在):
- 读取 `.aide/project-docs/README.md` 获取项目概述
- 阅读相关区块文档了解详细信息
2. **README**(如果存在):
- 读取 README.md 了解项目定位
3. **代码分析**
- 分析配置文件package.json、Cargo.toml、pyproject.toml 等)
- 分析目录结构
- 识别主要功能模块
#### 2.2 确定项目类型
2025-12-19 02:30:45 +08:00
| 类型 | 特征 |
|------|------|
| 纯文档/材料 | 主要是 markdown 文件,无代码 |
| 单体程序 | 单一主项目,可能有子模块 |
| 多项目仓库 | 包含多个独立子项目 |
### 3. 规划文档结构
2025-12-19 02:30:45 +08:00
根据项目类型选择文档结构模板。
2025-12-19 02:30:45 +08:00
#### 3.1 确定文档清单
2025-12-19 02:30:45 +08:00
根据项目分析确定需要生成的文档:
2025-12-19 02:30:45 +08:00
| 文档类型 | 适用场景 | 典型内容 |
|----------|----------|----------|
| getting-started.md | 所有项目 | 最小可运行示例 |
| installation.md | 需安装的项目 | 系统要求、安装步骤 |
| usage.md | 有 CLI/API 的项目 | 命令、参数说明 |
| configuration.md | 有配置项的项目 | 配置详解 |
| api/ | 库项目 | API 文档 |
| guides/ | 复杂项目 | 使用指南 |
2025-12-19 02:30:45 +08:00
### 4. 步骤生成(关键阶段)
**这是实现有效分步执行的核心阶段。**
#### 4.1 评估文档复杂度
对每个文档评估:
| 复杂度 | 特征 | 处理方式 |
|--------|------|----------|
| 小 | 单一主题,内容简单 | 整个文档作为 1 个步骤 |
| 中 | 多个章节,有交叉引用 | 按章节拆分为 2-3 个步骤 |
| 大 | 大量内容,需要分析多个模块 | 按功能点拆分为 3-5 个步骤 |
| 超大 | API 文档等,涉及大量接口 | 按模块/文件拆分为多个步骤 |
#### 4.2 生成步骤文档
**为每个步骤生成独立的步骤文档**,存放在 `steps/` 目录。
**步骤文档格式**
```markdown
# 步骤 XXX生成 [文档名称]
## 元信息
| 属性 | 值 |
|------|-----|
| 状态 | pending / in_progress / completed |
| 目标文档 | [文档路径] |
| 预估工作量 | 小 / 中 / 大 |
| 依赖步骤 | [无 / step-XXX] |
## 任务描述
生成/更新 [文档名称],包含 [具体内容]。
2025-12-19 02:30:45 +08:00
## 源信息(已提取)
以下是生成本文档所需的全部信息,**已从项目文档和代码中提取整理**
### 项目基础信息
| 属性 | 值 |
|------|-----|
| 项目名称 | xxx |
| 项目类型 | 库/应用/工具 |
| 主要语言 | xxx |
| 入口文件 | xxx |
### 相关模块/功能
| 模块 | 位置 | 说明 |
|------|------|------|
| [模块1] | path/to/module1 | 功能说明 |
| [模块2] | path/to/module2 | 功能说明 |
### 关键代码摘要
(已从代码中提取的关键信息,如函数签名、配置项等)
2025-12-19 02:30:45 +08:00
```
[已提取的关键代码片段或结构说明]
2025-12-19 02:30:45 +08:00
```
### 已有文档参考
(从项目文档或 README 中提取的相关内容)
> [引用的相关内容]
## 输出要求
- 文件:`docs/[filename].md`
- 格式要求:
- [ ] 包含自动生成标记
- [ ] 保留用户编辑区域
- [ ] 符合 README 规范风格
### 内容大纲
1. [章节1]
- [要点1]
- [要点2]
2. [章节2]
- [要点1]
- [要点2]
## 执行记录
(执行时填写)
| 时间 | 操作 | 备注 |
|------|------|------|
| | 开始执行 | |
| | 完成 | |
```
#### 4.3 生成计划文件(索引)
生成 `user-docs-plan.md` 作为索引:
```markdown
# 用户文档生成计划
> 最后更新YYYY-MM-DD HH:MM
## 项目概述
{{基于项目文档/分析的简要描述}}
## 项目类型
{{纯文档/单体程序/多项目仓库}}
## 文档结构
```
docs/
├── getting-started.md
├── installation.md
├── usage.md
└── ...
```
## 步骤索引
| 步骤 | 目标文档 | 描述 | 状态 |
|------|----------|------|------|
| [001](steps/step-001.md) | getting-started.md | 快速开始指南 | pending |
| [002](steps/step-002.md) | installation.md | 安装说明 | pending |
| [003](steps/step-003.md) | usage.md | 使用说明 | pending |
| ... | ... | ... | ... |
## 整体进度
- 总步骤数XX
- 已完成0
- 进行中0
- 待处理XX
## 执行日志
| 时间 | 步骤 | 操作 | 备注 |
|------|------|------|------|
| | | | |
```
2025-12-19 02:30:45 +08:00
### 5. 用户确认
2025-12-19 02:30:45 +08:00
向用户展示规划的文档结构:
2025-12-19 02:30:45 +08:00
> 用户文档计划已生成。
2025-12-19 02:30:45 +08:00
>
> **文档清单**
2025-12-19 02:30:45 +08:00
> ```
> {{PLANNED_STRUCTURE}}
> ```
>
> **总步骤数**{{TOTAL_STEPS}}
>
> 步骤文档已生成,每个步骤包含已提取的源信息,执行时可直接生成文档。
>
> 是否开始执行?
2025-12-19 02:30:45 +08:00
**选项**
- **开始执行**(推荐)
2025-12-19 02:30:45 +08:00
- **调整结构**(自定义)
- **稍后执行**
如用户选择调整,通过对话确认最终结构后更新计划文件。
2025-12-19 02:30:45 +08:00
如选择开始执行,进入步骤执行流程。
2025-12-19 02:30:45 +08:00
---
## 接续执行阶段
2025-12-19 02:30:45 +08:00
当计划文件存在时执行此流程。
2025-12-19 02:30:45 +08:00
### 1. 读取计划文件
读取 `user-docs-plan.md` 获取:
- 步骤索引
- 整体进度
- 执行日志
### 2. 显示进度
> **用户文档生成进度**
>
> 总步骤数XX
> 已完成YYZZ%
> 当前步骤step-NNN
> 上次更新YYYY-MM-DD HH:MM
### 3. 确认继续
使用 AskUserQuestion
> 是否从当前进度继续执行?
**选项**
- **继续执行**(推荐)
- **查看待处理步骤**
- **重新开始**(清空进度)
如选择重新开始,删除计划文件后进入分析和计划阶段。
---
## 步骤执行流程
### 执行单个步骤
1. **读取步骤文档**
- 打开 `steps/step-XXX.md`
- 获取已提取的源信息和内容大纲
2025-12-19 02:30:45 +08:00
2. **生成文档**
- 基于步骤文档中的源信息直接生成
- **无需重新分析代码/项目文档**,信息已在步骤文档中
- 遵循内容大纲和格式要求
2025-12-19 02:30:45 +08:00
3. **保存产出**
- 写入文档文件
- 使用自动生成标记区分自动内容和用户编辑区域
2025-12-19 02:30:45 +08:00
4. **更新步骤文档**
- 标记步骤为 `completed`
- 填写执行记录
2025-12-19 02:30:45 +08:00
5. **更新计划文件**
- 更新步骤状态
- 更新整体进度
- 添加执行日志
### 步骤间询问
每完成一个步骤后询问:
> 步骤 XXX 已完成:{{STEP_DESCRIPTION}}
>
> 已完成YY/ZZ进度 WW%
>
> 是否继续下一步?
**选项**
- **继续**(推荐)
- **查看产出**
- **暂停(保存进度)**
如选择暂停,当前进度已保存,下次可直接接续。
---
## 文档内容规范
### 文档文件结构
2025-12-19 02:30:45 +08:00
每个文档文件应包含:
```markdown
# 文档标题
<!-- AUTO-GENERATED: This section is automatically maintained -->
{{自动生成内容}}
<!-- USER-EDIT: DO NOT MODIFY ABOVE -->
<!-- You can add custom content below -->
{{用户自定义内容区域}}
```
### 各类文档内容要求
2025-12-19 02:30:45 +08:00
#### getting-started.md快速开始
- 最小可运行示例
- 简洁的步骤说明
- 链接到详细文档
#### installation.md安装指南
- 系统要求
- 多种安装方式
- 安装验证步骤
- 常见问题
#### usage.md使用说明
- 基本用法
- 常用命令/操作
- 参数说明
#### configuration.md配置说明
- 配置文件位置
- 配置项详解
- 配置示例
#### api/API 文档)
- 按模块组织
- 函数签名
- 参数说明
- 使用示例
---
## 完成流程
2025-12-19 02:30:45 +08:00
当所有步骤完成时:
2025-12-19 02:30:45 +08:00
1. 确认所有步骤状态为 `completed`
2. 更新 README 中的文档链接(如需要)
3. 向用户汇报完成情况
2025-12-19 02:30:45 +08:00
```
用户文档已生成docs/
2025-12-19 02:30:45 +08:00
生成的文档:
- getting-started.md
- installation.md
- usage.md
- ...
建议:
- 检查生成的内容是否准确
-<!-- USER-EDIT --> 标记下方添加自定义内容
- 自定义内容不会被后续更新覆盖
如需重新生成,可删除计划文件后再次运行 /aide:user-docs。
```
2025-12-19 02:30:45 +08:00
---
## 配置项
| 配置项 | 默认值 | 说明 |
|--------|--------|------|
| `user_docs.docs_path` | `docs` | 用户文档目录路径 |
| `user_docs.docs_plan_path` | `docs/user-docs-plan.md` | 计划文件路径 |
| `user_docs.docs_steps_path` | `docs/steps` | 步骤文档目录 |
2025-12-19 02:30:45 +08:00
| `user_docs.rules_path` | `make-readme-rules.md` | README 规范文件路径 |
---
## 注意事项
1. **分步执行**:每个步骤文档包含已提取的源信息,执行时无需重新分析
2. **进度持久化**:进度同时保存在步骤文档和计划文件中
3. **保留用户编辑**:使用标记区分自动生成和用户编辑的内容
4. **风格一致**:文档风格与 README 保持一致
5. **增量更新**:多次运行不会覆盖用户自定义内容