功能文档提取
从项目代码中提取特定功能的完整实现流程,生成可供其他开发人员独立实现相同功能的技术开发文档。
核心指令
- 确认目标功能 → 用户提供功能名称
- 定位入口点 → 用户提供直接使用;未提供则搜索后展示结果,由用户确认或手动指定
- 追踪完整链路 → 从入口到流程结束
- 生成文档 → 使用 template.md 模板
- 输出 Mermaid 图表 → 流程图 + 时序图
第一步:需求确认
必须获取:
- 目标功能名称
- 入口位置:
- 用户已提供 → 直接使用
- 用户未提供 → 搜索定位后展示结果,等待用户选择:
- ✅ 确认 AI 找到的入口,开始执行
- 🔄 不满意,让 AI 重新搜索
- ✏️ 不满意,用户手动指定入口后再执行
第二步:代码分析
分析深度标准:
- 入口点:触发功能的第一行代码
- 调用链:追踪到功能执行流程结束为止
- 关键代码:影响功能逻辑走向或数据状态的代码
遇到问题时的处理:
| 问题 | 处理方式 |
|---|---|
| 找不到入口 | 询问用户提供更多线索(页面名、按钮文字等) |
| 代码过于复杂 | 默认展开分支,输出完整流程 |
| 代码缺少注释 | 基于代码行为推断,标注"推断"字样 |
第三步:生成文档
使用 template.md 模板,根据功能实际情况选择适用章节。
输出要求
核心原则:
- 完整性:覆盖功能执行的完整链路
- 准确性:代码路径和行号必须准确,可直接定位
- 可操作性:包含足够细节,使不熟悉项目的开发人员能独立实现
- 闭环性:形成完整的功能闭环,确保从触发入口→处理链路→最终输出(含正常结果和异常分支)的每条路径都有始有终,无遗漏节点
Mermaid 图表(默认必须输出):
| 内容 | 图表类型 |
|---|---|
| 业务逻辑流程 | flowchart |
| 数据/调用流程 | sequenceDiagram |
| 模块依赖关系 | graph |
以下情况先询问用户再决定是否输出:
- 功能仅有单一线性流程(无分支),图表可能冗余
- 流程超过 15 个节点,可能需要拆分为多图
- 用户明确表示不需要图表