关于 graph-build
graph-build 用于构建或更新代码库的结构知识图谱。它解析代码中的节点和关系,将结果存入 SQLite,并报告构建统计信息。
主要功能
- 01全量构建与增量更新
- 02解析 20 多种语言
- 03提取代码节点与关系
- 04SQLite 存储及 SHA-256 变更检测
- 05输出 JSON 构建统计
适用场景
- 01在编码会话开始时创建图谱
- 02代码变更后更新图谱
- 03为图谱搜索或影响范围分析做准备
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ athola/ claude-night-market --skill graph-build安装后在 Claude Code 中输入/graph-build确认已加载。
详细介绍
构建代码知识图谱
构建或更新当前代码库的 .gauntlet/graph.db 知识图谱。
步骤
-
检测目标:使用当前工作目录 或用户指定的路径。
-
检查是否已有图谱:如果
.gauntlet/graph.db存在,则执行增量更新;否则执行完整构建。 -
运行构建脚本:
完整构建:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/graph_build.py <dir>增量更新:
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/graph_build.py <dir> --incremental -
报告结果:显示 JSON 输出,包括已解析的文件数、 创建的节点数、创建的边数和耗时。
-
建议后续步骤:建议搜索图谱 或运行影响范围分析。
适用场景
- 在会话开始时构建对代码结构的认知
- 重大代码变更后更新图谱
- 运行影响范围分析或流程追踪前
- 用户询问代码库结构时
不适用场景
- 查询已存在的图谱(使用
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