Function Extraction

从项目代码中提取特定功能的完整实现链路,生成含业务逻辑、数据流、异常处理等要素的技术开发文档,附 Mermaid 流程图/时序图。

addxing 36070c5 9 files · 22.0 KB Updated

File contents

功能文档提取

从项目代码中提取特定功能的完整实现流程,生成可供其他开发人员独立实现相同功能的技术开发文档。

核心指令

  1. 确认目标功能 → 用户提供功能名称
  2. 定位入口点 → 用户提供直接使用;未提供则搜索后展示结果,由用户确认或手动指定
  3. 追踪完整链路 → 从入口到流程结束
  4. 生成文档 → 使用 template.md 模板
  5. 输出 Mermaid 图表 → 流程图 + 时序图

第一步:需求确认

必须获取

  • 目标功能名称
  • 入口位置:
    • 用户已提供 → 直接使用
    • 用户未提供 → 搜索定位后展示结果,等待用户选择:
      • ✅ 确认 AI 找到的入口,开始执行
      • 🔄 不满意,让 AI 重新搜索
      • ✏️ 不满意,用户手动指定入口后再执行

第二步:代码分析

分析深度标准

  • 入口点:触发功能的第一行代码
  • 调用链:追踪到功能执行流程结束为止
  • 关键代码:影响功能逻辑走向或数据状态的代码

遇到问题时的处理

问题 处理方式
找不到入口 询问用户提供更多线索(页面名、按钮文字等)
代码过于复杂 默认展开分支,输出完整流程
代码缺少注释 基于代码行为推断,标注"推断"字样

第三步:生成文档

使用 template.md 模板,根据功能实际情况选择适用章节。


输出要求

核心原则

  1. 完整性:覆盖功能执行的完整链路
  2. 准确性:代码路径和行号必须准确,可直接定位
  3. 可操作性:包含足够细节,使不熟悉项目的开发人员能独立实现
  4. 闭环性:形成完整的功能闭环,确保从触发入口→处理链路→最终输出(含正常结果和异常分支)的每条路径都有始有终,无遗漏节点

Mermaid 图表(默认必须输出)

内容 图表类型
业务逻辑流程 flowchart
数据/调用流程 sequenceDiagram
模块依赖关系 graph

以下情况先询问用户再决定是否输出

  • 功能仅有单一线性流程(无分支),图表可能冗余
  • 流程超过 15 个节点,可能需要拆分为多图
  • 用户明确表示不需要图表

addxing/function-extraction/tree/main/ commit 36070c5d6b

Frequently asked questions

npx skillmds@latest add addxing/function-extraction