Files
AtomUI/docs/engineering/contributing/documentation-structure-guidelines.md
chinboy 9f6ec36645 docs: rename directory entry files to overview.md
统一文档目录的入口文件名为 `overview.md`,取代原先的 `index.md`。单 Control 目录本来就用
`overview.md`,此前只有目录级入口用 `index.md`,两套命名并存;现在全库一致。

改名覆盖 42 个入口文件:`docs/` 根、一级分类目录、Architecture 分组与跨模块系统目录、Module
目录、Control 平台与分类目录、Guide 与 Reference 子目录。`docs/AI/generated/index.md` 是手工
维护的导航页,一并改名。

生成产物 `docs/AI/generated/llms/**/index-cn.md` 保持原名,它属于 LLMs Generator 的输出契约。

同步更新 28 个正式文档与 `AGENTS.md` 中的入站链接,以及两处目录树示意图。改名后全部相对链接
可解析,LLMs Generator `verify` 通过(78 控件 / 159 文件),单 Control 四件套文件名契约未变。

新增 `docs/engineering/contributing/documentation-structure-guidelines.md` 承载入口命名、文档
拆分标准、事实所有权和链接规范。此前该规则只写在带日期的设计过程记录里,不适合作为长期来源。
`docs/superpowers/specs/2026-08-10-documentation-information-architecture-design.md` 保留原文
并加取代说明,其余结论继续有效。
2026-08-10 14:24:36 +08:00

4.9 KiB

文档结构与命名规范

本文是 AtomUI 仓库文档结构与文件命名的现行规范。文档分类的责任划分见 文档总览;本文只定义目录布局、入口文件命名和拆分标准。

本文取代 docs/superpowers/specs/2026-08-10-documentation-information-architecture-design.md 中关于入口文件命名的 结论。该 spec 作为当时的设计过程记录保留,不再是命名规则的来源。

1. 入口文件命名

任何文档目录的入口文件统一命名为 overview.md。

这条规则没有例外,适用于:

目录层级 入口文件
docs/ docs/overview.md
一级分类目录 docs/architecture/overview.md、docs/modules/overview.md、docs/guides/overview.md 等
架构分组目录 docs/architecture/foundations/overview.md、docs/architecture/systems/overview.md
跨模块系统目录 docs/architecture/systems/theming/overview.md、docs/architecture/systems/typography/overview.md
模块目录 docs/modules/core/overview.md、docs/modules/fonts/overview.md
Control 平台与分类目录 docs/controls/desktop/overview.md、docs/controls/desktop/general/overview.md
单 Control 目录 docs/controls/desktop/general/button/overview.md
Guide、Reference 子目录 docs/guides/theming/overview.md、docs/reference/localization/overview.md

不使用 index.md 作为文档入口。该名称只保留给工具生成物的既有输出契约,当前仅 docs/AI/generated/llms/**/index-cn.md 属于这一类,由 LLMs Generator 拥有,不得手工改名。

2. 单 Control 目录文件契约

单 Control 目录的文件名由 LLMs Generator 读取,属工具契约,不可改动:

overview.md          必需
implementation.md    必需
token.md             可选,控件拥有专属 Token 时提供
changelog.md         必需
<topic>-design.md    可选,单个专题设计

规则见 控件文档规范。

3. 文档拆分标准

一个 overview.md 不承载完整系统设计。当一个主题需要展开时,按职责拆成同目录下的多个文件,overview.md 只保留定位、边界、总体架构和导航表。

拆分触发条件(满足任一即应拆分):

  • 单文件超过约 400 行。
  • 文件同时定义两个以上可独立演进的契约(例如资源注册与 Token 派生)。
  • 文件同时服务两类以上读者(例如控件作者与应用开发者)。
  • 存在需要被其他文档单独引用的稳定小节。

拆分后的命名按职责,不按章节序号:

docs/architecture/systems/typography/
├── overview.md                    定位、边界、两轴架构、导航
├── font-packages.md               资源层与注册入口
├── font-family-resolution.md      字体族解析、回退、覆盖、时序
├── tokens-and-derivation.md       Token 分级与派生算法
├── consumption.md                 消费契约与文本度量
└── verification.md                AOT、兼容性、验证、已知不一致

overview.md 的导航表必须列出同目录全部子文档及其所有权,使读者不必逐个打开文件判断归属。

verification.md 作为验证要求与已知不一致的独立文件,是跨模块系统目录的推荐结构;本地化与字体子系统均采用 该形态。

4. 事实所有权

一个稳定事实只能有一个正式所有者,其他文档通过链接引用,不复制完整规则。跨目录重复同一份规则时,保留层级 更高、读者更广的那一份,其余改为链接。

内容 所有者
跨两个以上模块的当前系统架构 architecture/
单个源码项目或发布包的职责与入口 modules/
单个 Control 或紧密 Control 家族 controls/
使用步骤、接入示例、操作流程 guides/
版本化格式、协议、公共 API 定义 reference/
开发规范、工作流、检查清单 engineering/
方案比较、实施计划、阶段进度 superpowers/

superpowers/ 不参与正式文档导航和事实所有权判断。正式文档不得依赖 superpowers/ 才能成立。

5. 链接规范

  • 目录之间使用相对路径,指向具体文件,不指向目录。
  • 指向某目录的入口时写完整文件名 overview.md,不依赖目录默认文件解析。
  • 生成物 docs/AI/generated/ 下的文件不手工编辑,其内部链接由 Generator 产生。

6. 变更检查

调整文档结构后必须确认:

  1. 所有相对链接可解析,包括 AGENTS.md 与仓库根 README。
  2. 单 Control 目录的四件套文件名未被破坏,LLMs Generator 的 verify 通过。
  3. 目录树示意图与实际布局一致。
  4. git diff --check 通过。
dotnet run --project tools/AtomUI.Docs.LLMsGenerator/AtomUI.Docs.LLMsGenerator.csproj -- verify --config docs/AI/generated/llms.config.json