@magic5644/graph-it-live 1.9.1 → 1.9.3
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 +2 -0
- package/dist/graph-it.js +499 -345
- package/dist/mcpServer.mjs +89 -64
- package/dist/mcpWorker.js +188 -163
- package/docs/CLI.md +71 -0
- package/docs/README.md +5 -2
- package/package.json +12 -9
package/docs/CLI.md
CHANGED
|
@@ -11,6 +11,7 @@ The `graph-it` CLI gives you full access to the dependency analysis engine of Gr
|
|
|
11
11
|
- [Global Options](#global-options)
|
|
12
12
|
- [Output Formats](#output-formats)
|
|
13
13
|
- [Commands](#commands)
|
|
14
|
+
- [graph-it (no arguments)](#graph-it-no-arguments)
|
|
14
15
|
- [scan](#scan)
|
|
15
16
|
- [summary](#summary)
|
|
16
17
|
- [explain](#explain)
|
|
@@ -146,6 +147,76 @@ graph-it summary --format toon # → feed to an LLM
|
|
|
146
147
|
|
|
147
148
|
## Commands
|
|
148
149
|
|
|
150
|
+
### graph-it (no arguments)
|
|
151
|
+
|
|
152
|
+
Launches interactive mode when invoked without a command in a TTY session.
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
graph-it [options]
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Behavior:**
|
|
159
|
+
|
|
160
|
+
- If `stdin` is a TTY, starts the interactive REPL.
|
|
161
|
+
- If `stdin` is not a TTY, interactive mode is not started. Use direct commands such as `graph-it summary`, `graph-it trace`, or `graph-it check`.
|
|
162
|
+
- REPL session default output format is `text` unless changed with `/format`.
|
|
163
|
+
|
|
164
|
+
#### REPL slash commands
|
|
165
|
+
|
|
166
|
+
| Command | Description |
|
|
167
|
+
|--------|-------------|
|
|
168
|
+
| `/trace` | Run trace flow for a selected file and optional symbol |
|
|
169
|
+
| `/path` | Set session workspace scope (directory) |
|
|
170
|
+
| `/file` | Set active file context for context-aware commands |
|
|
171
|
+
| `/check-dependencies` | Check incoming and outgoing dependencies |
|
|
172
|
+
| `/cycles` | List confirmed dependency cycles for a file |
|
|
173
|
+
| `/summary` | Summarize current file context or workspace |
|
|
174
|
+
| `/architecture` | Build workspace architecture graph |
|
|
175
|
+
| `/check` | Find unused exports |
|
|
176
|
+
| `/format` | Set preferred output format for the session |
|
|
177
|
+
| `/command` | Run a raw CLI command line inside REPL |
|
|
178
|
+
| `/help` | Show REPL command help |
|
|
179
|
+
| `/quit` | Exit interactive mode |
|
|
180
|
+
|
|
181
|
+
#### Post-result actions
|
|
182
|
+
|
|
183
|
+
After each result, the REPL supports contextual actions:
|
|
184
|
+
|
|
185
|
+
- drill-down into current file/symbol context
|
|
186
|
+
- export current structured result in another format
|
|
187
|
+
- save current output to file
|
|
188
|
+
- set default session format
|
|
189
|
+
- run context-aware follow-up actions (for example dependency, cycle, trace, dead-code, or architecture follow-ups)
|
|
190
|
+
|
|
191
|
+
#### Session state
|
|
192
|
+
|
|
193
|
+
REPL session state is in-memory for the current invocation and tracks:
|
|
194
|
+
|
|
195
|
+
- `workspaceRoot`
|
|
196
|
+
- `lastFile`
|
|
197
|
+
- `lastSymbol`
|
|
198
|
+
- `lastResult`
|
|
199
|
+
- `lastCommandLine`
|
|
200
|
+
- `preferredFormat`
|
|
201
|
+
- `recentFiles` (max 5, newest first)
|
|
202
|
+
- `tipCounter`
|
|
203
|
+
|
|
204
|
+
#### Tips
|
|
205
|
+
|
|
206
|
+
The REPL tip system includes:
|
|
207
|
+
|
|
208
|
+
- general rotating tips
|
|
209
|
+
- command-step tips (for example trace/check-dependencies/cycles/result steps)
|
|
210
|
+
- persona-tagged tips (role-oriented hints)
|
|
211
|
+
|
|
212
|
+
#### Save path safety
|
|
213
|
+
|
|
214
|
+
When saving from REPL:
|
|
215
|
+
|
|
216
|
+
- writes are restricted to paths inside the workspace root
|
|
217
|
+
- path checks are enforced using resolved/real paths
|
|
218
|
+
- symlink targets are refused for overwrite
|
|
219
|
+
|
|
149
220
|
### scan
|
|
150
221
|
|
|
151
222
|
Index (or re-index) the workspace. Must be run before other analysis commands on first use; subsequent commands index automatically if needed.
|
package/docs/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Graph-It-Live Documentation
|
|
2
2
|
|
|
3
|
-
**Last Updated:** 2026-
|
|
3
|
+
**Last Updated:** 2026-05-09
|
|
4
4
|
|
|
5
5
|
This directory is the single source of truth for technical documentation. It is organized into three sections.
|
|
6
6
|
|
|
@@ -13,6 +13,7 @@ Documentation describing how the system is built and how the layers interact.
|
|
|
13
13
|
| File | Description |
|
|
14
14
|
|------|-------------|
|
|
15
15
|
| [architecture/codemaps/architecture.md](architecture/codemaps/architecture.md) | System overview — layers, services, file count |
|
|
16
|
+
| [architecture/codemaps/class-hierarchy.md](architecture/codemaps/class-hierarchy.md) | **Class hierarchy diagram** — core interfaces, 45+ classes, design patterns |
|
|
16
17
|
| [architecture/codemaps/backend.md](architecture/codemaps/backend.md) | Analyzer, MCP, and extension services |
|
|
17
18
|
| [architecture/codemaps/cli.md](architecture/codemaps/cli.md) | Standalone CLI layer (`graph-it`) |
|
|
18
19
|
| [architecture/codemaps/frontend.md](architecture/codemaps/frontend.md) | Webview / React components |
|
|
@@ -22,6 +23,8 @@ Documentation describing how the system is built and how the layers interact.
|
|
|
22
23
|
| [architecture/MCP_DEBUG_LOGGING_SECURITY.md](architecture/MCP_DEBUG_LOGGING_SECURITY.md) | MCP debug logging — opt-in, rotation, privacy |
|
|
23
24
|
| [architecture/PERFORMANCE_OPTIMIZATIONS.md](architecture/PERFORMANCE_OPTIMIZATIONS.md) | Performance patterns: batch processing, concurrency, caching |
|
|
24
25
|
| [architecture/graph-it-live-architecture.svg](architecture/graph-it-live-architecture.svg) | Architecture diagram (SVG) |
|
|
26
|
+
| [architecture/graph-it-live-architecture-diagram.html](architecture/graph-it-live-architecture-diagram.html) | Architecture diagram (interactive HTML) |
|
|
27
|
+
| [architecture/graph-it-live-runtime-flows-diagram.html](architecture/graph-it-live-runtime-flows-diagram.html) | Runtime flows diagram — extension ↔ analyzer ↔ MCP ↔ CLI |
|
|
25
28
|
|
|
26
29
|
---
|
|
27
30
|
|
|
@@ -31,7 +34,7 @@ Standards and guidelines for contributors.
|
|
|
31
34
|
|
|
32
35
|
| File | Description |
|
|
33
36
|
|------|-------------|
|
|
34
|
-
| [CLI.md](CLI.md) | **CLI reference** —
|
|
37
|
+
| [CLI.md](CLI.md) | **CLI + interactive REPL reference** — commands, options, output formats, tools, and interactive workflows |
|
|
35
38
|
| [development/CODING_STANDARDS.md](development/CODING_STANDARDS.md) | TypeScript conventions, layer rules, React patterns |
|
|
36
39
|
| [development/CROSS_PLATFORM_TESTING.md](development/CROSS_PLATFORM_TESTING.md) | Cross-platform path handling and test guidelines |
|
|
37
40
|
| [development/ADR-001-package-manager-choice.md](development/ADR-001-package-manager-choice.md) | ADR: npm vs Yarn decision |
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@magic5644/graph-it-live",
|
|
3
3
|
"displayName": "Graph-It-Live",
|
|
4
4
|
"description": "AI-first dependency graph & code intelligence for VS Code. Visualize file imports, symbol call hierarchies, and cross-file call graphs. Detect circular dependencies, dead code, and breaking changes. Built-in MCP Server with 21 tools for GitHub Copilot, Cursor, Claude, Windsurf, and Antigravity. Generate AI-friendly codemaps. TypeScript, JavaScript, C#, Go, Java, Python, Rust, Vue, Svelte, GraphQL.",
|
|
5
|
-
"version": "1.9.
|
|
5
|
+
"version": "1.9.3",
|
|
6
6
|
"publisher": "magic5644",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "magic56"
|
|
@@ -1104,7 +1104,8 @@
|
|
|
1104
1104
|
"test:cli:e2e": "bash scripts/test-cli-e2e.sh",
|
|
1105
1105
|
"lint": "eslint src",
|
|
1106
1106
|
"lint:fix": "eslint src --fix",
|
|
1107
|
-
"check:types": "
|
|
1107
|
+
"check:types": "npm run check:types:clean",
|
|
1108
|
+
"check:types:clean": "node -e \"require('node:fs').rmSync('out', { recursive: true, force: true });\" && tsc --noEmit",
|
|
1108
1109
|
"audit": "npm audit",
|
|
1109
1110
|
"audit:fix": "npm audit fix",
|
|
1110
1111
|
"package": "vsce package",
|
|
@@ -1114,18 +1115,20 @@
|
|
|
1114
1115
|
},
|
|
1115
1116
|
"dependencies": {
|
|
1116
1117
|
"@dagrejs/dagre": "^2.0.4",
|
|
1118
|
+
"@inquirer/core": "^11.1.10",
|
|
1119
|
+
"@inquirer/prompts": "^8.4.3",
|
|
1117
1120
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
1118
1121
|
"chokidar": "^5.0.0",
|
|
1119
|
-
"cytoscape": "^3.33.
|
|
1122
|
+
"cytoscape": "^3.33.3",
|
|
1120
1123
|
"cytoscape-fcose": "^2.2.0",
|
|
1121
|
-
"react": "^19.2.
|
|
1122
|
-
"react-dom": "^19.2.
|
|
1124
|
+
"react": "^19.2.6",
|
|
1125
|
+
"react-dom": "^19.2.6",
|
|
1123
1126
|
"reactflow": "^11.11.4",
|
|
1124
1127
|
"sql.js": "^1.14.1",
|
|
1125
1128
|
"tree-sitter-wasms": "^0.1.13",
|
|
1126
1129
|
"ts-morph": "^27.0.2",
|
|
1127
1130
|
"web-tree-sitter": "^0.26.8",
|
|
1128
|
-
"zod": "^4.3
|
|
1131
|
+
"zod": "^4.4.3"
|
|
1129
1132
|
},
|
|
1130
1133
|
"devDependencies": {
|
|
1131
1134
|
"@eslint/js": "^10.0.1",
|
|
@@ -1141,13 +1144,13 @@
|
|
|
1141
1144
|
"@vscode/vsce": "^3.9.1",
|
|
1142
1145
|
"esbuild": "^0.27.7",
|
|
1143
1146
|
"esbuild-css-modules-plugin": "^3.1.5",
|
|
1144
|
-
"eslint": "^10.
|
|
1147
|
+
"eslint": "^10.3.0",
|
|
1145
1148
|
"fast-check": "^4.7.0",
|
|
1146
1149
|
"glob": "^13.0.6",
|
|
1147
|
-
"globals": "^17.
|
|
1150
|
+
"globals": "^17.6.0",
|
|
1148
1151
|
"mocha": "^11.7.5",
|
|
1149
1152
|
"typescript": "^6.0.3",
|
|
1150
|
-
"typescript-eslint": "^8.59.
|
|
1153
|
+
"typescript-eslint": "^8.59.2",
|
|
1151
1154
|
"vitest": "^4.1.5"
|
|
1152
1155
|
},
|
|
1153
1156
|
"overrides": {
|