360 Secure SkillHub
360 安全技能中心

graph-build

调用 Python 脚本解析代码库,用 tree-sitter 提取文件、类、函数、类型、测试等节点与调用、导入、继承等边,写入 .gauntlet/graph.db(SQLite/WAL);支持全量与基于 SHA-256 的增量更新,输出 JSON 解析统计,供代码搜索与影响面分析使用。

athola
athola
热度 61.64
最近更新 2026-08-26 21:12:46
分类:开发依赖:代码执行 / 读写文件应用场景:代码审查 / 数据处理 / 代码生成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add nm-gauntlet-graph-build
Metadata
name
graph-build
description
Builds or updates the code knowledge graph via tree-sitter AST and SQLite
version
1.9.8
triggers
["setting up the graph before search or blast-radius analysis"]
metadata
{"openclaw":{"homepage":"https://github.com/athola/claude-night-market/tree/master/plugins/gauntlet","emoji":"🦞"}}
source
claude-night-market
source_plugin
gauntlet

Night Market Skill — ported from claude-night-market/gauntlet. For the full experience with agents, hooks, and commands, install the Claude Code plugin.

Build Code Knowledge Graph

Build or update the .gauntlet/graph.db knowledge graph for the current codebase.

Steps

  1. Detect target: Use the current working directory or a user-specified path.

  2. Check for existing graph: If .gauntlet/graph.db exists, run an incremental update. Otherwise, run a full build.

  3. Run the build script:

    For full build:

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

    For incremental update:

    python3 ${CLAUDE_PLUGIN_ROOT}/scripts/graph_build.py <dir> --incremental
    
  4. Report results: Show the JSON output including files parsed, nodes created, edges created, and duration.

  5. Suggest next steps: Recommend searching the graph or running blast radius analysis.

When To Use

  • At the start of a session to build structural awareness
  • After significant code changes to update the graph
  • Before running blast radius analysis or flow tracing
  • When the user asks about codebase structure

What Gets Parsed

The graph extracts nodes (File, Class, Function, Type, Test) and edges (CALLS, IMPORTS_FROM, INHERITS, CONTAINS, IMPLEMENTS, TESTED_BY) from 20+ languages including Python, JavaScript, TypeScript, Go, Rust, Java, C/C++, Ruby, and PHP.

Storage

  • Database: .gauntlet/graph.db (SQLite with WAL mode)
  • Auto-creates .gauntlet/.gitignore to prevent commits
  • Incremental updates use SHA-256 hashing to skip unchanged files