pindex 1.4.0 → 1.7.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.
Files changed (126) hide show
  1. package/README.md +53 -23
  2. package/dist/cli/daemon.d.ts +1 -1
  3. package/dist/cli/daemon.d.ts.map +1 -1
  4. package/dist/cli/daemon.js +25 -6
  5. package/dist/cli/daemon.js.map +1 -1
  6. package/dist/cli/federate.d.ts +6 -0
  7. package/dist/cli/federate.d.ts.map +1 -0
  8. package/dist/cli/federate.js +121 -0
  9. package/dist/cli/federate.js.map +1 -0
  10. package/dist/cli/index.js +46 -2
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/init.d.ts.map +1 -1
  13. package/dist/cli/init.js +14 -7
  14. package/dist/cli/init.js.map +1 -1
  15. package/dist/cli/project-detector.d.ts +16 -3
  16. package/dist/cli/project-detector.d.ts.map +1 -1
  17. package/dist/cli/project-detector.js +83 -11
  18. package/dist/cli/project-detector.js.map +1 -1
  19. package/dist/cli/setup.d.ts.map +1 -1
  20. package/dist/cli/setup.js +3 -5
  21. package/dist/cli/setup.js.map +1 -1
  22. package/dist/db/queries.d.ts +14 -0
  23. package/dist/db/queries.d.ts.map +1 -1
  24. package/dist/db/queries.js +22 -3
  25. package/dist/db/queries.js.map +1 -1
  26. package/dist/federation/merge.d.ts +4 -0
  27. package/dist/federation/merge.d.ts.map +1 -0
  28. package/dist/federation/merge.js +15 -0
  29. package/dist/federation/merge.js.map +1 -0
  30. package/dist/federation/registry-name.d.ts +6 -0
  31. package/dist/federation/registry-name.d.ts.map +1 -0
  32. package/dist/federation/registry-name.js +17 -0
  33. package/dist/federation/registry-name.js.map +1 -0
  34. package/dist/federation/repo-set.d.ts +27 -0
  35. package/dist/federation/repo-set.d.ts.map +1 -0
  36. package/dist/federation/repo-set.js +41 -0
  37. package/dist/federation/repo-set.js.map +1 -0
  38. package/dist/federation/repos-env.d.ts +16 -0
  39. package/dist/federation/repos-env.d.ts.map +1 -0
  40. package/dist/federation/repos-env.js +27 -0
  41. package/dist/federation/repos-env.js.map +1 -0
  42. package/dist/gui/server.d.ts.map +1 -1
  43. package/dist/gui/server.js +63 -23
  44. package/dist/gui/server.js.map +1 -1
  45. package/dist/index.js +36 -34
  46. package/dist/index.js.map +1 -1
  47. package/dist/indexer/detect-languages.d.ts +10 -0
  48. package/dist/indexer/detect-languages.d.ts.map +1 -0
  49. package/dist/indexer/detect-languages.js +36 -0
  50. package/dist/indexer/detect-languages.js.map +1 -0
  51. package/dist/indexer/index.d.ts +2 -0
  52. package/dist/indexer/index.d.ts.map +1 -1
  53. package/dist/indexer/index.js +21 -9
  54. package/dist/indexer/index.js.map +1 -1
  55. package/dist/indexer/parser.d.ts.map +1 -1
  56. package/dist/indexer/parser.js +36 -5
  57. package/dist/indexer/parser.js.map +1 -1
  58. package/dist/indexer/summarizer.d.ts.map +1 -1
  59. package/dist/indexer/summarizer.js +3 -0
  60. package/dist/indexer/summarizer.js.map +1 -1
  61. package/dist/memory/retention.d.ts +16 -0
  62. package/dist/memory/retention.d.ts.map +1 -0
  63. package/dist/memory/retention.js +32 -0
  64. package/dist/memory/retention.js.map +1 -0
  65. package/dist/monitoring/server.d.ts.map +1 -1
  66. package/dist/monitoring/server.js +22 -1
  67. package/dist/monitoring/server.js.map +1 -1
  68. package/dist/monitoring/ui/dashboard.js +83 -31
  69. package/dist/monitoring/ui/esc.js +17 -0
  70. package/dist/monitoring/ui/index.html +17 -11
  71. package/dist/monitoring/ui/styles.css +24 -4
  72. package/dist/server-config.d.ts +18 -0
  73. package/dist/server-config.d.ts.map +1 -0
  74. package/dist/server-config.js +41 -0
  75. package/dist/server-config.js.map +1 -0
  76. package/dist/server.d.ts +5 -0
  77. package/dist/server.d.ts.map +1 -1
  78. package/dist/server.js +21 -14
  79. package/dist/server.js.map +1 -1
  80. package/dist/tools/find_usages.d.ts +2 -2
  81. package/dist/tools/find_usages.d.ts.map +1 -1
  82. package/dist/tools/find_usages.js +24 -10
  83. package/dist/tools/find_usages.js.map +1 -1
  84. package/dist/tools/get_context.d.ts +2 -2
  85. package/dist/tools/get_context.d.ts.map +1 -1
  86. package/dist/tools/get_context.js +54 -50
  87. package/dist/tools/get_context.js.map +1 -1
  88. package/dist/tools/get_dependencies.d.ts +2 -2
  89. package/dist/tools/get_dependencies.d.ts.map +1 -1
  90. package/dist/tools/get_dependencies.js +24 -11
  91. package/dist/tools/get_dependencies.js.map +1 -1
  92. package/dist/tools/get_doc_chunk.d.ts +2 -2
  93. package/dist/tools/get_doc_chunk.d.ts.map +1 -1
  94. package/dist/tools/get_doc_chunk.js +38 -29
  95. package/dist/tools/get_doc_chunk.js.map +1 -1
  96. package/dist/tools/get_file_summary.d.ts +2 -2
  97. package/dist/tools/get_file_summary.d.ts.map +1 -1
  98. package/dist/tools/get_file_summary.js +48 -37
  99. package/dist/tools/get_file_summary.js.map +1 -1
  100. package/dist/tools/get_project_overview.d.ts +2 -3
  101. package/dist/tools/get_project_overview.d.ts.map +1 -1
  102. package/dist/tools/get_project_overview.js +22 -22
  103. package/dist/tools/get_project_overview.js.map +1 -1
  104. package/dist/tools/get_symbol.d.ts +2 -2
  105. package/dist/tools/get_symbol.d.ts.map +1 -1
  106. package/dist/tools/get_symbol.js +33 -27
  107. package/dist/tools/get_symbol.js.map +1 -1
  108. package/dist/tools/schemas.d.ts +9 -0
  109. package/dist/tools/schemas.d.ts.map +1 -1
  110. package/dist/tools/schemas.js +20 -2
  111. package/dist/tools/schemas.js.map +1 -1
  112. package/dist/tools/search_docs.d.ts +2 -2
  113. package/dist/tools/search_docs.d.ts.map +1 -1
  114. package/dist/tools/search_docs.js +40 -28
  115. package/dist/tools/search_docs.js.map +1 -1
  116. package/dist/tools/search_symbols.d.ts +2 -3
  117. package/dist/tools/search_symbols.d.ts.map +1 -1
  118. package/dist/tools/search_symbols.js +35 -46
  119. package/dist/tools/search_symbols.js.map +1 -1
  120. package/dist/types.d.ts +24 -10
  121. package/dist/types.d.ts.map +1 -1
  122. package/dist/util/net.d.ts +25 -0
  123. package/dist/util/net.d.ts.map +1 -0
  124. package/dist/util/net.js +50 -0
  125. package/dist/util/net.js.map +1 -0
  126. package/package.json +5 -5
