Files
agent-aide/discuss/05-文档拆分方案.md
2025-12-13 22:22:01 +08:00

8.8 KiB
Raw Blame History

aide-requirements.md 文档拆分方案

一、需求理解

1.1 核心目标

将完整的 aide-requirements.md 拆分为总导览 + 多个子区块文档,实现:

  1. 子区块信息完整独立:新人仅依赖子区块文档即可完全了解该区块
  2. 修改范围最小化:调整某功能只需更新相关子区块和导览,无需了解全部内容
  3. 导览轻量化:导览远比全部完整信息轻量

1.2 用户场景验证

场景 阅读路径 修改范围
调整 commands/init 业务细节 总导览 → plugin导览 → init设计文档 init设计文档 + 对应command文件
调整 aide env 子命令功能 总导览 → program导览 → env设计文档 env设计文档 + 对应代码
新增一个 command 总导览 → plugin导览 → 参考现有command文档 新建command设计文档 + command文件 + 更新导览

二、拆分方案

2.1 核心设计原则

  1. 区分设计文档与执行文件

    • 设计文档docs/):给人类开发者看,包含完整上下文和设计意图
    • 执行文件commands/、skills/):给 LLM 看,聚焦执行指令
  2. 子区块自包含

    • 每个子区块文档包含:背景、职责、接口、行为、依赖关系
    • 新人看完一个子区块文档,无需阅读其他文档即可理解该组件
  3. 导览只做索引

    • 导览文档只包含概述和索引
    • 详细规格全部放在子区块文档中

2.2 目录结构

项目根目录/
├── aide-overview.md              # 总导览(系统概述 + 子区块索引)
│
├── aide-marketplace/
│   └── aide-plugin/
│       ├── docs/                 # plugin 设计文档区块
│       │   ├── README.md         # plugin 导览
│       │   ├── commands/
│       │   │   ├── init.md       # init 命令设计文档
│       │   │   ├── prep.md       # prep 命令设计文档
│       │   │   └── exec.md       # exec 命令设计文档
│       │   └── skill/
│       │       └── aide.md       # aide skill 设计文档
│       ├── commands/             # 实际 command 文件(给 LLM
│       │   ├── init.md
│       │   ├── prep.md
│       │   └── exec.md
│       └── skills/               # 实际 skill 文件(给 LLM
│           └── aide/
│               └── SKILL.md
│
└── aide-program/
    ├── docs/                     # program 设计文档区块
    │   ├── README.md             # program 导览
    │   ├── commands/
    │   │   ├── env.md            # env 子命令设计
    │   │   ├── flow.md           # flow 子命令设计
    │   │   ├── decide.md         # decide 子命令设计
    │   │   └── init.md           # init 子命令设计
    │   └── formats/
    │       ├── config.md         # 配置文件格式规范
    │       └── data.md           # 数据格式规范(待定项、流程状态等)
    └── aide/                     # 实际代码

2.3 文档内容规划

总导览 (aide-overview.md)

# Aide 系统概述

## 系统简介
[1-2段话描述 aide 是什么、解决什么问题]

## 核心设计原则
- 渐进式披露
- 确定性封装
- 信息隔离
- 核心与形式分离

## 系统架构
[简图plugin ↔ program 关系]

## 子区块索引

| 区块 | 位置 | 职责 |
|------|------|------|
| aide-plugin | aide-marketplace/aide-plugin/docs/ | Commands 和 Skill 定义 |
| aide-program | aide-program/docs/ | 命令行工具实现 |

## 快速导航
- 想了解/修改 commands → [aide-plugin 导览](...)
- 想了解/修改 aide 程序 → [aide-program 导览](...)

plugin 导览 (aide-plugin/docs/README.md)

# Aide Plugin 设计文档

## 概述
aide-plugin 是 Claude Code 插件,提供 Aide 工作流的 Commands 和 Skill。

## 组件关系
- Commands定义流程init/prep/exec
- Skill定义工具使用方法aide 命令)

## Commands 索引

| Command | 文档 | 职责 |
|---------|------|------|
| /aide:init | [init.md](commands/init.md) | 项目认知与环境初始化 |
| /aide:prep | [prep.md](commands/prep.md) | 任务准备流程 |
| /aide:exec | [exec.md](commands/exec.md) | 任务执行流程 |

## Skill 索引

