gitnexus 1.6.6-rc.110 → 1.6.6-rc.112
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 +88 -57
- package/dist/core/lbug/native-check.js +17 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -30,21 +30,21 @@ To configure MCP for your editor, run `npx gitnexus setup` once — or set it up
|
|
|
30
30
|
|
|
31
31
|
### Editor Support
|
|
32
32
|
|
|
33
|
-
| Editor
|
|
34
|
-
|
|
35
|
-
| **Claude Code**
|
|
36
|
-
| **Cursor**
|
|
37
|
-
| **Antigravity** (Google) | Yes | Yes
|
|
38
|
-
| **Codex**
|
|
39
|
-
| **Windsurf**
|
|
40
|
-
| **OpenCode**
|
|
33
|
+
| Editor | MCP | Skills | Hooks (auto-augment) | Support |
|
|
34
|
+
| ------------------------ | --- | ------ | ------------------------------------------------------------------------------------------ | ------------ |
|
|
35
|
+
| **Claude Code** | Yes | Yes | Yes (PreToolUse) | **Full** |
|
|
36
|
+
| **Cursor** | Yes | Yes | Yes (postToolUse, [manual install](../gitnexus-cursor-integration/README.md#hook-install)) | **Full** |
|
|
37
|
+
| **Antigravity** (Google) | Yes | Yes | Yes (AfterTool, [Gemini CLI hooks schema](https://geminicli.com/docs/hooks/reference/)) | **Full** |
|
|
38
|
+
| **Codex** | Yes | Yes | — | MCP + Skills |
|
|
39
|
+
| **Windsurf** | Yes | — | — | MCP |
|
|
40
|
+
| **OpenCode** | Yes | Yes | — | MCP + Skills |
|
|
41
41
|
|
|
42
42
|
> **Claude Code** gets the deepest integration: MCP tools + agent skills + PreToolUse hooks that automatically enrich grep/glob/bash calls with knowledge graph context.
|
|
43
43
|
|
|
44
44
|
### Community Integrations
|
|
45
45
|
|
|
46
|
-
| Agent
|
|
47
|
-
|
|
46
|
+
| Agent | Install | Source |
|
|
47
|
+
| -------------------- | ---------------------------- | ------------------------------------------------------- |
|
|
48
48
|
| [pi](https://pi.dev) | `pi install npm:pi-gitnexus` | [pi-gitnexus](https://github.com/tintinweb/pi-gitnexus) |
|
|
49
49
|
|
|
50
50
|
## MCP Setup (manual)
|
|
@@ -116,36 +116,36 @@ The result is a **LadybugDB graph database** stored locally in `.gitnexus/` with
|
|
|
116
116
|
|
|
117
117
|
Your AI agent gets these tools automatically:
|
|
118
118
|
|
|
119
|
-
| Tool
|
|
120
|
-
|
|
121
|
-
| `list_repos`
|
|
122
|
-
| `query`
|
|
123
|
-
| `context`
|
|
124
|
-
| `impact`
|
|
125
|
-
| `detect_changes` | Git-diff impact — maps changed lines to affected processes
|
|
126
|
-
| `rename`
|
|
127
|
-
| `cypher`
|
|
119
|
+
| Tool | What It Does | `repo` Param |
|
|
120
|
+
| ---------------- | ---------------------------------------------------------------- | ------------ |
|
|
121
|
+
| `list_repos` | Discover all indexed repositories | — |
|
|
122
|
+
| `query` | Process-grouped hybrid search (BM25 + semantic + RRF) | Optional |
|
|
123
|
+
| `context` | 360-degree symbol view — categorized refs, process participation | Optional |
|
|
124
|
+
| `impact` | Blast radius analysis with depth grouping and confidence | Optional |
|
|
125
|
+
| `detect_changes` | Git-diff impact — maps changed lines to affected processes | Optional |
|
|
126
|
+
| `rename` | Multi-file coordinated rename with graph + text search | Optional |
|
|
127
|
+
| `cypher` | Raw Cypher graph queries | Optional |
|
|
128
128
|
|
|
129
129
|
> With one indexed repo, the `repo` param is optional. With multiple, specify which: `query({query: "auth", repo: "my-app"})`.
|
|
130
130
|
|
|
131
131
|
## MCP Resources
|
|
132
132
|
|
|
133
|
-
| Resource
|
|
134
|
-
|
|
135
|
-
| `gitnexus://repos`
|
|
136
|
-
| `gitnexus://repo/{name}/context`
|
|
137
|
-
| `gitnexus://repo/{name}/clusters`
|
|
138
|
-
| `gitnexus://repo/{name}/cluster/{name}` | Cluster members and details
|
|
139
|
-
| `gitnexus://repo/{name}/processes`
|
|
140
|
-
| `gitnexus://repo/{name}/process/{name}` | Full process trace with steps
|
|
141
|
-
| `gitnexus://repo/{name}/schema`
|
|
133
|
+
| Resource | Purpose |
|
|
134
|
+
| --------------------------------------- | ---------------------------------------------------- |
|
|
135
|
+
| `gitnexus://repos` | List all indexed repositories (read first) |
|
|
136
|
+
| `gitnexus://repo/{name}/context` | Codebase stats, staleness check, and available tools |
|
|
137
|
+
| `gitnexus://repo/{name}/clusters` | All functional clusters with cohesion scores |
|
|
138
|
+
| `gitnexus://repo/{name}/cluster/{name}` | Cluster members and details |
|
|
139
|
+
| `gitnexus://repo/{name}/processes` | All execution flows |
|
|
140
|
+
| `gitnexus://repo/{name}/process/{name}` | Full process trace with steps |
|
|
141
|
+
| `gitnexus://repo/{name}/schema` | Graph schema for Cypher queries |
|
|
142
142
|
|
|
143
143
|
## MCP Prompts
|
|
144
144
|
|
|
145
|
-
| Prompt
|
|
146
|
-
|
|
147
|
-
| `detect_impact` | Pre-commit change analysis — scope, affected processes, risk level
|
|
148
|
-
| `generate_map`
|
|
145
|
+
| Prompt | What It Does |
|
|
146
|
+
| --------------- | ------------------------------------------------------------------------- |
|
|
147
|
+
| `detect_impact` | Pre-commit change analysis — scope, affected processes, risk level |
|
|
148
|
+
| `generate_map` | Architecture documentation from the knowledge graph with mermaid diagrams |
|
|
149
149
|
|
|
150
150
|
## CLI Commands
|
|
151
151
|
|
|
@@ -212,21 +212,21 @@ TypeScript, JavaScript, Python, Java, C, C++, C#, Go, Rust, PHP, Kotlin, Swift,
|
|
|
212
212
|
|
|
213
213
|
### Language Feature Matrix
|
|
214
214
|
|
|
215
|
-
| Language
|
|
216
|
-
|
|
217
|
-
| TypeScript | ✓
|
|
218
|
-
| JavaScript | ✓
|
|
219
|
-
| Python
|
|
220
|
-
| Java
|
|
221
|
-
| Kotlin
|
|
222
|
-
| C#
|
|
223
|
-
| Go
|
|
224
|
-
| Rust
|
|
225
|
-
| PHP
|
|
226
|
-
| Ruby
|
|
227
|
-
| Swift
|
|
228
|
-
| C
|
|
229
|
-
| C++
|
|
215
|
+
| Language | Imports | Named Bindings | Exports | Heritage | Type Annotations | Constructor Inference | Config | Frameworks | Entry Points |
|
|
216
|
+
| ---------- | ------- | -------------- | ------- | -------- | ---------------- | --------------------- | ------ | ---------- | ------------ |
|
|
217
|
+
| TypeScript | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
218
|
+
| JavaScript | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | ✓ |
|
|
219
|
+
| Python | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
220
|
+
| Java | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ |
|
|
221
|
+
| Kotlin | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ |
|
|
222
|
+
| C# | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
223
|
+
| Go | ✓ | — | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
224
|
+
| Rust | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ |
|
|
225
|
+
| PHP | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
226
|
+
| Ruby | ✓ | — | ✓ | ✓ | — | ✓ | — | ✓ | ✓ |
|
|
227
|
+
| Swift | — | — | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
228
|
+
| C | — | — | ✓ | — | ✓ | ✓ | — | ✓ | ✓ |
|
|
229
|
+
| C++ | — | — | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ |
|
|
230
230
|
|
|
231
231
|
**Imports** — cross-file import resolution · **Named Bindings** — `import { X as Y }` / re-export tracking · **Exports** — public/exported symbol detection · **Heritage** — class inheritance, interfaces, mixins · **Type Annotations** — explicit type extraction for receiver resolution · **Constructor Inference** — infer receiver type from constructor calls (`self`/`this` resolution included for all languages) · **Config** — language toolchain config parsing (tsconfig, go.mod, etc.) · **Frameworks** — AST-based framework pattern detection · **Entry Points** — entry point scoring heuristics
|
|
232
232
|
|
|
@@ -291,6 +291,37 @@ npm install -g npm@latest # update npm itself
|
|
|
291
291
|
npm cache clean --force # clear a possibly corrupt cache
|
|
292
292
|
```
|
|
293
293
|
|
|
294
|
+
### `ERR_DLOPEN_FAILED` / `lbugjs.node` missing (pnpm dlx, pnpx)
|
|
295
|
+
|
|
296
|
+
GitNexus depends on `@ladybugdb/core`, whose native database addon
|
|
297
|
+
(`lbugjs.node`) is placed by a postinstall script. `pnpm dlx`, `pnpx`, and any
|
|
298
|
+
install run with `--ignore-scripts` skip lifecycle scripts, so the addon is
|
|
299
|
+
never put in place and the runtime crashes with `ERR_DLOPEN_FAILED`:
|
|
300
|
+
|
|
301
|
+
```
|
|
302
|
+
Error: dlopen(.../@ladybugdb/core/lbugjs.node, ...): tried: '...' (no such file)
|
|
303
|
+
code: 'ERR_DLOPEN_FAILED'
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
Options that run install scripts:
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
# pnpm dlx with explicit build permission (one-off, no global install required)
|
|
310
|
+
pnpm --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=tree-sitter \
|
|
311
|
+
dlx gitnexus@latest serve
|
|
312
|
+
|
|
313
|
+
# npm: global install (recommended on npm 11+; bare npx may crash — see section above)
|
|
314
|
+
npm install -g gitnexus@latest
|
|
315
|
+
gitnexus serve
|
|
316
|
+
|
|
317
|
+
# npx (npm < 11, or after upgrading npm)
|
|
318
|
+
npx gitnexus@latest serve
|
|
319
|
+
|
|
320
|
+
# pnpm: global install with build scripts allowed (pnpm 10.2+; no approve-builds -g on pnpm 11+)
|
|
321
|
+
pnpm add -g --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=tree-sitter gitnexus
|
|
322
|
+
gitnexus serve
|
|
323
|
+
```
|
|
324
|
+
|
|
294
325
|
### Installation fails with native module errors
|
|
295
326
|
|
|
296
327
|
Some optional language grammars (Dart, Kotlin, Swift) require native compilation. If they fail, GitNexus still works — those languages will be skipped.
|
|
@@ -312,11 +343,11 @@ GitNexus uses optional DuckDB extensions for BM25 and vector search. The `gitnex
|
|
|
312
343
|
|
|
313
344
|
Configure the behavior with two environment variables:
|
|
314
345
|
|
|
315
|
-
| Variable
|
|
316
|
-
|
|
317
|
-
| `GITNEXUS_LBUG_EXTENSION_INSTALL`
|
|
318
|
-
| `GITNEXUS_LBUG_EXTENSION_INSTALL_TIMEOUT_MS` | positive integer
|
|
319
|
-
| `GITNEXUS_WAL_CHECKPOINT_THRESHOLD`
|
|
346
|
+
| Variable | Values | Default | Effect |
|
|
347
|
+
| -------------------------------------------- | ---------------------------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
348
|
+
| `GITNEXUS_LBUG_EXTENSION_INSTALL` | `auto`, `load-only`, `never` | `auto` | `auto` runs one bounded INSTALL if LOAD fails. `load-only` only uses already-installed extensions (recommended for offline / firewalled environments). `never` skips optional extensions entirely. |
|
|
349
|
+
| `GITNEXUS_LBUG_EXTENSION_INSTALL_TIMEOUT_MS` | positive integer | `15000` | Wall-clock budget for the out-of-process `INSTALL` child before it is killed. |
|
|
350
|
+
| `GITNEXUS_WAL_CHECKPOINT_THRESHOLD` | integer `>= -1` | `67108864` (64 MiB) | LadybugDB WAL auto-checkpoint threshold during analyze (bytes). Auto-checkpoint remains enabled; `-1` keeps Ladybug's stock ~16 MiB. Larger thresholds reduce checkpoint frequency but increase the WAL size at rotation time — choose a smaller value on disk-constrained environments. |
|
|
320
351
|
|
|
321
352
|
```bash
|
|
322
353
|
# Offline/airgapped: never reach the network for extensions
|
|
@@ -373,11 +404,11 @@ For repositories with very large source files, `GITNEXUS_WORKER_SUB_BATCH_MAX_BY
|
|
|
373
404
|
|
|
374
405
|
Three env vars expose the pool's resilience layers (respawn budget, cumulative-timeout cap, circuit breaker). Defaults are tuned for typical repos; bump them when an analyze legitimately needs more retries, or lower them to fail-fast on a known-bad shape.
|
|
375
406
|
|
|
376
|
-
| Variable
|
|
377
|
-
|
|
|
378
|
-
| `GITNEXUS_WORKER_MAX_RESPAWNS_PER_SLOT`
|
|
379
|
-
| `GITNEXUS_WORKER_MAX_CUMULATIVE_TIMEOUT_MS`
|
|
380
|
-
| `GITNEXUS_WORKER_CONSECUTIVE_FAILURE_THRESHOLD`
|
|
407
|
+
| Variable | Default | Effect |
|
|
408
|
+
| ----------------------------------------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
409
|
+
| `GITNEXUS_WORKER_MAX_RESPAWNS_PER_SLOT` | `3` | Max replacement spawns per slot before the slot is dropped from the active rotation. |
|
|
410
|
+
| `GITNEXUS_WORKER_MAX_CUMULATIVE_TIMEOUT_MS` | `5 × subBatchTimeoutMs` | Total retry wall-time budget per job before quarantining. Bounds exponentially-growing retry waits. |
|
|
411
|
+
| `GITNEXUS_WORKER_CONSECUTIVE_FAILURE_THRESHOLD` | `max(3, poolSize)` | Per-slot consecutive deaths before the pool's circuit breaker trips. After tripping, dispatches require a fresh pool. |
|
|
381
412
|
|
|
382
413
|
## Privacy
|
|
383
414
|
|
|
@@ -36,11 +36,18 @@ export function checkLbugNative(overridePkgDir) {
|
|
|
36
36
|
'To repair:',
|
|
37
37
|
` node ${path.join(pkgDir, 'install.js')}`,
|
|
38
38
|
'',
|
|
39
|
-
'
|
|
40
|
-
'
|
|
41
|
-
'',
|
|
42
|
-
'
|
|
43
|
-
'
|
|
39
|
+
'Common causes:',
|
|
40
|
+
' - pnpm dlx / pnpx skip build scripts by default (security model). Options:',
|
|
41
|
+
' # Keep pnpm dlx — explicitly allow the required builds:',
|
|
42
|
+
' pnpm --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=tree-sitter \\',
|
|
43
|
+
' dlx gitnexus@latest serve',
|
|
44
|
+
' # Or install globally with build scripts allowed (pnpm 10.2+):',
|
|
45
|
+
' pnpm add -g --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=tree-sitter gitnexus',
|
|
46
|
+
' # Or npm i -g gitnexus@latest (bare npx on npm 11 may crash before gitnexus runs).',
|
|
47
|
+
' - bun: add to package.json and reinstall:',
|
|
48
|
+
' "trustedDependencies": ["@ladybugdb/core"]',
|
|
49
|
+
' - npm configured with ignore-scripts=true',
|
|
50
|
+
' (in .npmrc or via --ignore-scripts).',
|
|
44
51
|
].join('\n'),
|
|
45
52
|
};
|
|
46
53
|
}
|
|
@@ -62,6 +69,11 @@ export function checkLbugNative(overridePkgDir) {
|
|
|
62
69
|
'To repair:',
|
|
63
70
|
` node ${path.join(pkgDir, 'install.js')}`,
|
|
64
71
|
'',
|
|
72
|
+
'If install scripts were skipped (pnpm dlx / pnpx / ignore-scripts):',
|
|
73
|
+
' pnpm --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=tree-sitter \\',
|
|
74
|
+
' dlx gitnexus@latest serve',
|
|
75
|
+
' pnpm add -g --allow-build=@ladybugdb/core --allow-build=gitnexus --allow-build=tree-sitter gitnexus',
|
|
76
|
+
'',
|
|
65
77
|
'If using bun, add to package.json and reinstall:',
|
|
66
78
|
' "trustedDependencies": ["@ladybugdb/core"]',
|
|
67
79
|
].join('\n'),
|
package/package.json
CHANGED