package/README.md CHANGED
@@ -63,25 +63,39 @@ Token savings are tracked per session and visible in a live web dashboard.
63
63
 
64
64
  ## When Is PindeX Worth Using?
65
65
 
66
- PindeX adds a fixed overhead per API turn (tool definitions are sent with every request). This overhead pays off only when the project is large enough that the savings from avoiding full-file reads exceed that cost.
66
+ PindeX adds a fixed overhead per API turn (its 14 tool definitions are sent with every request). The overhead pays off when the project is large enough — and the questions complex enough — that the savings from targeted symbol lookups exceed that cost.
67
67
 
68
- **Benchmark results** (5 identical tasks, synthetic TypeScript API codebase, Claude Sonnet 4.6):
68
+ ### Realism benchmark (Sonnet 4.6, N=1, 6 Q&A tasks per codebase)
69
69
 
70
- | Config | Total input tokens | vs. baseline |
71
- |---|---|---|
72
- | baseline (read_file / glob) | 167 K | |
73
- | PindeX (8 core tools, manifest injection) | 246 K | **+47 %** |
70
+ A/B comparison: vanilla Claude Code (no PindeX MCP server, only native `Read`/`Grep`/`Glob`) vs. Claude Code with PindeX registered, on identical prompts.
71
+
72
+ | Codebase | Baseline tokens | PindeX tokens | Ratio | Reduction |
73
+ |---|---:|---:|---:|---|
74
+ | PindeX itself (~50 files) | 742 607 | 603 160 | 0.812 | **−19 %** |
75
+ | `microsoft/typescript-eslint` (~600 files) | 948 848 | 779 469 | 0.821 | **−18 %** |
76
+
77
+ **Where the savings come from**: multi-hop / dependency-graph queries (e.g. "which modules does `src/indexer/index.ts` import?", "explain how `processParsedFile` interacts with the AST diff engine") deliver per-task ratios of 0.55 / 0.65 — PindeX wins clearly. Single-symbol lookups (e.g. "where is class X defined?") wash to ratio ~1.0; Claude can read the project's `CLAUDE.md` from the prompt cache and answer directly without any file reads in either condition.
78
+
79
+ 100 % cache-read share in both conditions means the 14-tool overhead is fully amortised by Anthropic's prompt cache after the first turn. There is no latency penalty.
74
80
 
