@magic5644/graph-it-live 1.0.1 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -18
- package/dist/astWorker.js +1 -1
- package/dist/graph-it.js +196 -176
- package/dist/indexerWorker.js +140 -140
- package/dist/mcpWorker.js +141 -141
- package/dist/queries/csharp.scm +95 -0
- package/dist/queries/go.scm +70 -0
- package/dist/queries/java.scm +71 -0
- package/dist/wasm/tree-sitter-c_sharp.wasm +0 -0
- package/dist/wasm/tree-sitter-go.wasm +0 -0
- package/dist/wasm/tree-sitter-java.wasm +0 -0
- package/package.json +22 -19
package/README.md
CHANGED
|
@@ -9,13 +9,14 @@
|
|
|
9
9
|
|
|
10
10
|
</div>
|
|
11
11
|
|
|
12
|
-
[](https://marketplace.visualstudio.com/items?itemName=magic5644.graph-it-live)
|
|
13
|
+
[](https://marketplace.visualstudio.com/items?itemName=magic5644.graph-it-live)
|
|
13
14
|
[](https://open-vsx.org/extension/magic5644/graph-it-live)
|
|
15
|
+
[](https://open-vsx.org/extension/magic5644/graph-it-live)
|
|
16
|
+
[](https://www.npmjs.com/package/@magic5644/graph-it-live)
|
|
14
17
|
[](https://modelcontextprotocol.io)
|
|
15
18
|
[](https://github.com/magic5644/Graph-It-Live/blob/main/LICENSE)
|
|
16
19
|
[](https://github.com/magic5644/Graph-It-Live)
|
|
17
|
-
[](https://marketplace.visualstudio.com/items?itemName=magic5644.graph-it-live)
|
|
18
|
-
[](https://open-vsx.org/extension/magic5644/graph-it-live)
|
|
19
20
|
|
|
20
21
|
---
|
|
21
22
|
|
|
@@ -29,7 +30,7 @@ Built for **architects** who need the big picture and **developers** who need to
|
|
|
29
30
|
| **Symbol View** | Function/class call hierarchy inside a file | AST (ts-morph) |
|
|
30
31
|
| **Live Call Graph** | Cross-file symbol call relationships | Tree-sitter + SQLite |
|
|
31
32
|
|
|
32
|
-
All three layers are also exposed to AI via a **
|
|
33
|
+
All three layers are also exposed to AI via a **21-tool MCP server**, so your assistant can answer architecture questions with zero hallucination.
|
|
33
34
|
|
|
34
35
|
<div align="center">
|
|
35
36
|
<img src="media/demo-plugin-graph-it-live.gif" alt="Graph-It-Live Demo" width="800"/>
|
|
@@ -51,18 +52,49 @@ All three layers are also exposed to AI via a **20-tool MCP server**, so your as
|
|
|
51
52
|
|
|
52
53
|
## Table of Contents
|
|
53
54
|
|
|
54
|
-
- [
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
- [
|
|
58
|
-
- [
|
|
55
|
+
- [Why Graph-It-Live?](#why-graph-it-live)
|
|
56
|
+
- [Table of Contents](#table-of-contents)
|
|
57
|
+
- [🤖 Supercharge Your AI Assistant](#-supercharge-your-ai-assistant)
|
|
58
|
+
- [What your AI can do with Graph-It-Live](#what-your-ai-can-do-with-graph-it-live)
|
|
59
|
+
- [🗺️ Codemap Generation *(New)*](#️-codemap-generation-new)
|
|
60
|
+
- [📊 File Logic Analysis *(New)*](#-file-logic-analysis-new)
|
|
61
|
+
- [👁️ Features for Humans](#️-features-for-humans)
|
|
59
62
|
- [File Dependency Graph](#file-dependency-graph)
|
|
60
63
|
- [Symbol-Level Drill-Down](#symbol-level-drill-down)
|
|
61
|
-
- [Live Call Graph](#-live-call-graph-new)
|
|
64
|
+
- [🔷 Live Call Graph *(New)*](#-live-call-graph-new)
|
|
62
65
|
- [Unused Dependency Filter](#unused-dependency-filter)
|
|
63
|
-
- [
|
|
66
|
+
- [Prerequisites](#prerequisites)
|
|
67
|
+
- [Installation](#installation)
|
|
68
|
+
- [From Marketplace](#from-marketplace)
|
|
69
|
+
- [From Open VSX Registry](#from-open-vsx-registry)
|
|
70
|
+
- [Usage](#usage)
|
|
64
71
|
- [Configuration](#configuration)
|
|
72
|
+
- [Performance Profiles](#performance-profiles)
|
|
73
|
+
- [All Settings](#all-settings)
|
|
74
|
+
- [Standalone CLI](#standalone-cli)
|
|
75
|
+
- [MCP Server (AI/LLM Integration)](#mcp-server-aillm-integration)
|
|
76
|
+
- [Setup](#setup)
|
|
77
|
+
- [Available Tools](#available-tools)
|
|
78
|
+
- [TOON Format (Token-Optimized Output)](#toon-format-token-optimized-output)
|
|
79
|
+
- [Native LM Tools (Copilot Agent Mode)](#native-lm-tools-copilot-agent-mode)
|
|
80
|
+
- [Manual MCP Server Configuration](#manual-mcp-server-configuration)
|
|
81
|
+
- [VS Code / VS Code Insiders](#vs-code--vs-code-insiders)
|
|
82
|
+
- [Cursor](#cursor)
|
|
83
|
+
- [Claude Desktop](#claude-desktop)
|
|
84
|
+
- [Development / Local Testing](#development--local-testing)
|
|
85
|
+
- [Windsurf](#windsurf)
|
|
86
|
+
- [Antigravity](#antigravity)
|
|
65
87
|
- [Development](#development)
|
|
88
|
+
- [Quick Start](#quick-start)
|
|
89
|
+
- [Project Structure](#project-structure)
|
|
90
|
+
- [Build \& Test Commands](#build--test-commands)
|
|
91
|
+
- [WASM Architecture](#wasm-architecture)
|
|
92
|
+
- [Architecture](#architecture)
|
|
93
|
+
- [Testing](#testing)
|
|
94
|
+
- [Troubleshooting](#troubleshooting)
|
|
95
|
+
- [License](#license)
|
|
96
|
+
- [Acknowledgements](#acknowledgements)
|
|
97
|
+
- [Author](#author)
|
|
66
98
|
|
|
67
99
|
---
|
|
68
100
|
|
|
@@ -155,7 +187,7 @@ Entry points: initializeServer(), main()
|
|
|
155
187
|
|
|
156
188
|
The core of Graph-It-Live: a **real-time interactive graph** showing file-to-file import relationships across your project.
|
|
157
189
|
|
|
158
|
-
- **Multi-language:** TypeScript, JavaScript, Python, Rust, Vue, Svelte, GraphQL
|
|
190
|
+
- **Multi-language:** TypeScript, JavaScript, Python, Rust, C#, Go, Java, Vue, Svelte, GraphQL
|
|
159
191
|
- **Cycle detection:** Circular dependencies highlighted with red dashed lines and badges
|
|
160
192
|
- **Smart navigation:** Click any node to open the file; expand/collapse dependencies dynamically
|
|
161
193
|
- **Reverse lookup:** Right-click → "Find Referencing Files" for instant reverse dependency discovery
|
|
@@ -183,11 +215,13 @@ Go beyond file dependencies — **drill into any file to visualize function-to-f
|
|
|
183
215
|
3. **Click-to-navigate:** Click any symbol to jump to its definition
|
|
184
216
|
4. **Breadcrumb nav:** `Project > folder > file.ts` — one click to return to file view
|
|
185
217
|
|
|
186
|
-
**Multi-language support:**
|
|
218
|
+
**Multi-language support (symbol drill-down):**
|
|
187
219
|
- TypeScript / JavaScript (ts-morph AST)
|
|
188
220
|
- Python (tree-sitter WASM)
|
|
189
221
|
- Rust (tree-sitter WASM)
|
|
190
222
|
|
|
223
|
+
> **Note:** C#, Go, and Java are supported at the **file dependency graph level** (L1) and the **Live Call Graph** level (L3). Symbol drill-down (intra-file view, L2) is not yet available for these languages.
|
|
224
|
+
|
|
191
225
|
**Benefits:**
|
|
192
226
|
- **Understand code flow** without reading every line
|
|
193
227
|
- **See who calls your exports** — incoming dependencies from other files
|
|
@@ -232,6 +266,14 @@ Unlike the Symbol View (which shows relationships *within* a single file via AST
|
|
|
232
266
|
<p><em>Live Call Graph — cross-file symbol relationships with cycle detection and folder grouping</em></p>
|
|
233
267
|
</div>
|
|
234
268
|
|
|
269
|
+
**Language support (Live Call Graph):**
|
|
270
|
+
- TypeScript / JavaScript (including Vue, Svelte)
|
|
271
|
+
- Python
|
|
272
|
+
- Rust
|
|
273
|
+
- C# *(New)*
|
|
274
|
+
- Go *(New)*
|
|
275
|
+
- Java *(New)*
|
|
276
|
+
|
|
235
277
|
<!-- TODO: Add a short video/gif showing the call graph in action (indexing → symbol click → depth change → live refresh on save) -->
|
|
236
278
|
|
|
237
279
|
### Unused Dependency Filter
|
|
@@ -272,7 +314,7 @@ Also available on the [Open VSX Registry](https://open-vsx.org/extension/magic56
|
|
|
272
314
|
|
|
273
315
|
## Usage
|
|
274
316
|
|
|
275
|
-
1. **Open a Project** — TypeScript, JavaScript, Python, Rust, Vue, Svelte, or GraphQL
|
|
317
|
+
1. **Open a Project** — TypeScript, JavaScript, Python, Rust, C#, Go, Java, Vue, Svelte, or GraphQL
|
|
276
318
|
2. **Open the Graph** — Click the Graph-It-Live icon in the Activity Bar, or run `Graph-It-Live: Show Dependency Graph`
|
|
277
319
|
3. **Interact:**
|
|
278
320
|
- **Click** a node → open the file
|
|
@@ -355,9 +397,10 @@ graph-it trace src/index.ts#main # Trace execution flow
|
|
|
355
397
|
graph-it explain src/utils.ts # File logic analysis
|
|
356
398
|
graph-it path src/index.ts # Dependency graph from file
|
|
357
399
|
graph-it check src/api.ts # Unused exported symbols
|
|
358
|
-
graph-it serve # Launch MCP stdio server
|
|
359
|
-
graph-it tool --list # List all
|
|
400
|
+
graph-it serve # Launch MCP stdio server (for AI clients)
|
|
401
|
+
graph-it tool --list # List all 21 MCP tools
|
|
360
402
|
graph-it tool analyze_dependencies --filePath=/abs/path/file.ts
|
|
403
|
+
graph-it update # Update graph-it to the latest version
|
|
361
404
|
```
|
|
362
405
|
|
|
363
406
|
**Without installing globally:**
|
|
@@ -367,6 +410,28 @@ npx @magic5644/graph-it-live scan
|
|
|
367
410
|
npx @magic5644/graph-it-live serve
|
|
368
411
|
```
|
|
369
412
|
|
|
413
|
+
**Output formats:** All analysis commands support `--format json|toon|markdown`. Use `toon` for AI consumption (30–60% token savings). The `trace` and `path` commands additionally support `--format mermaid` to generate a Mermaid diagram of the call or dependency flow:
|
|
414
|
+
|
|
415
|
+
```bash
|
|
416
|
+
graph-it summary src/api.ts --format toon
|
|
417
|
+
graph-it path src/index.ts --format markdown
|
|
418
|
+
graph-it path src/index.ts --format mermaid # → Mermaid flowchart of dependency graph
|
|
419
|
+
graph-it trace src/index.ts#main --format mermaid # → Mermaid sequence/flowchart of execution trace
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
Example `--format mermaid` output for `graph-it path src/index.ts`:
|
|
423
|
+
|
|
424
|
+
```mermaid
|
|
425
|
+
graph LR
|
|
426
|
+
src/index.ts --> src/app.ts
|
|
427
|
+
src/app.ts --> src/router.ts
|
|
428
|
+
src/app.ts --> src/db.ts
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
This output can be pasted directly into any Markdown renderer (GitHub, Notion, VS Code Preview, etc.) or piped to a diagramming tool.
|
|
432
|
+
|
|
433
|
+
**Use as MCP server (no VS Code):** Run `graph-it serve` and point your AI client at it — see [Manual MCP Server Configuration](#manual-mcp-server-configuration).
|
|
434
|
+
|
|
370
435
|
---
|
|
371
436
|
|
|
372
437
|
## MCP Server (AI/LLM Integration)
|
|
@@ -375,10 +440,18 @@ Graph-It-Live includes an optional **MCP server** that exposes its full analysis
|
|
|
375
440
|
|
|
376
441
|
### Setup
|
|
377
442
|
|
|
443
|
+
**Option A — VS Code extension:**
|
|
444
|
+
|
|
378
445
|
1. Set `graph-it-live.enableMcpServer` to `true` in VS Code settings
|
|
379
446
|
2. The server starts automatically when the extension activates
|
|
380
447
|
3. Your AI assistant detects the tools via MCP auto-discovery
|
|
381
448
|
|
|
449
|
+
**Option B — Standalone CLI (no VS Code required):**
|
|
450
|
+
|
|
451
|
+
1. Install: `npm install -g @magic5644/graph-it-live`
|
|
452
|
+
2. Run `graph-it serve` — starts an MCP stdio server pointing at your current directory
|
|
453
|
+
3. Configure your AI client to invoke `graph-it serve` as the MCP server command (see [Manual MCP Server Configuration](#manual-mcp-server-configuration))
|
|
454
|
+
|
|
382
455
|
<div align="center">
|
|
383
456
|
<img src="media/enable-mcp-server-tools.gif" alt="Enable MCP Server in VS Code Settings" width="800"/>
|
|
384
457
|
</div>
|
|
@@ -431,7 +504,7 @@ All tools support an optional `format` parameter to reduce token consumption:
|
|
|
431
504
|
| `toon` | Compact Token-Oriented Object Notation | 30-60% |
|
|
432
505
|
| `markdown` | JSON wrapped in markdown code blocks | — |
|
|
433
506
|
|
|
434
|
-
See [TOON Format Documentation](./docs/TOON_FORMAT.md) for full specifications.
|
|
507
|
+
See [TOON Format Documentation](./docs/architecture/TOON_FORMAT.md) for full specifications.
|
|
435
508
|
|
|
436
509
|
### Native LM Tools (Copilot Agent Mode)
|
|
437
510
|
|
|
@@ -608,7 +681,11 @@ Create or edit `.antigravity/mcp.json` in your workspace or configure globally:
|
|
|
608
681
|
For comprehensive development instructions, see:
|
|
609
682
|
|
|
610
683
|
- **[DEVELOPMENT.md](DEVELOPMENT.md)** — Setup, build, testing, WASM architecture
|
|
611
|
-
- **[CONTRIBUTING.md](CONTRIBUTING.md)** — Contribution guidelines
|
|
684
|
+
- **[CONTRIBUTING.md](CONTRIBUTING.md)** — Contribution guidelines, branch naming, commit conventions
|
|
685
|
+
- **[docs/development/CODING_STANDARDS.md](docs/development/CODING_STANDARDS.md)** — TypeScript conventions and code style rules
|
|
686
|
+
- **[docs/development/CROSS_PLATFORM_TESTING.md](docs/development/CROSS_PLATFORM_TESTING.md)** — Cross-platform compatibility requirements (Windows/Linux/macOS)
|
|
687
|
+
- **[docs/architecture/TOON_FORMAT.md](docs/architecture/TOON_FORMAT.md)** — Token-Optimized Output format specification for AI tools
|
|
688
|
+
- **[docs/architecture/PERFORMANCE_OPTIMIZATIONS.md](docs/architecture/PERFORMANCE_OPTIMIZATIONS.md)** — Performance tuning and caching strategies
|
|
612
689
|
|
|
613
690
|
### Quick Start
|
|
614
691
|
|
|
@@ -646,8 +723,10 @@ Graph-It-Live/
|
|
|
646
723
|
| Command | Description |
|
|
647
724
|
|---------|-------------|
|
|
648
725
|
| `npm run build` | Bundle via esbuild + copy WASM files |
|
|
726
|
+
| `npm run build:cli` | Build standalone CLI only (`dist/graph-it.js`) |
|
|
649
727
|
| `npm run watch` | Rebuild on change |
|
|
650
728
|
| `npm test` | Run unit tests (Vitest, mocked parsers) |
|
|
729
|
+
| `npm run test:cli` | Run CLI unit tests |
|
|
651
730
|
| `npm run test:vscode` | E2E tests from source with real WASM |
|
|
652
731
|
| `npm run test:vscode:vsix` | E2E tests from .vsix (pre-release) |
|
|
653
732
|
| `npm run lint` | Lint TypeScript (ESLint) |
|