@optave/codegraph 2.5.0 → 2.6.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 +119 -47
- package/package.json +8 -7
- package/src/audit.js +423 -0
- package/src/batch.js +90 -0
- package/src/boundaries.js +346 -0
- package/src/branch-compare.js +568 -0
- package/src/builder.js +66 -2
- package/src/check.js +432 -0
- package/src/cli.js +375 -9
- package/src/cochange.js +5 -2
- package/src/communities.js +7 -1
- package/src/complexity.js +116 -9
- package/src/config.js +10 -0
- package/src/embedder.js +350 -38
- package/src/flow.js +4 -4
- package/src/index.js +28 -1
- package/src/manifesto.js +69 -1
- package/src/mcp.js +347 -19
- package/src/owners.js +359 -0
- package/src/paginate.js +35 -0
- package/src/queries.js +233 -19
- package/src/registry.js +6 -3
- package/src/snapshot.js +149 -0
- package/src/structure.js +5 -2
- package/src/triage.js +273 -0
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ cd your-project
|
|
|
55
55
|
codegraph build
|
|
56
56
|
```
|
|
57
57
|
|
|
58
|
-
That's it. No config files, no Docker, no JVM, no API keys, no accounts. The graph is ready to query. Add `codegraph mcp` to your AI agent's config and it has full access to your dependency graph through
|
|
58
|
+
That's it. No config files, no Docker, no JVM, no API keys, no accounts. The graph is ready to query. Add `codegraph mcp` to your AI agent's config and it has full access to your dependency graph through 30 MCP tools (31 in multi-repo mode).
|
|
59
59
|
|
|
60
60
|
### Why it matters
|
|
61
61
|
|
|
@@ -69,25 +69,33 @@ That's it. No config files, no Docker, no JVM, no API keys, no accounts. The gra
|
|
|
69
69
|
|
|
70
70
|
### Feature comparison
|
|
71
71
|
|
|
72
|
-
<sub>Comparison last verified:
|
|
72
|
+
<sub>Comparison last verified: March 2026. Full analysis: <a href="generated/COMPETITIVE_ANALYSIS.md">COMPETITIVE_ANALYSIS.md</a></sub>
|
|
73
73
|
|
|
74
74
|
| Capability | codegraph | [joern](https://github.com/joernio/joern) | [narsil-mcp](https://github.com/postrv/narsil-mcp) | [code-graph-rag](https://github.com/vitali87/code-graph-rag) | [cpg](https://github.com/Fraunhofer-AISEC/cpg) | [GitNexus](https://github.com/abhigyanpatwari/GitNexus) | [CodeMCP](https://github.com/SimplyLiz/CodeMCP) | [axon](https://github.com/harshkedia177/axon) |
|
|
75
75
|
|---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|
|
76
76
|
| Function-level analysis | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
|
77
|
-
| Multi-language | **11** | **14** | **32** |
|
|
78
|
-
| Semantic search | **Yes** | — | **Yes** | **Yes** | — | **Yes** | — |
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
|
|
|
82
|
-
|
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
77
|
+
| Multi-language | **11** | **14** | **32** | **11** | **~10** | **12** | **12** | **3** |
|
|
78
|
+
| Semantic search | **Yes** | — | **Yes** | **Yes** | — | **Yes** | — | **Yes** |
|
|
79
|
+
| Hybrid BM25 + semantic | **Yes** | — | — | — | — | **Yes** | — | **Yes** |
|
|
80
|
+
| CODEOWNERS integration | **Yes** | — | — | — | — | — | — | — |
|
|
81
|
+
| Architecture boundary rules | **Yes** | — | — | — | — | — | — | — |
|
|
82
|
+
| CI validation predicates | **Yes** | — | — | — | — | — | — | — |
|
|
83
|
+
| Composite audit command | **Yes** | — | — | — | — | — | — | — |
|
|
84
|
+
| Batch querying | **Yes** | — | — | — | — | — | — | — |
|
|
85
|
+
| Graph snapshots | **Yes** | — | — | — | — | — | — | — |
|
|
86
|
+
| MCP / AI agent support | **Yes** | — | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
|
87
|
+
| Git diff impact | **Yes** | — | — | — | — | **Yes** | **Yes** | **Yes** |
|
|
88
|
+
| Branch structural diff | **Yes** | — | — | — | — | — | — | **Yes** |
|
|
89
|
+
| Git co-change analysis | **Yes** | — | — | — | — | — | — | **Yes** |
|
|
90
|
+
| Watch mode | **Yes** | — | **Yes** | **Yes** | — | — | **Yes** | **Yes** |
|
|
91
|
+
| Dead code / role classification | **Yes** | — | **Yes** | — | — | — | **Yes** | **Yes** |
|
|
92
|
+
| Cycle detection | **Yes** | — | — | — | — | — | — | — |
|
|
93
|
+
| Incremental rebuilds | **O(changed)** | — | O(n) Merkle | — | — | — | Go only | **Yes** |
|
|
94
|
+
| Zero config | **Yes** | — | **Yes** | — | — | **Yes** | — | **Yes** |
|
|
87
95
|
| Embeddable JS library (`npm install`) | **Yes** | — | — | — | — | — | — | — |
|
|
88
|
-
| LLM-optional (works without API keys) | **Yes** | **Yes** | **Yes** |
|
|
89
|
-
| Commercial use allowed | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
|
90
|
-
| Open source | **Yes** | Yes | Yes | Yes | Yes |
|
|
96
|
+
| LLM-optional (works without API keys) | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
|
97
|
+
| Commercial use allowed | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | No | Paid | **Yes** |
|
|
98
|
+
| Open source | **Yes** | Yes | Yes | Yes | Yes | No | No | Yes |
|
|
91
99
|
|
|
92
100
|
### What makes codegraph different
|
|
93
101
|
|
|
@@ -97,10 +105,10 @@ That's it. No config files, no Docker, no JVM, no API keys, no accounts. The gra
|
|
|
97
105
|
| **🔓** | **Zero-cost core, LLM-enhanced when you want** | Full graph analysis with no API keys, no accounts, no cost. Optionally bring your own LLM provider — your code only goes where you choose |
|
|
98
106
|
| **🔬** | **Function-level, not just files** | Traces `handleAuth()` → `validateToken()` → `decryptJWT()` and shows 14 callers across 9 files break if `decryptJWT` changes |
|
|
99
107
|
| **🏷️** | **Role classification** | Every symbol auto-tagged as `entry`/`core`/`utility`/`adapter`/`dead`/`leaf` — agents instantly know what they're looking at |
|
|
100
|
-
| **🤖** | **Built for AI agents** |
|
|
108
|
+
| **🤖** | **Built for AI agents** | 30-tool [MCP server](https://modelcontextprotocol.io/) — AI assistants query your graph directly. Single-repo by default |
|
|
101
109
|
| **🌐** | **Multi-language, one CLI** | JS/TS + Python + Go + Rust + Java + C# + PHP + Ruby + HCL in a single graph |
|
|
102
110
|
| **💥** | **Git diff impact** | `codegraph diff-impact` shows changed functions, their callers, and full blast radius — enriched with historically coupled files from git co-change analysis. Ships with a GitHub Actions workflow |
|
|
103
|
-
| **🧠** | **
|
|
111
|
+
| **🧠** | **Hybrid search** | BM25 keyword + semantic embeddings fused via RRF — `hybrid` (default), `semantic`, or `keyword` mode; multi-query via `"auth; token; JWT"` |
|
|
104
112
|
|
|
105
113
|
---
|
|
106
114
|
|
|
@@ -127,6 +135,8 @@ git clone https://github.com/optave/codegraph.git
|
|
|
127
135
|
cd codegraph && npm install && npm link
|
|
128
136
|
```
|
|
129
137
|
|
|
138
|
+
> **Dev builds:** Pre-release tarballs are attached to [GitHub Releases](https://github.com/optave/codegraph/releases). Install with `npm install -g <path-to-tarball>`. Note that `npm install -g <tarball-url>` does not work because npm cannot resolve optional platform-specific dependencies from a URL — download the `.tgz` first, then install from the local file.
|
|
139
|
+
|
|
130
140
|
### For AI agents
|
|
131
141
|
|
|
132
142
|
Add codegraph to your agent's instructions (e.g. `CLAUDE.md`):
|
|
@@ -144,7 +154,7 @@ After modifying code:
|
|
|
144
154
|
Or connect directly via MCP:
|
|
145
155
|
|
|
146
156
|
```bash
|
|
147
|
-
codegraph mcp #
|
|
157
|
+
codegraph mcp # 30-tool MCP server — AI queries the graph directly
|
|
148
158
|
```
|
|
149
159
|
|
|
150
160
|
Full agent setup: [AI Agent Guide](docs/guides/ai-agent-guide.md) · [CLAUDE.md template](docs/guides/ai-agent-guide.md#claudemd-template)
|
|
@@ -170,11 +180,21 @@ Full agent setup: [AI Agent Guide](docs/guides/ai-agent-guide.md) · [CLAU
|
|
|
170
180
|
| 📤 | **Export** | DOT (Graphviz), Mermaid, and JSON graph export |
|
|
171
181
|
| 🧠 | **Semantic search** | Embeddings-powered natural language search with multi-query RRF ranking |
|
|
172
182
|
| 👀 | **Watch mode** | Incrementally update the graph as files change |
|
|
173
|
-
| 🤖 | **MCP server** |
|
|
183
|
+
| 🤖 | **MCP server** | 30-tool MCP server for AI assistants; single-repo by default, opt-in multi-repo |
|
|
174
184
|
| ⚡ | **Always fresh** | Three-tier incremental detection — sub-second rebuilds even on large codebases |
|
|
175
185
|
| 🧮 | **Complexity metrics** | Cognitive, cyclomatic, nesting depth, Halstead, and Maintainability Index per function |
|
|
176
186
|
| 🏘️ | **Community detection** | Louvain clustering to discover natural module boundaries and architectural drift |
|
|
177
187
|
| 📜 | **Manifesto rule engine** | Configurable pass/fail rules with warn/fail thresholds for CI gates (exit code 1 on fail) |
|
|
188
|
+
| 👥 | **CODEOWNERS integration** | Map graph nodes to CODEOWNERS entries — see who owns each function, ownership boundaries in `diff-impact` |
|
|
189
|
+
| 💾 | **Graph snapshots** | `snapshot save`/`restore` for instant DB backup and rollback — checkpoint before refactoring, restore without rebuilding |
|
|
190
|
+
| 🔎 | **Hybrid BM25 + semantic search** | FTS5 keyword search + embedding-based semantic search fused via Reciprocal Rank Fusion — `hybrid`, `semantic`, or `keyword` modes |
|
|
191
|
+
| 📄 | **Pagination & NDJSON streaming** | Universal `--limit`/`--offset` pagination on all MCP tools and CLI commands; `--ndjson` for newline-delimited JSON streaming |
|
|
192
|
+
| 🔀 | **Branch structural diff** | Compare code structure between two git refs — added/removed/changed symbols with transitive caller impact |
|
|
193
|
+
| 🛡️ | **Architecture boundaries** | User-defined dependency rules between modules with onion architecture preset — violations flagged in manifesto and CI |
|
|
194
|
+
| ✅ | **CI validation predicates** | `check` command with configurable gates: complexity, blast radius, cycles, boundary violations — exit code 0/1 for CI |
|
|
195
|
+
| 📋 | **Composite audit** | Single `audit` command combining explain + impact + health metrics per function — one call instead of 3-4 |
|
|
196
|
+
| 🚦 | **Triage queue** | `triage` merges connectivity, hotspots, roles, and complexity into a ranked audit priority queue |
|
|
197
|
+
| 📦 | **Batch querying** | Accept a list of targets and return all results in one JSON payload — enables multi-agent parallel dispatch |
|
|
178
198
|
|
|
179
199
|
See [docs/examples](docs/examples) for real-world CLI and MCP usage examples.
|
|
180
200
|
|
|
@@ -227,6 +247,10 @@ codegraph diff-impact # Impact of unstaged git changes
|
|
|
227
247
|
codegraph diff-impact --staged # Impact of staged changes
|
|
228
248
|
codegraph diff-impact HEAD~3 # Impact vs a specific ref
|
|
229
249
|
codegraph diff-impact main --format mermaid -T # Mermaid flowchart of blast radius
|
|
250
|
+
codegraph branch-compare main feature-branch # Structural diff between two refs
|
|
251
|
+
codegraph branch-compare main HEAD --no-tests # Symbols added/removed/changed vs main
|
|
252
|
+
codegraph branch-compare v2.4.0 v2.5.0 --json # JSON output for programmatic use
|
|
253
|
+
codegraph branch-compare main HEAD --format mermaid # Mermaid diagram of structural changes
|
|
230
254
|
```
|
|
231
255
|
|
|
232
256
|
### Co-Change Analysis
|
|
@@ -267,6 +291,56 @@ codegraph manifesto # Pass/fail rule engine (exit code 1 on fail)
|
|
|
267
291
|
codegraph manifesto -T # Exclude test files from rule evaluation
|
|
268
292
|
```
|
|
269
293
|
|
|
294
|
+
### Audit, Triage & Batch
|
|
295
|
+
|
|
296
|
+
Composite commands for risk-driven workflows and multi-agent dispatch.
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
codegraph audit <file-or-function> # Combined explain + impact + health in one report
|
|
300
|
+
codegraph audit src/queries.js -T # Audit all functions in a file
|
|
301
|
+
codegraph triage # Ranked audit priority queue (connectivity + hotspots + roles)
|
|
302
|
+
codegraph triage -T --limit 20 # Top 20 riskiest functions, excluding tests
|
|
303
|
+
codegraph batch target1 target2 ... # Batch query multiple targets in one call
|
|
304
|
+
codegraph batch --json targets.json # Batch from a JSON file
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### CI Validation
|
|
308
|
+
|
|
309
|
+
`codegraph check` provides configurable pass/fail predicates for CI gates and state machines. Exit code 0 = pass, 1 = fail.
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
codegraph check --staged # Check staged changes
|
|
313
|
+
codegraph check --no-new-cycles # Fail if staged changes introduce cycles
|
|
314
|
+
codegraph check --max-complexity 30 # Fail if any function exceeds complexity threshold
|
|
315
|
+
codegraph check --max-blast-radius 50 # Fail if blast radius exceeds limit
|
|
316
|
+
codegraph check --no-boundary-violations # Fail on architecture boundary violations
|
|
317
|
+
codegraph check main # Check current branch vs main
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### CODEOWNERS
|
|
321
|
+
|
|
322
|
+
Map graph symbols to CODEOWNERS entries. Shows who owns each function and surfaces ownership boundaries.
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
codegraph owners # Show ownership for all symbols
|
|
326
|
+
codegraph owners src/queries.js # Ownership for symbols in a specific file
|
|
327
|
+
codegraph owners --boundary # Show ownership boundaries between modules
|
|
328
|
+
codegraph owners --owner @backend # Filter by owner
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
Ownership data also enriches `diff-impact` — affected owners and suggested reviewers appear alongside the static dependency analysis.
|
|
332
|
+
|
|
333
|
+
### Snapshots
|
|
334
|
+
|
|
335
|
+
Lightweight SQLite DB backup and restore — checkpoint before refactoring, instantly rollback without rebuilding.
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
codegraph snapshot save before-refactor # Save a named snapshot
|
|
339
|
+
codegraph snapshot list # List all snapshots
|
|
340
|
+
codegraph snapshot restore before-refactor # Restore a snapshot
|
|
341
|
+
codegraph snapshot delete before-refactor # Delete a snapshot
|
|
342
|
+
```
|
|
343
|
+
|
|
270
344
|
### Export & Visualization
|
|
271
345
|
|
|
272
346
|
```bash
|
|
@@ -287,6 +361,9 @@ codegraph embed # Build embeddings (default: nomic-v1.5)
|
|
|
287
361
|
codegraph embed --model nomic # Use a different model
|
|
288
362
|
codegraph search "handle authentication"
|
|
289
363
|
codegraph search "parse config" --min-score 0.4 -n 10
|
|
364
|
+
codegraph search "parseConfig" --mode keyword # BM25 keyword-only (exact names)
|
|
365
|
+
codegraph search "auth flow" --mode semantic # Embedding-only (conceptual)
|
|
366
|
+
codegraph search "auth flow" --mode hybrid # BM25 + semantic RRF fusion (default)
|
|
290
367
|
codegraph models # List available models
|
|
291
368
|
```
|
|
292
369
|
|
|
@@ -336,13 +413,17 @@ codegraph registry remove <name> # Unregister
|
|
|
336
413
|
| Flag | Description |
|
|
337
414
|
|---|---|
|
|
338
415
|
| `-d, --db <path>` | Custom path to `graph.db` |
|
|
339
|
-
| `-T, --no-tests` | Exclude `.test.`, `.spec.`, `__test__` files (available on `fn`, `fn-impact`, `path`, `context`, `explain`, `where`, `diff-impact`, `search`, `map`, `hotspots`, `roles`, `co-change`, `deps`, `impact`, `complexity`, `communities`, `manifesto`) |
|
|
416
|
+
| `-T, --no-tests` | Exclude `.test.`, `.spec.`, `__test__` files (available on `fn`, `fn-impact`, `path`, `context`, `explain`, `where`, `diff-impact`, `search`, `map`, `hotspots`, `roles`, `co-change`, `deps`, `impact`, `complexity`, `communities`, `manifesto`, `branch-compare`, `audit`, `triage`, `check`) |
|
|
340
417
|
| `--depth <n>` | Transitive trace depth (default varies by command) |
|
|
341
418
|
| `-j, --json` | Output as JSON |
|
|
342
419
|
| `-v, --verbose` | Enable debug output |
|
|
343
420
|
| `--engine <engine>` | Parser engine: `native`, `wasm`, or `auto` (default: `auto`) |
|
|
344
421
|
| `-k, --kind <kind>` | Filter by kind: `function`, `method`, `class`, `struct`, `enum`, `trait`, `record`, `module` (`fn`, `context`, `search`) |
|
|
345
422
|
| `-f, --file <path>` | Scope to a specific file (`fn`, `context`, `where`) |
|
|
423
|
+
| `--mode <mode>` | Search mode: `hybrid` (default), `semantic`, or `keyword` (`search`) |
|
|
424
|
+
| `--ndjson` | Output as newline-delimited JSON (one object per line) |
|
|
425
|
+
| `--limit <n>` | Limit number of results |
|
|
426
|
+
| `--offset <n>` | Skip first N results (pagination) |
|
|
346
427
|
| `--rrf-k <n>` | RRF smoothing constant for multi-query search (default 60) |
|
|
347
428
|
|
|
348
429
|
## 🌐 Language Support
|
|
@@ -419,16 +500,18 @@ Codegraph also extracts symbols from common callback patterns: Commander `.comma
|
|
|
419
500
|
|
|
420
501
|
## 📊 Performance
|
|
421
502
|
|
|
422
|
-
Self-measured on every release via CI ([build benchmarks](generated/BUILD-BENCHMARKS.md) | [embedding benchmarks](generated/EMBEDDING-BENCHMARKS.md)):
|
|
503
|
+
Self-measured on every release via CI ([build benchmarks](generated/benchmarks/BUILD-BENCHMARKS.md) | [embedding benchmarks](generated/benchmarks/EMBEDDING-BENCHMARKS.md)):
|
|
423
504
|
|
|
424
505
|
| Metric | Latest |
|
|
425
506
|
|---|---|
|
|
426
|
-
| Build speed | **
|
|
507
|
+
| Build speed (native) | **1.9 ms/file** |
|
|
508
|
+
| Build speed (WASM) | **7.8 ms/file** |
|
|
427
509
|
| Query time | **2ms** |
|
|
428
|
-
| No-op rebuild | **
|
|
429
|
-
| 1-file rebuild | **
|
|
430
|
-
| Query: fn-deps | **
|
|
431
|
-
|
|
|
510
|
+
| No-op rebuild (native) | **3ms** |
|
|
511
|
+
| 1-file rebuild (native) | **93ms** |
|
|
512
|
+
| Query: fn-deps | **1.8ms** |
|
|
513
|
+
| Query: path | **1ms** |
|
|
514
|
+
| ~50,000 files (est.) | **~95.0s build** |
|
|
432
515
|
|
|
433
516
|
Metrics are normalized per file for cross-version comparability. Times above are for a full initial build — incremental rebuilds only re-parse changed files.
|
|
434
517
|
|
|
@@ -450,7 +533,7 @@ Optional: `@huggingface/transformers` (semantic search), `@modelcontextprotocol/
|
|
|
450
533
|
|
|
451
534
|
### MCP Server
|
|
452
535
|
|
|
453
|
-
Codegraph includes a built-in [Model Context Protocol](https://modelcontextprotocol.io/) server with
|
|
536
|
+
Codegraph includes a built-in [Model Context Protocol](https://modelcontextprotocol.io/) server with 30 tools (31 in multi-repo mode), so AI assistants can query your dependency graph directly:
|
|
454
537
|
|
|
455
538
|
```bash
|
|
456
539
|
codegraph mcp # Single-repo mode (default) — only local project
|
|
@@ -492,7 +575,15 @@ This project uses codegraph. The database is at `.codegraph/graph.db`.
|
|
|
492
575
|
- `codegraph complexity -T` — per-function complexity metrics (cognitive, cyclomatic, MI)
|
|
493
576
|
- `codegraph communities --drift -T` — module boundary drift analysis
|
|
494
577
|
- `codegraph manifesto -T` — pass/fail rule check (CI gate, exit code 1 on fail)
|
|
495
|
-
- `codegraph
|
|
578
|
+
- `codegraph audit <target> -T` — combined explain + impact + health in one report
|
|
579
|
+
- `codegraph triage -T` — ranked audit priority queue
|
|
580
|
+
- `codegraph check --staged` — CI validation predicates (exit code 0/1)
|
|
581
|
+
- `codegraph batch target1 target2` — batch query multiple targets at once
|
|
582
|
+
- `codegraph owners [target]` — CODEOWNERS mapping for symbols
|
|
583
|
+
- `codegraph snapshot save <name>` — checkpoint the graph DB before refactoring
|
|
584
|
+
- `codegraph branch-compare main HEAD -T` — structural diff between two refs (added/removed/changed symbols)
|
|
585
|
+
- `codegraph search "<query>"` — hybrid search (requires `codegraph embed`)
|
|
586
|
+
- `codegraph search "<query>" --mode keyword` — BM25 keyword search
|
|
496
587
|
- `codegraph cycles` — check for circular dependencies
|
|
497
588
|
|
|
498
589
|
### Flags
|
|
@@ -658,25 +749,6 @@ const { results: fused } = await multiSearchData(
|
|
|
658
749
|
- **Dynamic calls are best-effort** — complex computed property access and `eval` patterns are not resolved
|
|
659
750
|
- **Python imports** — resolves relative imports but doesn't follow `sys.path` or virtual environment packages
|
|
660
751
|
|
|
661
|
-
## 🔍 How Codegraph Compares
|
|
662
|
-
|
|
663
|
-
<sub>Last verified: February 2026. Full analysis: <a href="generated/COMPETITIVE_ANALYSIS.md">COMPETITIVE_ANALYSIS.md</a></sub>
|
|
664
|
-
|
|
665
|
-
| Capability | codegraph | [joern](https://github.com/joernio/joern) | [narsil-mcp](https://github.com/postrv/narsil-mcp) | [code-graph-rag](https://github.com/vitali87/code-graph-rag) | [cpg](https://github.com/Fraunhofer-AISEC/cpg) | [GitNexus](https://github.com/abhigyanpatwari/GitNexus) |
|
|
666
|
-
|---|:---:|:---:|:---:|:---:|:---:|:---:|
|
|
667
|
-
| Function-level analysis | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** |
|
|
668
|
-
| Multi-language | **11** | **14** | **32** | Multi | **~10** | **9** |
|
|
669
|
-
| Incremental rebuilds | **O(changed)** | — | O(n) Merkle | — | — | — |
|
|
670
|
-
| MCP / AI agent support | **Yes** | — | **Yes** | **Yes** | **Yes** | **Yes** |
|
|
671
|
-
| Git diff impact | **Yes** | — | — | — | — | **Yes** |
|
|
672
|
-
| Git co-change analysis | **Yes** | — | — | — | — | — |
|
|
673
|
-
| Dead code / role classification | **Yes** | — | **Yes** | — | — | — |
|
|
674
|
-
| Semantic search | **Yes** | — | **Yes** | **Yes** | — | **Yes** |
|
|
675
|
-
| Watch mode | **Yes** | — | **Yes** | — | — | — |
|
|
676
|
-
| Zero config, no Docker/JVM | **Yes** | — | **Yes** | — | — | — |
|
|
677
|
-
| Works without API keys | **Yes** | **Yes** | **Yes** | — | **Yes** | **Yes** |
|
|
678
|
-
| Commercial use (Apache/MIT) | **Yes** | **Yes** | **Yes** | **Yes** | **Yes** | — |
|
|
679
|
-
|
|
680
752
|
## 🗺️ Roadmap
|
|
681
753
|
|
|
682
754
|
See **[ROADMAP.md](docs/roadmap/ROADMAP.md)** for the full development roadmap and **[STABILITY.md](STABILITY.md)** for the stability policy and versioning guarantees. Current plan:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optave/codegraph",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Local code graph CLI — parse codebases with tree-sitter, build dependency graphs, query them",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -71,15 +71,16 @@
|
|
|
71
71
|
},
|
|
72
72
|
"optionalDependencies": {
|
|
73
73
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
74
|
-
"@optave/codegraph-darwin-arm64": "2.
|
|
75
|
-
"@optave/codegraph-darwin-x64": "2.
|
|
76
|
-
"@optave/codegraph-linux-x64-gnu": "2.
|
|
77
|
-
"@optave/codegraph-win32-x64-msvc": "2.
|
|
74
|
+
"@optave/codegraph-darwin-arm64": "2.6.0",
|
|
75
|
+
"@optave/codegraph-darwin-x64": "2.6.0",
|
|
76
|
+
"@optave/codegraph-linux-x64-gnu": "2.6.0",
|
|
77
|
+
"@optave/codegraph-win32-x64-msvc": "2.6.0"
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@biomejs/biome": "^2.4.4",
|
|
81
|
-
"@commitlint/cli": "^
|
|
82
|
-
"@commitlint/config-conventional": "^
|
|
81
|
+
"@commitlint/cli": "^20.4",
|
|
82
|
+
"@commitlint/config-conventional": "^20.0",
|
|
83
|
+
"@huggingface/transformers": "^3.8.1",
|
|
83
84
|
"@tree-sitter-grammars/tree-sitter-hcl": "^1.2.0",
|
|
84
85
|
"@vitest/coverage-v8": "^4.0.18",
|
|
85
86
|
"commit-and-tag-version": "^12.5",
|