75
- The test project had only **25 files at ~76 lines/file on average** — too small for PindeX to break even. The tool-definition overhead (~800 tokens/turn) outweighed the savings from narrower reads.
81
+ Full report: [`benchmarks/results/2026-04-25-realism-3.md`](benchmarks/results/2026-04-25-realism-3.md). Re-run yourself with `npm run bench:realism`.
76
82
 
77
- **Rule of thumb — PindeX is beneficial when:**
83
+ ### Caveats
84
+
85
+ - **N=1 across 12 tasks total.** Stochastic variance means the headline number is in the 15–25 % range, not a precise 18.5 %. For marketing-grade numbers, repeat at N=3.
86
+ - **Q&A workload only.** Coding tasks ("implement feature X") are not measured; the cost profile is likely different and possibly less favourable.
87
+ - **TypeScript-heavy codebases.** Both targets are pure TS / TS-monorepo. PindeX' regex extractors for Python / Java / Go / Rust have lower symbol-extraction quality than tree-sitter-typescript; the benefit on those stacks may be smaller.
88
+ - **Older marketing copy claimed "80–90 % token reduction".** That number was aspirational and is not what the realism benchmark produces. The honest figure is ~18–19 %.
89
+
90
+ ### Rule of thumb
91
+
92
+ PindeX is beneficial when:
78
93
 
79
94
  | Condition | Threshold |
80
95
  |---|---|
81
96
  | Number of files | ≥ 40 |
82
97
  | Average file length | ≥ 150 lines/file |
83
-
84
- For projects above these thresholds (e.g. the PindeX codebase itself with 80+ files), targeted symbol lookups consistently return far less than a full-file read, and the fixed overhead amortises over many turns.
98
+ | Question type | Multi-hop / dependency / impact analysis (single-symbol lookups break even) |
85
99
 
86
100
  **Built-in recommendation:** `get_project_overview` always returns an `index_recommendation` field:
87
101
 
@@ -96,7 +110,7 @@ For projects above these thresholds (e.g. the PindeX codebase itself with 80+ fi
96
110
  }
97
111
  ```
98
112
 
99
- > **A note on the savings numbers:** PindeX can only measure tokens that flow through its own tools. It has no visibility into tokens used by `Write`, `Read`, `Bash`, or other non-PindeX operations. In sessions focused on exploring an unfamiliar codebase the savings are most pronounced; in sessions that are mostly editing, PindeX reduces only the exploration portion.
113
+ > **Where PindeX's value is largest:** sessions that bounce across many files (impact analysis, refactoring research, onboarding to an unfamiliar codebase). Sessions that are mostly editing one file get little benefit and may pay net overhead.
100
114
 
101
115
  ---
102
116
 
@@ -221,31 +235,47 @@ cd /project-b && pindex # registers project-b, different port + different DB
221
235
 
222
236
  ### Linking repos (federation)
223
237
 
224
- If you work on a monorepo split into separate repositories, or if one project imports types from another, you can link them:
238
+ Federate other indexed PindeX projects into the current project so all read-only tools can search across them in one query.
239
+
240
+ **CLI commands:**
225
241
 
226
242
  ```bash
