gitnexus 1.6.6-rc.111 → 1.6.6-rc.113

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
 
@@ -439,7 +439,8 @@ const JAVASCRIPT_SCOPE_QUERY = `
439
439
  constructor: (identifier) @reference.name) @reference.call.constructor
440
440
 
441
441
  (new_expression
442
- constructor: (member_expression) @reference.call.constructor.qualified) @reference.call.constructor
442
+ constructor: (member_expression
443
+ property: (property_identifier) @reference.name) @reference.call.constructor.qualified) @reference.call.constructor
443
444
 
444
445
  ;; Write access: obj.field = value
445
446
  (assignment_expression
@@ -33,9 +33,8 @@
33
33
  * same identifier also binds as a parameter in the constructor scope
34
34
  * via the normal `required_parameter` → `@type-binding.parameter` path.
35
35
  * - **Enum** — dual type+value. Emits `@scope.class` (enum body contains
36
- * member declarations) + `@declaration.enum`. Members are captured as
37
- * `@declaration.property` via the generic property_identifier pattern
38
- * inside enum_body.
36
+ * member declarations) + `@declaration.enum`. Enum member names
37
+ * are captured via `enum_assignment` (see below).
39
38
  *
40
39
  * Node types pinned via `scripts/_probe_typescript_grammar.ts`:
41
40
  * internal_module, namespace_export, namespace_import, import_specifier,
@@ -33,9 +33,8 @@
33
33
  * same identifier also binds as a parameter in the constructor scope
34
34
  * via the normal `required_parameter` → `@type-binding.parameter` path.
35
35
  * - **Enum** — dual type+value. Emits `@scope.class` (enum body contains
36
- * member declarations) + `@declaration.enum`. Members are captured as
37
- * `@declaration.property` via the generic property_identifier pattern
38
- * inside enum_body.
36
+ * member declarations) + `@declaration.enum`. Enum member names
37
+ * are captured via `enum_assignment` (see below).
39
38
  *
40
39
  * Node types pinned via `scripts/_probe_typescript_grammar.ts`:
41
40
  * internal_module, namespace_export, namespace_import, import_specifier,
@@ -82,6 +81,11 @@ const TYPESCRIPT_SCOPE_QUERY = `
82
81
  (abstract_class_declaration) @scope.class
83
82
  (interface_declaration) @scope.class
84
83
  (enum_declaration) @scope.class
84
+ ;; Class expressions: const Foo = class { ... } / const Foo = class Named { ... }.
85
+ ;; tree-sitter-typescript uses (class) (NOT class_expression) -- same node
86
+ ;; name as tree-sitter-javascript. The name field is optional (anonymous
87
+ ;; class expressions omit it); ScopeExtractor tolerates missing names.
88
+ (class) @scope.class
85
89
 
86
90
  (function_declaration) @scope.function
87
91
  (generator_function_declaration) @scope.function
@@ -386,6 +390,9 @@ const TYPESCRIPT_SCOPE_QUERY = `
386
390
  ${ARRAY_METHOD_NOT_ANY_OF_PREDICATE})
387
391
 
388
392
  ;; Method definitions — regular + private (#field) methods.
393
+ ;; These match inside both class_declaration and class (class expression)
394
+ ;; bodies. The @scope.class for class expressions (see (class) above)
395
+ ;; ensures methods inside class expressions get the correct Class scope parent.
389
396
  (method_definition
390
397
  name: (property_identifier) @declaration.name) @declaration.method
391
398
 
@@ -407,6 +414,15 @@ const TYPESCRIPT_SCOPE_QUERY = `
407
414
  (public_field_definition
408
415
  name: (private_property_identifier) @declaration.name) @declaration.property
409
416
 
417
+ ;; Enum members: enum Color { Red, Green = 1, Blue }.
418
+ ;; Bare members (no value): Red, Blue — property_identifier inside enum_body.
419
+ ;; Members with value: Green = 1 — enum_assignment with name field.
420
+ (enum_body
421
+ (property_identifier) @declaration.name) @declaration.property
422
+
423
+ (enum_assignment
424
+ name: (_) @declaration.name) @declaration.property
425
+
410
426
  ;; Declarations — parameter properties: \`constructor(public name: string)\`.
411
427
  ;; The accessibility_modifier presence distinguishes these from regular
412
428
  ;; parameters. The identifier is also bound as a parameter in the
@@ -528,6 +544,26 @@ const TYPESCRIPT_SCOPE_QUERY = `
528
544
  type: (type_annotation
529
545
  (generic_type) @type-binding.type)) @type-binding.parameter
530
546
 
547
+ (optional_parameter
548
+ pattern: (identifier) @type-binding.name
549
+ type: (type_annotation
550
+ (predefined_type) @type-binding.type)) @type-binding.parameter
551
+
552
+ (optional_parameter
553
+ pattern: (identifier) @type-binding.name
554
+ type: (type_annotation
555
+ (union_type) @type-binding.type)) @type-binding.parameter
556
+
557
+ (optional_parameter
558
+ pattern: (identifier) @type-binding.name
559
+ type: (type_annotation
560
+ (array_type) @type-binding.type)) @type-binding.parameter
561
+
562
+ (optional_parameter
563
+ pattern: (identifier) @type-binding.name
564
+ type: (type_annotation
565
+ (readonly_type) @type-binding.type)) @type-binding.parameter
566
+
531
567
  ;; Type bindings — variable annotations: \`let u: User = ...\` / \`const u: User\`.
532
568
  (variable_declarator
533
569
  name: (identifier) @type-binding.name
@@ -927,7 +963,8 @@ const TYPESCRIPT_SCOPE_QUERY = `
927
963
  constructor: (identifier) @reference.name) @reference.call.constructor
928
964
 
929
965
  (new_expression
930
- constructor: (member_expression) @reference.call.constructor.qualified) @reference.call.constructor
966
+ constructor: (member_expression
967
+ property: (property_identifier) @reference.name) @reference.call.constructor.qualified) @reference.call.constructor
931
968
 
932
969
  ;; References — write access: \`obj.field = value\`.
933
970
  (assignment_expression
@@ -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.111",
3
+ "version": "1.6.6-rc.113",
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",