| Skill | 文档 | 职责 |
|-------|------|------|
| aide | [aide.md](skill/aide.md) | aide 命令行工具使用指南 |

子区块文档模板

每个子区块文档应包含:

# [组件名称]

## 背景
[为什么需要这个组件,解决什么问题]

## 职责
[这个组件做什么、不做什么]

## 接口
[输入、输出、参数]

## 行为
[详细的执行逻辑/流程]

## 依赖
[依赖哪些其他组件,简要说明]

## 被依赖
[被哪些组件使用]

## 修改指南
[修改此组件时需要同步更新的内容]

三、内容分配

3.1 从 aide-requirements.md 提取的内容分配

原章节 目标位置
一、项目背景 aide-overview.md精简版
二、核心设计原则 aide-overview.md列表形式
三、组件职责定义 aide-plugin/docs/README.md
四、命令清单 aide-plugin/docs/commands/*.md
五、技能清单 aide-plugin/docs/skill/aide.md + aide-program/docs/commands/*.md
六、信息流设计 aide-program/docs/formats/data.md
七、LLM 自由发挥边界 aide-plugin/docs/README.md
八、数据格式规范 aide-program/docs/formats/data.md
九、数据存储 aide-program/docs/formats/config.md
十、实施结构 aide-overview.md架构部分

3.2 新增内容

文档 新增内容
aide-program/docs/README.md program 整体介绍、目录结构、开发指南
aide-program/docs/commands/flow.md flow 子命令完整设计(当前未实现)
aide-program/docs/commands/decide.md decide 子命令完整设计(当前未实现)

四、实施计划

4.1 步骤

  1. 创建目录结构

    • aide-marketplace/aide-plugin/docs/commands/
    • aide-marketplace/aide-plugin/docs/skill/
    • aide-program/docs/commands/
    • aide-program/docs/formats/
  2. 编写总导览

    • 创建 aide-overview.md
  3. 编写 aide-plugin 文档

    • aide-plugin/docs/README.md
    • aide-plugin/docs/commands/init.md
    • aide-plugin/docs/commands/prep.md
    • aide-plugin/docs/commands/exec.md
    • aide-plugin/docs/skill/aide.md
  4. 编写 aide-program 文档

    • aide-program/docs/README.md
    • aide-program/docs/commands/env.md
    • aide-program/docs/commands/flow.md
    • aide-program/docs/commands/decide.md
    • aide-program/docs/commands/init.md
    • aide-program/docs/formats/config.md
    • aide-program/docs/formats/data.md
  5. 处理原文档

    • 将 aide-requirements.md 移动到 archive/ 或删除

4.2 文档数量统计

区块 文档数量
总导览 1
aide-plugin 5
aide-program 7
合计 13

五、待确认事项

  1. 总导览位置放在项目根目录aide-overview.md还是其他位置

  2. 原 aide-requirements.md 处理

    • 选项A移动到 archive/ 目录保留
    • 选项B直接删除
  3. 设计文档与执行文件的关系

    • 当前 commands/*.md 和 SKILL.md 是给 LLM 的执行指令
    • 新增的 docs/ 是给人类的设计文档
    • 两者内容会有重叠,是否可接受?
  4. 文档命名

    • aide-program/docs/commands/ 下的文档是否用 "env.md" 还是 "aide-env.md"

六、预期效果

6.1 新人上手流程

想了解 aide 系统
    ↓
阅读 aide-overview.md5分钟
    ↓
确定要修改的区块
    ↓
阅读对应区块导览5分钟
    ↓
阅读具体组件文档10分钟
    ↓
开始修改

6.2 修改影响范围

修改类型 影响文档
调整 init 命令流程 init设计文档 + init.md执行文件
新增 aide 子命令 program导览 + 新子命令设计文档 + SKILL.md + 代码
修改数据格式 formats/data.md + 相关代码
调整设计原则 aide-overview.md

七、总结

本方案将 aide-requirements.md 拆分为 13 个文档,分布在 3 个区块:

  1. 总导览:系统概述和索引
  2. aide-plugin 区块Commands 和 Skill 的设计文档
  3. aide-program 区块:程序子命令和数据格式的设计文档

每个子区块文档自包含,新人可以仅通过导览找到相关文档,完全掌握该区块信息后进行修改,无需了解整个系统的全部细节。

请审阅此方案,如有调整意见请在 reply/ 目录创建回复文档。