227
- cd /project-a
228
- pindex add /project-b
243
+ cd /my/main-project
244
+ pindex federate add /path/to/other-repo
245
+ pindex federate list
246
+ pindex federate remove other-repo
229
247
  ```
230
248
 
231
- This updates `/project-a/.mcp.json` with `FEDERATION_REPOS=/project-b`. After restarting Claude Code in Project A, the MCP tools search **both** codebases:
249
+ Federated repos appear under stable names (the directory basename, with a hash suffix on collision). Every search/lookup tool returns results tagged with `project: <name>`.
232
250
 
233
- - `search_symbols` returns results from both projects (federated results include a `project` field)
234
- - `get_project_overview` shows stats for all linked projects
251
+ **Scoping queries to federated repos:**
235
252
 
236
- Add more repos at any time:
253
+ To scope a query to a subset of federated repos, use the optional `repos` parameter in any read-only tool:
237
254
 
238
- ```bash
239
- pindex add /project-c # links a third repo
255
+ ```jsonc
256
+ // MCP tool call (example)
257
+ search_symbols({ "query": "AuthService", "repos": ["main", "auth-service"] })
240
258
  ```
241
259
 
242
- Remove a link:
260
+ The `repos` parameter accepts a list of project names and restricts results to only those repos. Omit the parameter to search all federated repos + the main project.
261
+
262
+ **Which tools support federation:**
263
+
264
+ The 9 read-only tools (`search_symbols`, `find_usages`, `get_symbol`, `get_file_summary`, `get_context`, `get_dependencies`, `get_project_overview`, `search_docs`, `get_doc_chunk`) accept an optional `repos: string[]` param to scope to specific federated repos.
265
+
266
+ The 5 write/session tools (`reindex`, `save_context`, `get_session_memory`, `start_comparison`, `get_token_stats`) stay strictly local and do not accept the `repos` param.
267
+
268
+ **Legacy env var:**
269
+
270
+ The `FEDERATION_REPOS` env var (colon-separated paths) is still supported for backward compatibility and is what the CLI writes to `.mcp.json`:
243
271
 
244
272
  ```bash
245
- pindex remove /project-b
273
+ FEDERATION_REPOS=/path/to/repo-a:/path/to/repo-b pindex-server
246
274
  ```
247
275
 
248
- ### View all projects
276
+ For new setups, prefer the CLI commands (`pindex federate add/remove/list`) over manually editing the env var.
277
+
278
+ **View all projects:**
249
279
 
