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