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 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 | 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 |
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 | Install | Source |
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 | 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 |
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 | 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 |
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 | 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 |
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 | 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++ | — | — | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ |
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 | Values | Default | Effect |
316
- |----------|--------|---------|--------|
317
- | `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. |
318
- | `GITNEXUS_LBUG_EXTENSION_INSTALL_TIMEOUT_MS` | positive integer | `15000` | Wall-clock budget for the out-of-process `INSTALL` child before it is killed. |
319
- | `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. |
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 | Default | Effect |
377
- | ------------------------------------------------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
378
- | `GITNEXUS_WORKER_MAX_RESPAWNS_PER_SLOT` | `3` | Max replacement spawns per slot before the slot is dropped from the active rotation. |
379
- | `GITNEXUS_WORKER_MAX_CUMULATIVE_TIMEOUT_MS` | `5 × subBatchTimeoutMs` | Total retry wall-time budget per job before quarantining. Bounds exponentially-growing retry waits. |
380
- | `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. |
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
- 'If using bun, add to package.json and reinstall:',
40
- ' "trustedDependencies": ["@ladybugdb/core"]',
41
- '',
42
- 'Also check that npm is not configured with ignore-scripts=true',
43
- '(in .npmrc or via --ignore-scripts).',
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitnexus",
3
- "version": "1.6.6-rc.110",
3
+ "version": "1.6.6-rc.112",
4
4
  "description": "Graph-powered code intelligence for AI agents. Index any codebase, query via MCP or CLI.",
5
5
  "author": "Abhigyan Patwari",
6
6
  "license": "PolyForm-Noncommercial-1.0.0",