# Doc Auto Sync

> 强制规范：AI 改动模块代码时需同步创建/更新模块文档与索引，保持文档与代码一致。

- Skill: `majiayu000/doc-auto-sync` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/doc-auto-sync`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/doc-auto-sync/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/doc-auto-sync

---



# 模块文档维护指南

## 系统概述

项目使用分层文档系统帮助AI快速定位代码模块，避免上下文被占满：

- **`tap-agents/prompts/module-map.md`** - 根索引，列出所有模块和快速定位表
- **`tap-agents/prompts/modules/[模块名].md`** - 各模块详细文档

## 前置步骤

1. 检查 `tap-agents/tap-agents-configs.md` 是否存在
   - **如果不存在**：提示用户参考 [配置模板](module-discovery/template/prompt-kit-config.md.template) 创建
   - **如果存在**：读取「项目类型」「项目名称」「业务模块目录」「主要类后缀」「文件扩展名」

2. **路径约定**：本文档中所有以 `tap-agents/` 开头的路径均指项目根目录下的对应路径。

## AI的文档维护职责

### 规则1：新增模块时

当你在`「业务模块目录」/`下创建新的顶层文件夹（模块）时，必须：

1. 在`tap-agents/prompts/modules/`下创建对应的`[模块名].md`
2. 更新`tap-agents/prompts/module-map.md`，添加模块描述
3. 使用下方的简洁版模板

### 规则2：修改现有模块时

当你修改某个模块的代码时（新增主要类、修改核心功能），必须：

1. 检查该模块的文档是否存在（`tap-agents/prompts/modules/[模块名].md`）
2. 如果文档存在但内容过时，更新对应部分
3. 如果文档不存在，创建它
4. 在代码修改完成后，主动提示用户："已更新 [模块名] 文档"

**主要类的定义：**

使用配置文件中的「主要类后缀」、「文件扩展名」配置项。

**不需要更新文档的情况：**

- 仅修改UI样式、颜色、字体等视觉调整
- 修复bug但不改变功能逻辑
- 调整内部实现但不影响模块职责

### 规则3：重大重构时

当进行跨模块重构、删除模块、移动代码时，必须：

1. 更新所有涉及模块的文档
2. 在`module-map.md`中标记废弃的模块
3. 更新模块间的依赖关系描述
4. 列出文档变更清单

### 规则4：文档-代码不一致处理

**情况A：代码比文档新（最常见）** 特征：

- 代码中有新增的类，但文档没有记录
- 代码中删除了某些类，但文档还在
- 功能实现已改变，文档描述过时

AI行为：

1. **信任代码，自动更新文档**
2. 将文档同步到代码的当前状态
3. 在"最后更新"中标记：`自动同步 - YYYY-MM-DD`
4. 提示用户：`检测到 [模块名] 文档过期，已自动更新`

**情况B：无法判断谁是对的** 特征：

- 文档和代码描述完全矛盾
- 关键类缺失但不确定是否应该存在
- 逻辑描述模糊

AI行为：

1. **停止修改，询问用户**
2. 清晰说明矛盾点
3. 提供选项让用户决策

**情况C：文档明显错误** 特征：

- 文件路径错误（指向不存在的文件）
- 类名拼写错误
- 明显的复制粘贴错误

AI行为：

1. **直接修复文档错误**
2. 在"最后更新"中标记：`修复错误 - YYYY-MM-DD`

### 规则5：自动维护模块文档（强制执行）

**这是强制性规则，必须自动执行，不需要询问用户**

**核心原则：代码有修改 + 文档不存在 = 必须创建文档**

**触发条件：**

只要在 `「业务模块目录」/[模块名]/` 下进行了代码修改（无论大小、类型），且该模块没有对应的文档 `tap-agents/prompts/modules/[模块名].md`，就**必须**自动创建文档。

**自动执行流程：**

1. **完成代码修改** - 修复 Bug、新增功能、调整样式等任何修改。
2. **检查文档** - 自动检查 `tap-agents/prompts/modules/[模块名].md` 是否存在。
3. **创建文档** - 若文档不存在，立即创建完整文档（使用下方模板）。
4. **通知用户** - 简短说明：`已创建 [模块名] 模块文档`

**执行示例：**

场景：修复了 UI 样式，但文档不存在
```
用户：修复热榜页面背景图片显示问题

AI执行：
1. 修改代码：「业务模块目录」/Moment/HotEvents/XXXViewController.「文件扩展名」
2. 检查文档：tap-agents/prompts/modules/Moment.md 不存在
3. [触发规则] 创建文档：生成 Moment.md
4. 通知用户：已创建 Moment 模块文档

最终响应："背景图片问题已修复。已创建 Moment 模块文档"
```

**注意：** 如果文档已存在，则按规则2（更新文档）或规则（忽略微小修改）处理。本规则仅针对**文档缺失**的情况。

## 简洁版文档模板

```markdown
# [模块名]

## 模块简介

一句话描述这个模块的作用和职责。

## 核心功能

- 功能1：简短描述
- 功能2：简短描述
- 功能3：简短描述

## 主要类/文件

| 文件名                  | 说明       | 常用叫法/位置描述      |
| ----------------------- | ---------- | ---------------------- |
| XXXViewController | 主控制器   | 主页、首页             |
| XXXTopView        | 顶部视图   | 头部、顶部区域、banner |
| XXXManager        | 业务管理类 | 管理器、业务层         |

## 关键词

搜索关键词1, 关键词2, 关键词3

## 常用叫法映射（可选）

记录团队内部的口语化表达和对应的代码位置：

- "头部" / "顶部区域" → XXXTopView
- "底部按钮" / "操作栏" → XXXBottomView
- "列表" / "信息流" → XXXListViewController

## 最后更新

YYYY-MM-DD
```

## 使用示例

**开发场景1：新增功能**

```
用户：帮我在GameDetail模块添加分享功能

AI工作流：
1. 实现代码功能
2. 读取 tap-agents/prompts/modules/GameDetail.md
3. 在"核心功能"中添加"分享功能"
4. 在"主要类/文件"中添加新增的类
5. 更新"最后更新"时间
6. 提示："已完成分享功能，并更新了GameDetail模块文档"
```

**开发场景2：定位需求**

```
用户：修改评分显示样式

AI工作流：
1. 读取 tap-agents/prompts/module-map.md 查找"评分"关键词
2. 定位到相关模块
3. 读取 tap-agents/prompts/modules/[模块名].md 找到具体文件
4. 实现修改
5. 判断：仅样式修改，不需要更新文档
```

## 文档检查脚本使用

项目提供了两个辅助脚本用于检查文档状态：

**何时建议用户运行脚本：**

1. **check-docs.py** - 检查缺少文档的模块
   - 用户询问"有哪些模块还没有文档"
   - 用户想了解文档完成度
   - 开发了新模块，想确认是否创建了文档
   - 使用命令行参数：`python [check-docs.py 路径] --modules-dir [TapTap 业务根目录] --docs-dir [tap-agents/prompts/modules 文档目录]`

2. **check-stale-docs.py** - 检查可能过期的文档
   - 用户询问"哪些文档可能过期了"
   - 长时间没有更新文档系统
   - 想验证文档是否与代码同步
   - 使用命令行参数：`python [check-stale-docs.py 路径] --modules-dir [TapTap 业务根目录] --docs-dir [tap-agents/prompts/modules 文档目录]`

**AI的职责：**

- 当用户明确询问文档状态时，主动建议运行相应脚本
- 脚本运行后，根据结果提供建议（如：优先更新哪些模块）
- 不要在每次对话都建议运行脚本，只在必要时提及

