Graph-It-Live analyzes imports, symbols, calls, cycles, unused exports, and change impact. Use it as a VS Code extension, a standalone CLI, or an MCP/native tool provider for GitHub Copilot and other AI clients. Analysis runs locally and returns evidence from your codebase.
- What it does
- Quick start
- Features
- Standalone CLI
- AI integrations
- Configuration
- CI review gate
- Supported languages
- Documentation
- Development
- License
Graph-It-Live provides three views of a codebase:
| View | Answers | Analysis layer |
|---|---|---|
| File graph | Which files import this file? What depends on this module? | Regex and AST parsing |
| Symbol view | Which functions and classes call each other in this file? | AST analysis |
| Live call graph | Which symbols call each other across files? | Tree-sitter and SQLite |
Use the same graph data to navigate code, review refactors, generate codemaps, and give AI assistants focused context instead of entire source files.
Requirements: VS Code 1.96 or later. Install from the VS Code Marketplace or Open VSX.
- Open a project.
- Open the Graph-It-Live view from the Activity Bar.
- Run Graph-It-Live: Show Dependency Graph from the Command Palette.
- Click a file to open it, double-click it for the Symbol View, or use Show Call Graph for cross-file calls.
Supported projects include TypeScript, JavaScript, Python, Rust, C#, Go, Java, Vue, Svelte, and GraphQL.
| Goal | Action |
|---|---|
| Explore imports | Open the dependency graph and expand a file node |
| Inspect functions | Switch to Symbol View or double-click a file |
| Find callers | Open Show Call Graph with a symbol selected |
| Find reverse dependencies | Use Show Reverse Dependencies |
| Hide unused imports | Enable Filter Unused Dependencies |
| Refresh analysis | Run Refresh Graph or Force Graph-It-Live re-index |
- Visualize file-to-file imports across a workspace.
- Detect circular dependencies and highlight cycles.
- Expand and collapse nodes as you explore.
- Open files directly from graph nodes.
- Find reverse dependencies with an indexed lookup.
Drill into TypeScript, JavaScript, Python, or Rust files to see functions, classes, variables, outgoing calls, incoming callers, and recursive calls. Click a symbol to navigate to its definition.
The Live Call Graph shows cross-file symbol relationships in a Cytoscape.js panel.
- Expand callers and callees with a depth from 1 to 5.
- Group symbols by folder.
- Number calls in invocation order.
- Highlight self-recursion and mutual recursion.
- Filter by symbol type or folder.
- Refresh automatically after file saves.
The Live Call Graph supports TypeScript, JavaScript, Vue, Svelte, Python, Rust, C#, Go, and Java. C#, Go, and Java are supported in the file graph and Live Call Graph; Symbol View support is currently limited to TypeScript, JavaScript, Python, and Rust.
- Hide or dim unused dependencies.
- Detect unused exported symbols.
- Trace execution from a function or symbol.
- Identify callers affected by a signature change.
- Generate a codemap with exports, internals, dependencies, dependents, and call flow.
Use the same analysis engine without VS Code. Install it globally:
npm install -g @magic5644/graph-it-liveOr run it with npx:
npx @magic5644/graph-it-live scanCommon commands:
graph-it scan Index the workspace
graph-it summary Show a workspace overview
graph-it summary <file> Generate a file codemap
graph-it trace <file#Symbol> Trace execution from a symbol
graph-it explain <file> Explain intra-file call flow
graph-it path <file> Show a dependency path
graph-it check [path] Find unused exported symbols
graph-it query "<question>" Ask a natural-language graph question
graph-it context "<question>" Retrieve bounded graph context
graph-it wiki Generate a navigable Markdown wiki
graph-it serve Start the MCP stdio server
graph-it export [path] Export the graph as HTML
graph-it --help Show all commands and options
Analysis commands support --format json|toon|markdown. trace and path also support --format mermaid. Use --workspace <path> or -w to analyze a project other than the current directory.
See the complete CLI reference, including installation troubleshooting, REPL commands, output formats, and tool details.
graph-it context combines imports, symbols, calls, tests, impact, paths, hubs, and communities in one bounded response. It supports search, neighbors, path, impact, refactor, and overview modes.
graph-it context "what calls the request handler" --scope 'src/**' --format toon
graph-it context --mode path --from src/api.ts#handle --to src/db.ts#query
graph-it context --mode impact --seeds src/api.ts#handle --depth 3 --format jsonUse --detail compact and --token-budget for agent-oriented responses. See the TOON format specification for the output format and measurement protocol.
Graph-It-Live exposes local graph analysis to GitHub Copilot, Claude, Cursor, Windsurf, Antigravity, and other MCP-compatible clients.
When the extension is installed, use these tools in Copilot Agent mode without configuring MCP:
| Tool group | Capabilities |
|---|---|
| Navigation | Dependencies, reverse dependencies, imports, module resolution, workspace index status |
| Symbols | Symbol graphs, callers, dependents, execution traces |
| Refactoring | Breaking changes, impact analysis, unused symbols, dead-code scans |
| Context | File logic, codemaps, unified graph context, natural-language graph queries |
| Call graph | Cross-file caller/callee queries and neighbourhood expansion |
The graph-context tool is available as #graphContext. Other native references include #graphDeps, #graphFindRefs, #graphCallers, #graphImpact, #graphCodemap, #graphTrace, #graphDeadCode, and #graphQuery.
The MCP server exposes 27 graph-analysis tools. Enable it in VS Code with graph-it-live.enableMcpServer, or start it from the CLI:
graph-it serveFor VS Code, add .vscode/mcp.json:
{
"servers": {
"graph-it-live": {
"type": "stdio",
"command": "graph-it",
"args": ["serve"],
"env": {
"WORKSPACE_ROOT": "${workspaceFolder}"
}
}
}
}For Cursor, use .cursor/mcp.json with the same server definition under mcpServers instead of servers. The same graph-it serve command works with Claude Desktop, Claude Code, Windsurf, and Antigravity. See the CLI/MCP documentation for client-specific configuration and environment variables.
For Codex CLI:
codex mcp add graph-it-live --env WORKSPACE_ROOT=/path/to/project -- graph-it serveThe plugins/graph-it-live/ directory is the portable Agent Plugin package.
It bundles the MCP server and four skills: graph-it-live, onboarding-express, dead-code-hunter,
and pr-review. Install it with the client you use:
From Claude Code, add the repository marketplace and install the plugin:
claude plugin marketplace add magic5644/Graph-It-Live
/plugin install graph-it-live@graph-it-live
For a local checkout, start a session with claude --plugin-dir ./plugins/graph-it-live.
copilot plugin marketplace add magic5644/Graph-It-Live
copilot plugin install graph-it-live@graph-it-live
- Open the Command Palette.
- Run Chat: Install Plugin From Source.
- Select
plugins/graph-it-live/.
The VS Code extension itself remains available from the VS Code Marketplace and Open VSX.
Open the Plugins panel, choose Install from local source, and select
plugins/graph-it-live/.
Add the repository's Codex marketplace catalog to a configured
plugin marketplace, then open /plugins in Codex and install Graph-It-Live.
These clients can use the MCP server directly. Add this server entry to the client's MCP configuration:
{
"graph-it-live": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@magic5644/graph-it-live@latest", "serve"]
}
}Use the client's MCP configuration file and its expected top-level key (servers or mcpServers).
See the MCP server instructions for ready-to-copy VS Code, Cursor, and Codex examples.
The repository also includes marketplace catalogs for Claude Code
and Codex. The MCP entry resolves
@magic5644/graph-it-live@latest, keeping the CLI and MCP server in the same npm release; a workflow
synchronizes plugin and marketplace versions after each npm publish.
Install the Graph-It-Live skill for an AI agent:
npx skills add magic5644/skills/graph-it-liveThe skill documents graph queries, codemaps, impact analysis, dead-code detection, and safe refactoring workflows.
Set these options in VS Code settings:
| Setting | Default | Purpose |
|---|---|---|
graph-it-live.performanceProfile |
default |
Select default, low-memory, high-performance, or custom |
graph-it-live.enableMcpServer |
false |
Enable the built-in MCP server |
graph-it-live.maxDepth |
50 |
Limit dependency traversal depth |
graph-it-live.excludeNodeModules |
true |
Exclude dependencies from node_modules |
graph-it-live.enableBackgroundIndexing |
true |
Build reverse-dependency indexes in the background |
graph-it-live.unusedDependencyMode |
hide |
Hide or dim unused dependencies |
graph-it-live.preIndexCallGraph |
true |
Pre-index the Live Call Graph |
graph-it-live.symbolViewLayout |
hierarchical |
Select hierarchical, force-directed, or radial |
For concurrency, cache, persistence, logging, and unused-analysis settings, see the development guide.
The graph-it review-pr command performs a deterministic local Git diff review before CI. It compares exported TypeScript and JavaScript signatures, follows bounded dependent-symbol impact, and reports cycle evidence, unused exports, test candidates, and consumer standing. Consumers are classified as updated in the diff, covered by a test path, or unverified. The score reflects the highest-risk changed symbol; a high risk is report data, not a failing exit status.
By default, --base <ref> is compared with the current working tree, including staged and unstaged file contents. Pass --head <ref> to compare two Git refs. Use --depth and --max-files to bound impact traversal and changed-file analysis. See the review-pr CLI reference for scoring thresholds, output formats, limitations, and examples.
The reusable GitHub Action is informational by default. Set fail-on-risk: high or critical to gate a pull request. Add it to a consumer workflow with docs/examples/graph-it-review-gate.yml.
Use pull_request, not pull_request_target, for untrusted pull requests. The action analyzes the consumer checkout in an isolated temporary directory and sends only a sanitized report to GitHub.
| Language | File graph | Symbol View | Live Call Graph |
|---|---|---|---|
| TypeScript / JavaScript | Yes | Yes | Yes |
| Vue / Svelte | Yes | Yes | Yes |
| Python | Yes | Yes | Yes |
| Rust | Yes | Yes | Yes |
| C# / Go / Java | Yes | No | Yes |
| GraphQL | Yes | No | No |
- CLI reference — commands, REPL, output formats, and MCP tools
- Development guide — setup, builds, tests, and WASM architecture
- Contributing guide — contribution workflow and conventions
- System architecture
- Class hierarchy
- TOON format
- Coding standards
- Cross-platform testing
- Performance optimizations
- Documentation index
Requirements: Node.js 22 or later and npm.
git clone https://github.com/magic5644/Graph-It-Live.git
cd Graph-It-Live
npm install
npm run buildPress F5 in VS Code to launch the Extension Development Host.
| Command | Purpose |
|---|---|
npm run build |
Build the extension and copy WASM assets |
npm test |
Run unit tests |
npm run test:cli |
Run CLI tests |
npm run test:vscode |
Run VS Code E2E tests |
npm run lint |
Run ESLint |
npm run check:types |
Run strict TypeScript checks |
npm run package |
Build the VSIX package |
npm run package:verify |
Verify package contents |
See DEVELOPMENT.md for the full project structure, test strategy, WASM details, and troubleshooting.
MIT. See LICENSE.
Language icons are provided by SuperTinyIcons under the CC0-1.0 license.





