SuperAPI AI 工具集

docs-diagram

编程与开发

查看项目

更新于 10-16 00:29

技能介绍

用途:读取实际代码库,生成 Mermaid 图表并写入 docs/。支持四类:er 输出 docs/data-model.md(实体关系)、arch 输出 docs/architecture.md(系统架构与组件关系)、deployment 输出 docs/deployment.md(部署基础设施与 CI/CD)、security 输出 docs/security.md(安全架构与数据流)。

工作流程:先解析请求,提取图表类型与可选范围;类型缺失或无效时不猜测,直接询问用户要哪种类型。随后分析代码库:有范围时直接 Read/Grep 指定文件;范围宽泛时,若有 Task 工具则按方面派发 Explore 子代理,否则用 Read/Grep/Glob 顺序执行同样检查。

验证要求:图表只能表示真实存在的组件,添加前须读取定义文件,关系须在代码中找到实际 import/引用/外键,数量须用命令统计(如 find . -name "service" | wc -l),无法验证的内容一律丢弃。

生成与写入:按 references/mermaid-patterns.md 的语法生成,过于复杂时拆成多个视图;加载 assets/templates/<type>.md 模板,替换 {{PROJECT_NAME}}、{{DATE}} 及图表和组件列表占位符;写入对应 docs/ 文件,若已存在需先询问再覆盖,并尽量保留手写部分。

校验渲染:需要 mmdc,可用 npm i -g @mermaid-js/mermaid-cli 安装,或先定义 mmdc() { npx -y -p @mermaid-js/mermaid-cli mmdc "$@"; }。沙箱中 Chromium 无法启动时,加 -p 并传入 {"args":["--no-sandbox"]} 的 puppeteer 配置。对写入文件运行脚本,FAIL <name>-N.mmd 会指出文档及第 N 个 mermaid 块;按解析错误修复并重跑,最多 3 轮,仍失败则报告。未替换的 {{PLACEHOLDER}} 也会导致失败。若无法安装 mmdc,需在报告中说明,并回退到对照 references/mermaid-patterns.md 做语法审查。

报告:说明图表类型与输出文件,报告实际统计数量(如“4 个实体,6 个关系”),并建议在子系统变更后重新生成。

限制:不猜测类型或组件;不凭记忆或推断添加内容;无法验证即丢弃;覆盖已有文件前须询问;mmdc 不可用时只能做语法审查。