Files
XCEngine/skills/doc-api-manager/SKILL.md
ssdfasd dc850d7739 docs: 重构 API 文档结构并修正源码准确性
- 重组文档目录结构: 每个模块的概述页移动到模块子目录
- 重命名 index.md 为 main.md
- 修正所有模块文档中的错误:
  - math: FromEuler→FromEulerAngles, TransformDirection 包含缩放, Box 是 OBB, Color::ToRGBA 格式
  - containers: 新增 operator==/!= 文档, 补充 std::hash DJB 算法细节
  - core: 修复 types 链接错误
  - debug: LogLevelToString 返回大写, timestamp 是秒, Profiler 空实现标注, Windows API vs ANSI
  - memory: 修复头文件路径, malloc vs operator new, 新增方法文档
  - resources: 修复 Shader/Texture 链接错误
  - threading: TaskSystem::Wait 空实现标注, ReadWriteLock 重入描述, LambdaTask 链接
- 验证: fix_links.py 确认 0 个断裂引用
2026-03-19 00:22:30 +08:00

4.5 KiB
Raw Blame History

XCEngine API 文档编写与校验 Skill

用途

根据 XCEngine C++ 引擎源码生成符合规范的 API 文档,并进行格式校验和查漏补缺。


文档层次结构规范

目录结构

每个类对应一个文件夹,类文件夹下包含类总览页和方法详情页:

docs/api/
├── index.md                     # 总索引
├── math/
│   ├── math.md                  # Math 模块总览
│   ├── vector3.md               # Vector3 类总览
│   ├── dot.md                   # Dot 方法详情
│   ├── cross.md                 # Cross 方法详情
│   └── ...
├── containers/
│   ├── containers.md            # Containers 模块总览
│   ├── array.md                 # Array 类总览
│   ├── emplace.md               # Emplace 方法详情
│   ├── push.md                  # Push 方法详情
│   └── ...
└── ...

规则:

  • 模块总览页:{module}/{module}.md(如 math/math.mdcontainers/containers.md
  • 类文件夹:{class-name}/(如 array/vector3/
  • 类总览页:{class-name}/{class-name}.md(如 array/array.md
  • 方法详情页:{class-name}/{method-name}.md(如 array/emplace.md

类总览页模板

# {类名称}

**命名空间**: `{namespace}`

**类型**: `{type}`

**描述**: {一句话功能描述}

## 概述

{模块功能详细介绍,包括设计目的和使用场景}

## 公共方法

| 方法 | 描述 |
|------|------|
| [`Emplace`](./emplace.md) | 原地构造元素 |
| [`Push`](./push.md) | 末尾添加元素 |

## 使用示例

```cpp
{代码示例}

相关文档


### 方法详情页模板

```markdown
# {类名称}::{方法名}

```cpp
{完整方法签名}

{方法详细描述,包括设计目的、使用场景、注意事项}

参数:

  • {param} - {参数描述}

返回: {返回值描述}

异常: (如有)

线程安全: /

复杂度: O(n)

示例:

{可运行的完整示例代码}

相关文档


---

## 必需字段规范

### 元信息(必须)

- `**命名空间**`: C++ 命名空间,如 `XCEngine::Math`
- `**类型**`: `class`、`struct`、`enum` 等
- `**描述**`: 一句话功能描述

### 必需章节

1. **概述** - 模块功能介绍(设计目的、使用场景)
2. **公共方法** - 表格形式,每个方法链接到详情页
3. **使用示例** - 完整可运行的代码示例
4. **相关文档** - 交叉引用

### 方法详情页必需章节

1. **方法签名** - 完整 C++ 签名
2. **详细描述** - 语义、使用场景、注意事项
3. **参数列表** - 每个参数的含义
4. **返回值** - 返回值含义
5. **示例代码** - 可运行的完整示例
6. **相关文档** - 返回类总览的链接

---

## 校验规则

### 1. 格式校验

- [ ] 文档结构正确:模块有 `{module}/{module}.md`,类有 `{class}/{class}.md`
- [ ] 元信息完整:`命名空间`、`类型`、`描述`
- [ ] 类总览页的公共方法表格中,每个方法都有对应的详情页
- [ ] 代码块使用 ``` 包裹,语言标识正确(`cpp`

### 2. 引用校验

- [ ] 所有 `./{method}.md` 链接指向的文件存在
- [ ] 引用路径使用相对路径
- [ ] 不存在循环引用

### 3. 内容校验

- [ ] 所有 public 方法都已列出
- [ ] 方法签名与源码一致
- [ ] 返回值类型正确
- [ ] 默认参数值标注清楚
- [ ] 示例代码可编译运行
- [ ] 命名空间与源码一致

---

## 生成流程

1. **扫描源码**:分析指定目录下的头文件
2. **识别 API**:查找 `class`、`struct`、`enum`、`namespace`
3. **提取信息**:从源码中提取方法签名、成员变量、枚举值、文档注释
4. **创建结构**:为每个类创建文件夹,生成类总览页和方法详情页
5. **生成文档**:按照上述模板生成 Markdown 文件
6. **校验输出**:运行校验规则,检查格式和引用
7. **输出报告**:列出生成的文档和发现的问题

---

## 使用示例

用户输入:

完善 docs/api 文档,检查并修复错误


AI 执行:
1. 扫描指定源码目录
2. 识别所有头文件中的 class/struct/enum
3. 对比现有文档,找出缺失文件和错误引用
4. 生成或修复 Markdown 文档
5. 运行校验检查格式和引用
6. 输出生成报告和问题列表