mcpField
G
graph-build

graph-build

github.com/athola开发34377 次安装1 天前更新
代码仓库

关于 graph-build

graph-build 用于构建或更新代码库的结构知识图谱。它解析代码中的节点和关系,将结果存入 SQLite,并报告构建统计信息。

主要功能

  1. 01全量构建与增量更新
  2. 02解析 20 多种语言
  3. 03提取代码节点与关系
  4. 04SQLite 存储及 SHA-256 变更检测
  5. 05输出 JSON 构建统计

适用场景

  1. 01在编码会话开始时创建图谱
  2. 02代码变更后更新图谱
  3. 03为图谱搜索或影响范围分析做准备

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/athola/claude-night-market --skill graph-build

安装后在 Claude Code 中输入/graph-build确认已加载。

详细介绍

构建代码知识图谱

构建或更新当前代码库的 .gauntlet/graph.db 知识图谱。

步骤

  1. 检测目标:使用当前工作目录 或用户指定的路径。

  2. 检查是否已有图谱:如果 .gauntlet/graph.db 存在,则执行增量更新;否则执行完整构建。

  3. 运行构建脚本:

    完整构建:

    python3 ${CLAUDE_PLUGIN_ROOT}/scripts/graph_build.py <dir>
    

    增量更新:

    python3 ${CLAUDE_PLUGIN_ROOT}/scripts/graph_build.py <dir> --incremental
    
  4. 报告结果:显示 JSON 输出,包括已解析的文件数、 创建的节点数、创建的边数和耗时。

  5. 建议后续步骤:建议搜索图谱 或运行影响范围分析。

适用场景

  • 在会话开始时构建对代码结构的认知
  • 重大代码变更后更新图谱
  • 运行影响范围分析或流程追踪前
  • 用户询问代码库结构时

不适用场景

  • 查询已存在的图谱(使用 gauntlet:graph-search)
  • 构建挑战知识库(使用 gauntlet:extract)

解析内容

图谱会从 20 多种语言中提取节点(File、Class、Function、Type、 Test)和边(CALLS、IMPORTS_FROM、INHERITS、CONTAINS、 IMPLEMENTS、TESTED_BY),包括 Python、JavaScript、TypeScript、Go、Rust、Java、C/C++、 Ruby 和 PHP。

存储

  • 数据库:.gauntlet/graph.db(使用 WAL 模式的 SQLite)
  • 自动创建 .gauntlet/.gitignore,以防止提交数据库
  • 增量更新使用 SHA-256 哈希跳过 未变更的文件

完成条件

  • 技能执行完成后,.gauntlet/graph.db 存在且是有效的 SQLite 文件;.gauntlet/.gitignore 存在,以防止 数据库被提交
  • 构建报告 JSON 包含全部四个键:files_parsed、 nodes_created、edges_created、duration;对于非空代码库,这些键的值 均非零
  • 当 .gauntlet/graph.db 已存在时,使用增量更新路径(脚本以 --incremental 调用);仅在首次运行时 执行完整构建
  • 向用户提供后续步骤建议:搜索图谱 或运行影响范围分析

评论

支持 Markdown