250
280
  ```bash
251
281
  pindex status
@@ -2,7 +2,7 @@
2
2
  export declare function getDaemonPid(projectHash?: string): number | null;
3
3
  /** Returns true if the daemon is currently running for the given project. */
4
4
  export declare function isDaemonRunning(projectHash?: string): boolean;
5
- /** Writes the PID file for the given project. */
5
+ /** Writes the PID file for the given project (owner-only, SEC-14). */
6
6
  export declare function writePidFile(pid: number, projectHash?: string): void;
7
7
  /** Removes the PID file. */
8
8
  export declare function removePidFile(projectHash?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAcA,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUhE;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED,4BAA4B;AAC5B,wBAAgB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAGxD;AAED,yDAAyD;AACzD,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAepE;AAED,8DAA8D;AAC9D,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpE"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAoBA,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUhE;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D;AAeD,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAEpE;AAED,4BAA4B;AAC5B,wBAAgB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAGxD;AAED,yDAAyD;AACzD,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBpE;AAED,8DAA8D;AAC9D,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQpE"}
@@ -1,15 +1,15 @@
1
- import { existsSync, readFileSync, writeFileSync, unlinkSync, mkdirSync } from 'node:fs';
1
+ import { existsSync, readFileSync, unlinkSync, mkdirSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- import { getPindexHome, getProjectsDir, hashProjectPath } from './project-detector.js';
3
+ import { getProjectsDir, hashProjectPath, ensurePindexHome, writeFileSecure, } from './project-detector.js';
4
4
  /** Returns the PID file path for a given project (or the global fallback). */
5
5
  function getPidFilePath(projectHash) {
6
6
  if (projectHash) {
7
7
  const dir = join(getProjectsDir(), projectHash);
8
8
  if (!existsSync(dir))
9
- mkdirSync(dir, { recursive: true });
9
+ mkdirSync(dir, { recursive: true, mode: 0o700 });
10
10
  return join(dir, 'daemon.pid');
11
11
  }
12
- return join(getPindexHome(), 'daemon.pid');
12
+ return join(ensurePindexHome(), 'daemon.pid');
13
13
  }
14
14
  /** Returns the PID of the running daemon for the given project, or null. */
15
15
  export function getDaemonPid(projectHash) {
@@ -29,9 +29,23 @@ export function getDaemonPid(projectHash) {
29
29
  export function isDaemonRunning(projectHash) {
30
30
  return getDaemonPid(projectHash) !== null;
31
31
  }
32
- /** Writes the PID file for the given project. */
32
+ /** Best-effort check that a PID belongs to a pindex/node process before we signal
33
+ * it, guarding against PID reuse killing an unrelated process (SEC-14). On
34
+ * platforms without /proc (macOS/Windows) the check is skipped (returns true). */
35
+ function isLikelyPindexProcess(pid) {
36
+ try {
37
+ const cmdline = readFileSync(`/proc/${pid}/cmdline`, 'utf-8');
38
+ if (!cmdline)
39
+ return true; // empty — cannot tell, do not block
40
+ return /pindex|node/i.test(cmdline);
41
+ }
42
+ catch {
43
+ return true; // /proc unavailable or unreadable — do not block stop
44
+ }
45
+ }
46
+ /** Writes the PID file for the given project (owner-only, SEC-14). */
33
47
  export function writePidFile(pid, projectHash) {
34
- writeFileSync(getPidFilePath(projectHash), String(pid), 'utf-8');
48
+ writeFileSecure(getPidFilePath(projectHash), String(pid));
35
49
  }
36
50
  /** Removes the PID file. */
37
51
  export function removePidFile(projectHash) {
@@ -46,6 +60,11 @@ export async function stopDaemon(projectHash) {
46
60
  console.log('No running daemon found.');
47
61
  return;
48
62
  }
63
+ if (!isLikelyPindexProcess(pid)) {
64
+ console.error('Refusing to stop: PID does not look like a pindex daemon (stale PID file?).');
65
+ removePidFile(projectHash);
66
+ return;
67
+ }
49
68
  try {
50
69
  process.kill(pid, 'SIGTERM');
51
70
  removePidFile(projectHash);
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function federateAdd(cwd: string, targetPath: string, options: {
2
+ name?: string;
3
+ }): Promise<void>;
4
+ export declare function federateRemove(cwd: string, nameOrPath: string): Promise<void>;
5
+ export declare function federateList(cwd: string): Promise<void>;
6
+ //# sourceMappingURL=federate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federate.d.ts","sourceRoot":"","sources":["../../src/cli/federate.ts"],"names":[],"mappings":"AA8CA,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA6Df;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCnF;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB7D"}
@@ -0,0 +1,121 @@
1
+ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { join, resolve } from 'node:path';
3
+ import { GlobalRegistry, findProjectRoot, } from './project-detector.js';
4
+ import { assignName } from '../federation/registry-name.js';
5
+ import { parseFederationRepos, joinFederationRepos } from '../federation/repos-env.js';
6
+ function readMcpJson(projectRoot) {
7
+ const path = join(projectRoot, '.mcp.json');
8
+ if (!existsSync(path)) {
9
+ throw new Error(`.mcp.json not found at ${path}. Run 'pindex init' first.`);
10
+ }
11
+ return JSON.parse(readFileSync(path, 'utf-8'));
12
+ }
13
+ function writeMcpJson(projectRoot, mcp) {
14
+ const path = join(projectRoot, '.mcp.json');
15
+ writeFileSync(path, JSON.stringify(mcp, null, 2));
16
+ }
17
+ function ensurePindexEnv(mcp) {
18
+ if (!mcp.mcpServers.pindex) {
19
+ mcp.mcpServers.pindex = { env: {} };
20
+ }
21
+ if (!mcp.mcpServers.pindex.env) {
22
+ mcp.mcpServers.pindex.env = {};
23
+ }
24
+ return mcp.mcpServers.pindex.env;
25
+ }
26
+ export async function federateAdd(cwd, targetPath, options) {
27
+ const projectRoot = findProjectRoot(resolve(cwd));
28
+ const targetRoot = resolve(targetPath);
29
+ if (!existsSync(targetRoot)) {
30
+ throw new Error(`Target path does not exist: ${targetRoot}`);
31
+ }
32
+ const registry = new GlobalRegistry();
33
+ const entries = registry.list();
34
+ const me = entries.find((e) => e.path === projectRoot);
35
+ if (!me) {
36
+ throw new Error(`Current project not registered: ${projectRoot}. Run 'pindex init'.`);
37
+ }
38
+ const target = entries.find((e) => e.path === targetRoot);
39
+ if (!target) {
40
+ throw new Error(`Target not registered: ${targetRoot}. Run 'pindex init' in that directory first.`);
41
+ }
42
+ // Check .mcp.json exists in target (validates it was pindex-init-ed)
43
+ if (!existsSync(join(targetRoot, '.mcp.json'))) {
44
+ throw new Error(`Target has no .mcp.json: ${targetRoot}. Run 'pindex init' in that directory first.`);
45
+ }
46
+ const existingFederated = (me.federatedRepos ?? []);
47
+ if (existingFederated.some((f) => f.path === targetRoot)) {
48
+ console.log(`Already federated: ${target.name} (${targetRoot})`);
49
+ return;
50
+ }
51
+ // Allocate a unique name within MY federation set (including my own name).
52
+ const used = new Set([me.name, ...existingFederated.map((f) => f.name)]);
53
+ const name = options.name ??
54
+ (used.has(target.name) ? assignName(targetRoot, used) : target.name);
55
+ if (options.name && used.has(options.name)) {
56
+ throw new Error(`Name '${options.name}' already in use in this federation. Provide a different --name.`);
57
+ }
58
+ const updated = {
59
+ ...me,
60
+ federatedRepos: [...existingFederated, { path: targetRoot, name }],
61
+ };
62
+ registry.replace(updated);
63
+ const mcp = readMcpJson(projectRoot);
64
+ const env = ensurePindexEnv(mcp);
65
+ const list = parseFederationRepos(env.FEDERATION_REPOS);
66
+ if (!list.includes(targetRoot))
67
+ list.push(targetRoot);
68
+ env.FEDERATION_REPOS = joinFederationRepos(list);
69
+ writeMcpJson(projectRoot, mcp);
70
+ console.log(`federated '${name}' (path: ${targetRoot}). Restart the MCP server to pick up the change.`);
71
+ }
72
+ export async function federateRemove(cwd, nameOrPath) {
73
+ const projectRoot = findProjectRoot(resolve(cwd));
74
+ const registry = new GlobalRegistry();
75
+ const me = registry.list().find((e) => e.path === projectRoot);
76
+ if (!me) {
77
+ throw new Error(`Current project not registered: ${projectRoot}.`);
78
+ }
79
+ const existingFederated = (me.federatedRepos ?? []);
80
+ const match = existingFederated.find((f) => f.name === nameOrPath || f.path === nameOrPath);
81
+ if (!match) {
82
+ const known = existingFederated.map((f) => f.name).join(', ');
83
+ throw new Error(`No federated repo named '${nameOrPath}' (or matching path). Known: [${known}]`);
84
+ }
85
+ const updated = {
86
+ ...me,
87
+ federatedRepos: existingFederated.filter((f) => f !== match),
88
+ };
89
+ registry.replace(updated);
90
+ const mcp = readMcpJson(projectRoot);
91
+ const env = ensurePindexEnv(mcp);
92
+ const list = parseFederationRepos(env.FEDERATION_REPOS).filter((p) => p !== match.path);
93
+ if (list.length > 0) {
94
+ env.FEDERATION_REPOS = joinFederationRepos(list);
95
+ }
96
+ else {
97
+ delete env.FEDERATION_REPOS;
98
+ }
99
+ writeMcpJson(projectRoot, mcp);
100
+ console.log(`removed federation '${match.name}' (${match.path}). Restart the MCP server.`);
101
+ }
102
+ export async function federateList(cwd) {
103
+ const projectRoot = findProjectRoot(resolve(cwd));
104
+ const registry = new GlobalRegistry();
105
+ const me = registry.list().find((e) => e.path === projectRoot);
106
+ if (!me) {
107
+ console.log(`Current project not registered: ${projectRoot}.`);
108
+ return;
109
+ }
110
+ const existingFederated = (me.federatedRepos ?? []);
111
+ console.log(`Federated repos (in ${projectRoot}):`);
112
+ if (existingFederated.length === 0) {
113
+ console.log(` (none)`);
114
+ return;
115
+ }
116
+ const longestName = existingFederated.reduce((m, f) => Math.max(m, f.name.length), 0);
117
+ for (const f of existingFederated) {
118
+ console.log(` ${f.name.padEnd(longestName)} ${f.path}`);
119
+ }
120
+ }
121
+ //# sourceMappingURL=federate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federate.js","sourceRoot":"","sources":["../../src/cli/federate.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -9,6 +9,7 @@ import { runMigrations } from '../db/migrations.js';
9
9
  import { Indexer } from '../indexer/index.js';
10
10
  import { getProjectIndexPath, getProjectsDir, GlobalRegistry, findProjectRoot, hashProjectPath, } from './project-detector.js';
11
11
  import { initProject, addFederatedRepo, removeFederatedRepo, injectClaudeMdSection, injectClaudeSettings, removeClaudeMdSection, removeClaudeSettings, removeMcpJson, writeMcpJson, injectGitignore } from './init.js';
12
+ import { federateAdd, federateRemove, federateList } from './federate.js';
12
13
  import Database from 'better-sqlite3';
13
14
  const BREAK_EVEN_FILES = 40;
14
15
  const BREAK_EVEN_AVG_LINES = 150;
@@ -196,10 +197,14 @@ async function main() {
196
197
  break;
197
198
  }
198
199
  const { spawn } = await import('node:child_process');
199
- spawn('pindex-gui', ['--port', String(port)], {
200
+ const os = await import('node:os');
201
+ // Spawn without shell:true to avoid a latent shell-injection sink if the
202
+ // arg list ever grows (SEC-15). On Windows the bin is a .cmd shim, which
203
+ // requires the explicit extension when not going through a shell.
204
+ const guiBin = os.platform() === 'win32' ? 'pindex-gui.cmd' : 'pindex-gui';
205
+ spawn(guiBin, ['--port', String(port)], {
200
206
  detached: true,
201
207
  stdio: 'ignore',
202
- shell: true,
203
208
  }).unref();
204
209
  // Wait for server to be ready (max 3s)
205
210
  for (let i = 0; i < 15; i++) {
@@ -272,6 +277,45 @@ async function main() {
272
277
  console.log(`Done. You can remove ~/.pindex (registry) and each project's .pindex/ folder manually to wipe all data.`);
273
278
  break;
274
279
  }
280
+ case 'federate': {
281
+ const sub = args[0];
282
+ try {
283
+ switch (sub) {
284
+ case 'add': {
285
+ const targetPath = args[1];
286
+ if (!targetPath) {
287
+ console.error('Usage: pindex federate add <path> [--name <name>]');
288
+ process.exit(1);
289
+ }
290
+ const nameFlag = args.indexOf('--name');
291
+ const name = nameFlag !== -1 ? args[nameFlag + 1] : undefined;
292
+ await federateAdd(process.cwd(), targetPath, { name });
293
+ break;
294
+ }
295
+ case 'remove': {
296
+ const target = args[1];
297
+ if (!target) {
298
+ console.error('Usage: pindex federate remove <name|path>');
299
+ process.exit(1);
300
+ }
301
+ await federateRemove(process.cwd(), target);
302
+ break;
303
+ }
304
+ case 'list': {
305
+ await federateList(process.cwd());
306
+ break;
307
+ }
308
+ default:
309
+ console.error(`Unknown federate subcommand: ${sub ?? '(none)'}. Use add | remove | list.`);
310
+ process.exit(1);
311
+ }
312
+ }
313
+ catch (err) {
314
+ console.error('Error:', err instanceof Error ? err.message : err);
315
+ process.exit(1);
316
+ }
317
+ break;
318
+ }
275
319
  default:
276
320
  console.log(`
277
321
  pindex – MCP Codebase Indexer
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAI/B,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,aAAa,GACnB,IAAI,CA2BN;AA8BD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,EAAE,KAAa,EAAE;;CAAK,GACrB,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAqB7C;AAkCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,EAAE,KAAa,EAAE;;CAAK,GACrB,OAAO,GAAG,SAAS,GAAG,SAAS,CA4CjC;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAClB,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAczC;AAID;;;GAGG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C5D;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAQ9F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAyB7F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAKxE;AAID;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCnF;AAID,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBtF"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AAK/B,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,aAAa,GACnB,IAAI,CA2BN;AA8BD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,EAAE,KAAa,EAAE;;CAAK,GACrB,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAqB7C;AAkCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,EAAE,KAAa,EAAE;;CAAK,GACrB,OAAO,GAAG,SAAS,GAAG,SAAS,CA4CjC;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,GAClB,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAczC;AAID;;;GAGG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C5D;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAQ9F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAyB7F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAKxE;AAID;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CnF;AAID,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBtF"}
package/dist/cli/init.js CHANGED
@@ -1,10 +1,11 @@
1
1
  import { writeFileSync, existsSync, mkdirSync, readFileSync, appendFileSync, unlinkSync } from 'node:fs';
2
- import { resolve, join, basename } from 'node:path';
2
+ import { resolve, join } from 'node:path';
3
3
  import { findProjectRoot, getProjectIndexPath, GlobalRegistry, } from './project-detector.js';
4
+ import { joinFederationRepos } from '../federation/repos-env.js';
4
5
  // ─── .mcp.json generation ─────────────────────────────────────────────────
5
6
  export function writeMcpJson(projectRoot, entry) {
6
7
  const federationEnv = entry.federatedRepos.length > 0
7
- ? { FEDERATION_REPOS: entry.federatedRepos.join(':') }
8
+ ? { FEDERATION_REPOS: joinFederationRepos(entry.federatedRepos.map((r) => r.path)) }
8
9
  : {};
9
10
  const config = {
10
11
  mcpServers: {
@@ -225,7 +226,7 @@ export async function initProject(cwd) {
225
226
  if (entry.federatedRepos.length > 0) {
226
227
  console.log(`\n Federated repos (${entry.federatedRepos.length}):`);
227
228
  for (const r of entry.federatedRepos)
228
- console.log(` - ${r}`);
229
+ console.log(` - ${r.name} ${r.path}`);
229
230
  }
230
231
  console.log('\n ══════════════════════════════════════════\n');
231
232
  }
@@ -314,16 +315,22 @@ export async function addFederatedRepo(cwd, repoPath) {
314
315
  // Update current project's federated repos list
315
316
  const currentEntry = registry.upsert(projectRoot);
316
317
  const existing = currentEntry.federatedRepos;
317
- if (existing.includes(resolvedRepo)) {
318
+ if (existing.some((r) => r.path === resolvedRepo)) {
318
319
  console.log(`Already linked: ${resolvedRepo}`);
319
320
  return;
320
321
  }
321
- const updated = [...existing, resolvedRepo];
322
+ // Resolve a name for the newly federated repo
323
+ const targetEntry = registry.getByPath(resolvedRepo);
324
+ const usedNames = new Set([currentEntry.name, ...existing.map((r) => r.name)]);
325
+ const { assignName: _assignName } = await import('../federation/registry-name.js');
326
+ const repoName = targetEntry?.name && !usedNames.has(targetEntry.name)
327
+ ? targetEntry.name
328
+ : _assignName(resolvedRepo, usedNames);
329
+ const updated = [...existing, { path: resolvedRepo, name: repoName }];
322
330
  registry.setFederatedRepos(projectRoot, updated);
323
331
  // Re-read to get the updated entry
324
332
  const updatedEntry = registry.getByPath(projectRoot);
325
333
  writeMcpJson(projectRoot, updatedEntry);
326
- const repoName = basename(resolvedRepo);
327
334
  console.log(`\n ✓ Linked: ${repoName} (${resolvedRepo})`);
328
335
  console.log(' .mcp.json updated with FEDERATION_REPOS.\n');
329
336
  console.log(' Restart Claude Code to activate cross-repo search.\n');
@@ -338,7 +345,7 @@ export async function removeFederatedRepo(cwd, repoPath) {
338
345
  console.error('Project not registered. Run pindex first.');
339
346
  process.exit(1);
340
347
  }
341
- const updated = entry.federatedRepos.filter((r) => r !== resolvedRepo);
348
+ const updated = entry.federatedRepos.filter((r) => r.path !== resolvedRepo);
342
349
  registry.setFederatedRepos(projectRoot, updated);
343
350
  const updatedEntry = registry.getByPath(projectRoot);
344
351
  writeMcpJson(projectRoot, updatedEntry);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}