indexer-cli 0.9.10 → 0.9.12

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
@@ -54,10 +54,9 @@ npx indexer-cli search "authentication middleware"
54
54
 
55
55
  After `init`, the repo contains focused skills like `.claude/skills/semantic-search/SKILL.md`,
56
56
  `.claude/skills/repo-structure/SKILL.md`, `.claude/skills/repo-architecture/SKILL.md`,
57
- `.claude/skills/repo-context/SKILL.md`, `.claude/skills/symbol-explain/SKILL.md`, and
58
- `.claude/skills/dependency-trace/SKILL.md`, so coding agents can load
57
+ `.claude/skills/symbol-explain/SKILL.md`, and `.claude/skills/dependency-trace/SKILL.md`, so coding agents can load
59
58
  the right indexed discovery workflow for
60
- `npx indexer-cli search`, `npx indexer-cli structure`, `npx indexer-cli architecture`, `npx indexer-cli context`,
59
+ `npx indexer-cli search`, `npx indexer-cli structure`, `npx indexer-cli architecture`,
61
60
  `npx indexer-cli explain`, and `npx indexer-cli deps` before they start burning tokens on broad filesystem scans.
62
61
 
63
62
  ## Why agents save tokens with this
@@ -84,7 +83,6 @@ Those skills cover repository discovery flows such as:
84
83
  npx indexer-cli search "<query>"
85
84
  npx indexer-cli structure --path-prefix src/<area>
86
85
  npx indexer-cli architecture
87
- npx indexer-cli context --scope relevant-to:src/<area>
88
86
  ```
89
87
 
90
88
  All discovery commands return human-readable text output, optimized for coding agents.
@@ -156,17 +154,6 @@ dependency graph.
156
154
  | `--path-prefix <string>` | Limit output to files under this path |
157
155
  | `--include-fixtures` | Include fixture/vendor paths in output |
158
156
 
159
- ### `npx indexer-cli context`
160
-
161
- Output dense project context aggregated from the index. Useful for getting a concise overview of a codebase area
162
- without pulling in entire files.
163
-
164
- | Option | Default | Description |
165
- |-----------------------|---------|-----------------------------------------------------------------|
166
- | `--scope <scope>` | all | `all`, `changed` (uncommitted changes), or `relevant-to:<path>` |
167
- | `--max-deps <number>` | 30 | Maximum number of dependency edges to output |
168
- | `--include-fixtures` | — | Include fixture/vendor paths in output |
169
-
170
157
  ### `npx indexer-cli explain <symbol>`
171
158
 
172
159
  Show context for a symbol: its signature, callers, and containing module. Use this to quickly understand what a
@@ -212,36 +212,6 @@ Imports and preamble are excluded by default. Use \`--include-imports\` to inclu
212
212
  ],
213
213
  cliReference: ["Options: --path-prefix <string>, --include-fixtures."],
214
214
  },
215
- {
216
- name: "repo-context",
217
- directory: "repo-context",
218
- description: "FIRST choice for changed-area and subsystem summaries. Load this before opening many files when you need whole-repo orientation, changed-scope context, or a dependency-neighborhood snapshot without exact implementation snippets. ALWAYS pass --scope; without it the output can exceed 5000 tokens.",
219
- heading: "Use repo-context for dense summaries",
220
- useWhen: "Use this when the agent wants a compressed view of a subsystem, changed area, or dependency neighborhood without opening many files.",
221
- focusHint: "Keep the scope explicit so the summary stays dense instead of drifting across the repo.",
222
- allowedTools: ["Bash(npx -y indexer-cli context:*)"],
223
- rules: [
224
- "Prefer context when you want breadth over exact source snippets.",
225
- "ALWAYS use --scope — default `--scope all` outputs every symbol in the repo. Use --scope relevant-to:<path> for a focused neighborhood or --scope changed for uncommitted changes.",
226
- "Use --compact to omit symbol signatures and show only file::name (kind) — saves ~50% tokens.",
227
- "Lower --max-deps when you need a tighter prompt budget.",
228
- "Tests are excluded by default. Add --include-tests to see test files and symbols.",
229
- ],
230
- skipWhen: [
231
- "You need exact implementation locations or ranked chunks",
232
- "You need a file tree or architecture graph instead of a summary",
233
- ],
234
- commandSamples: [
235
- "npx -y indexer-cli context --scope relevant-to:<area>",
236
- "npx -y indexer-cli context --scope changed",
237
- "npx -y indexer-cli context --scope relevant-to:<area> --max-deps 10 --compact",
238
- ],
239
- cliReference: [
240
- "Options: --scope <scope>, --max-deps <number>, --include-fixtures, --include-tests, --compact.",
241
- "Allowed --scope values: all, changed, relevant-to:<path>.",
242
- "--compact omits symbol signatures for token savings. --include-tests includes test files.",
243
- ],
244
- },
245
215
  {
246
216
  name: "symbol-explain",
247
217
  directory: "symbol-explain",
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/commands/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/commands/skills.ts"],"names":[],"mappings":"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"}
package/dist/cli/entry.js CHANGED
@@ -8,10 +8,10 @@ const structure_js_1 = require("./commands/structure.js");
8
8
  const architecture_js_1 = require("./commands/architecture.js");
9
9
  const uninstall_js_1 = require("./commands/uninstall.js");
10
10
  const setup_js_1 = require("./commands/setup.js");
11
- const context_js_1 = require("./commands/context.js");
12
11
  const explain_js_1 = require("./commands/explain.js");
13
12
  const deps_js_1 = require("./commands/deps.js");
14
13
  const version_js_1 = require("../core/version.js");
14
+ const skills_version_js_1 = require("../core/skills-version.js");
15
15
  const version_check_js_1 = require("../core/version-check.js");
16
16
  const help_text_js_1 = require("./help-text.js");
17
17
  const SKIP_MIGRATION_COMMANDS = new Set(["setup", "init", "uninstall"]);
@@ -31,7 +31,7 @@ function isHandledCommanderExit(error) {
31
31
  commander_1.program
32
32
  .name("indexer-cli")
33
33
  .description("Lightweight project indexer with semantic search. Run project commands from the root of the target project; `setup` can run anywhere.")
34
- .version(version_js_1.PACKAGE_VERSION)
34
+ .version(`${version_js_1.PACKAGE_VERSION} (skills: ${skills_version_js_1.SKILLS_VERSION})`)
35
35
  .addHelpText("after", `\n${help_text_js_1.PROJECT_ROOT_PROGRAM_HELP}\n`)
36
36
  .exitOverride();
37
37
  (0, setup_js_1.registerSetupCommand)(commander_1.program);
@@ -40,7 +40,6 @@ commander_1.program
40
40
  (0, search_js_1.registerSearchCommand)(commander_1.program);
41
41
  (0, structure_js_1.registerStructureCommand)(commander_1.program);
42
42
  (0, architecture_js_1.registerArchitectureCommand)(commander_1.program);
43
- (0, context_js_1.registerContextCommand)(commander_1.program);
44
43
  (0, explain_js_1.registerExplainCommand)(commander_1.program);
45
44
  (0, deps_js_1.registerDepsCommand)(commander_1.program);
46
45
  (0, uninstall_js_1.registerUninstallCommand)(commander_1.program);
@@ -1 +1 @@
1
- {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/cli/entry.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,gDAAyD;AACzD,kDAA2D;AAC3D,oDAA6D;AAC7D,0DAAmE;AACnE,gEAAyE;AACzE,0DAAmE;AACnE,kDAA2D;AAC3D,sDAA+D;AAC/D,sDAA+D;AAC/D,gDAAyD;AACzD,mDAAqD;AACrD,+DAGkC;AAClC,iDAA2D;AAE3D,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAExE,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC5C,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,0BAA0B;CAC1B,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,mBAAO;KACL,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CACX,uIAAuI,CACvI;KACA,OAAO,CAAC,4BAAe,CAAC;KACxB,WAAW,CAAC,OAAO,EAAE,KAAK,wCAAyB,IAAI,CAAC;KACxD,YAAY,EAAE,CAAC;AAEjB,IAAA,+BAAoB,EAAC,mBAAO,CAAC,CAAC;AAC9B,IAAA,6BAAmB,EAAC,mBAAO,CAAC,CAAC;AAC7B,IAAA,+BAAoB,EAAC,mBAAO,CAAC,CAAC;AAC9B,IAAA,iCAAqB,EAAC,mBAAO,CAAC,CAAC;AAC/B,IAAA,uCAAwB,EAAC,mBAAO,CAAC,CAAC;AAClC,IAAA,6CAA2B,EAAC,mBAAO,CAAC,CAAC;AACrC,IAAA,mCAAsB,EAAC,mBAAO,CAAC,CAAC;AAChC,IAAA,mCAAsB,EAAC,mBAAO,CAAC,CAAC;AAChC,IAAA,6BAAmB,EAAC,mBAAO,CAAC,CAAC;AAC7B,IAAA,uCAAwB,EAAC,mBAAO,CAAC,CAAC;AAElC,mBAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE;IAC9D,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAA,0CAAuB,GAAE,CAAC;QAChC,MAAM,IAAA,wCAAqB,GAAE,CAAC;IAC/B,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IAClB,IAAI,CAAC;QACJ,MAAM,mBAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;AACF,CAAC;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/cli/entry.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,gDAAyD;AACzD,kDAA2D;AAC3D,oDAA6D;AAC7D,0DAAmE;AACnE,gEAAyE;AACzE,0DAAmE;AACnE,kDAA2D;AAC3D,sDAA+D;AAC/D,gDAAyD;AACzD,mDAAqD;AACrD,iEAA2D;AAC3D,+DAGkC;AAClC,iDAA2D;AAE3D,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAExE,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC5C,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;IACnB,0BAA0B;CAC1B,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,mBAAO;KACL,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CACX,uIAAuI,CACvI;KACA,OAAO,CAAC,GAAG,4BAAe,aAAa,kCAAc,GAAG,CAAC;KACzD,WAAW,CAAC,OAAO,EAAE,KAAK,wCAAyB,IAAI,CAAC;KACxD,YAAY,EAAE,CAAC;AAEjB,IAAA,+BAAoB,EAAC,mBAAO,CAAC,CAAC;AAC9B,IAAA,6BAAmB,EAAC,mBAAO,CAAC,CAAC;AAC7B,IAAA,+BAAoB,EAAC,mBAAO,CAAC,CAAC;AAC9B,IAAA,iCAAqB,EAAC,mBAAO,CAAC,CAAC;AAC/B,IAAA,uCAAwB,EAAC,mBAAO,CAAC,CAAC;AAClC,IAAA,6CAA2B,EAAC,mBAAO,CAAC,CAAC;AACrC,IAAA,mCAAsB,EAAC,mBAAO,CAAC,CAAC;AAChC,IAAA,6BAAmB,EAAC,mBAAO,CAAC,CAAC;AAC7B,IAAA,uCAAwB,EAAC,mBAAO,CAAC,CAAC;AAElC,mBAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE;IAC9D,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAA,0CAAuB,GAAE,CAAC;QAChC,MAAM,IAAA,wCAAqB,GAAE,CAAC;IAC/B,CAAC;AACF,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IAClB,IAAI,CAAC;QACJ,MAAM,mBAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;AACF,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PROJECT_ROOT_PROGRAM_HELP = exports.PROJECT_ROOT_COMMAND_HELP = void 0;
4
4
  exports.PROJECT_ROOT_COMMAND_HELP = "Run this command from the root of the target project.";
5
5
  exports.PROJECT_ROOT_PROGRAM_HELP = [
6
- "Project commands (`init`, `index`, `search`, `structure`, `architecture`, `context`, `explain`, `deps`, `uninstall`) must be run from the root of the target project.",
6
+ "Project commands (`init`, `index`, `search`, `structure`, `architecture`, `explain`, `deps`, `uninstall`) must be run from the root of the target project.",
7
7
  "`setup` only prepares local machine dependencies and can be run from anywhere.",
8
8
  ].join("\n");
9
9
  //# sourceMappingURL=help-text.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"help-text.js","sourceRoot":"","sources":["../../src/cli/help-text.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GACrC,uDAAuD,CAAC;AAE5C,QAAA,yBAAyB,GAAG;IACxC,uKAAuK;IACvK,gFAAgF;CAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"help-text.js","sourceRoot":"","sources":["../../src/cli/help-text.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GACrC,uDAAuD,CAAC;AAE5C,QAAA,yBAAyB,GAAG;IACxC,4JAA4J;IAC5J,gFAAgF;CAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -1 +1 @@
1
- export declare const SKILLS_VERSION = 3033707447;
1
+ export declare const SKILLS_VERSION = 1232892283;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SKILLS_VERSION = void 0;
4
- exports.SKILLS_VERSION = 3033707447;
4
+ exports.SKILLS_VERSION = 1232892283;
5
5
  //# sourceMappingURL=skills-version.js.map
@@ -102,6 +102,7 @@ async function checkAndRefreshSkills() {
102
102
  if (storedSkillsVersion === skills_version_js_1.SKILLS_VERSION) {
103
103
  return false;
104
104
  }
105
+ console.error(`indexer-cli: skills updated (version ${storedSkillsVersion ?? "none"} → ${skills_version_js_1.SKILLS_VERSION}). Refreshing .claude/skills/...`);
105
106
  await (0, init_js_2.refreshClaudeSkills)(projectRoot);
106
107
  const raw = (0, node_fs_1.readFileSync)(configPath, "utf8");
107
108
  const parsed = JSON.parse(raw);
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/core/version-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../src/core/version-check.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "indexer-cli",
3
- "version": "0.9.10",
3
+ "version": "0.9.12",
4
4
  "description": "Lightweight CLI project indexer with semantic search via Ollama",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,8 +26,6 @@
26
26
  "indexer-cli:init": "tsx bin/indexer-cli.js init",
27
27
  "indexer-cli:uninstall": "tsx bin/indexer-cli.js uninstall -f",
28
28
  "refresh-skills": "tsx bin/indexer-cli.js init --refresh-skills",
29
- "install:global": "npm run build && npm link --force",
30
- "uninstall:global": "npm unlink -g indexer-cli",
31
29
  "test": "vitest run tests/unit/",
32
30
  "test:full": "vitest run tests/unit/ tests/cli/ --testTimeout=180000",
33
31
  "test:watch": "vitest",
@@ -1,2 +0,0 @@
1
- import type { Command } from "commander";
2
- export declare function registerContextCommand(program: Command): void;
@@ -1,298 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.registerContextCommand = registerContextCommand;
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const config_js_1 = require("../../core/config.js");
9
- const logger_js_1 = require("../../core/logger.js");
10
- const types_js_1 = require("../../core/types.js");
11
- const architecture_js_1 = require("../../engine/architecture.js");
12
- const git_js_1 = require("../../engine/git.js");
13
- const sqlite_js_1 = require("../../storage/sqlite.js");
14
- const help_text_js_1 = require("../help-text.js");
15
- const ensure_indexed_js_1 = require("./ensure-indexed.js");
16
- const DEFAULT_TEST_EXCLUDE_PATH_PATTERNS = ["tests/**", "**/tests/**"];
17
- function estimateTokens(data) {
18
- let charCount = 0;
19
- if (data.architecture) {
20
- charCount += Object.entries(data.architecture.fileStats)
21
- .map(([k, v]) => `${k}: ${v}`)
22
- .join(", ").length;
23
- charCount += data.architecture.entrypoints.join(", ").length;
24
- }
25
- for (const mod of data.modules)
26
- charCount += mod.path.length + 1;
27
- for (const sym of data.symbols) {
28
- charCount +=
29
- `${sym.file}::${sym.name} (${sym.kind})${sym.signature ? ` — ${sym.signature}` : ""}`
30
- .length + 1;
31
- }
32
- for (const [from, to] of Object.entries(data.dependencies)) {
33
- charCount += `${from} -> ${to.join(", ")}`.length + 1;
34
- }
35
- return Math.ceil(charCount / 4);
36
- }
37
- function parseMaxDeps(input) {
38
- if (!input) {
39
- return undefined;
40
- }
41
- const parsed = Number.parseInt(input, 10);
42
- if (!Number.isFinite(parsed) || parsed <= 0) {
43
- throw new Error("--max-deps must be a positive integer.");
44
- }
45
- return parsed;
46
- }
47
- function limitDependencies(dependencies, maxDeps) {
48
- const entries = Object.entries(dependencies).sort((a, b) => a[0].localeCompare(b[0]));
49
- if (maxDeps === undefined || entries.length <= maxDeps) {
50
- return {
51
- dependencies: Object.fromEntries(entries),
52
- shown: entries.length,
53
- total: entries.length,
54
- truncated: false,
55
- };
56
- }
57
- return {
58
- dependencies: Object.fromEntries(entries.slice(0, maxDeps)),
59
- shown: maxDeps,
60
- total: entries.length,
61
- truncated: true,
62
- };
63
- }
64
- function normalizeScopePath(inputPath, resolvedProjectPath) {
65
- const projectRelativePath = node_path_1.default.isAbsolute(inputPath)
66
- ? node_path_1.default.relative(resolvedProjectPath, inputPath)
67
- : inputPath;
68
- return projectRelativePath.replace(/\\/g, "/").replace(/^\.\//, "");
69
- }
70
- function formatPlain(data, options) {
71
- if (data.modules.length > 0) {
72
- console.log("## Modules\n");
73
- for (const mod of data.modules) {
74
- console.log(mod.path);
75
- }
76
- }
77
- if (data.symbols.length > 0) {
78
- console.log("\n## Key Symbols\n");
79
- for (const sym of data.symbols) {
80
- const sig = options?.compact
81
- ? ""
82
- : sym.signature
83
- ? ` — ${sym.signature}`
84
- : "";
85
- console.log(`${sym.file}::${sym.name} (${sym.kind})${sig}`);
86
- }
87
- }
88
- const depEntries = Object.entries(data.dependencies).sort((a, b) => a[0].localeCompare(b[0]));
89
- if (depEntries.length > 0) {
90
- console.log("\n## Module Dependencies\n");
91
- for (const [from, to] of depEntries) {
92
- console.log(`${from} -> ${to.join(", ")}`);
93
- }
94
- }
95
- }
96
- function registerContextCommand(program) {
97
- program
98
- .command("context")
99
- .description("Output dense project context aggregated from the index")
100
- .addHelpText("after", `\n${help_text_js_1.PROJECT_ROOT_COMMAND_HELP}\n`)
101
- .option("--scope <scope>", "scope: all, changed (uncommitted changes), or relevant-to:<path>", "all")
102
- .option("--max-deps <number>", "maximum number of dependency edges to output", "30")
103
- .option("--include-fixtures", "include fixture/vendor paths in output")
104
- .option("--include-tests", "include test paths in output")
105
- .option("--compact", "use compact one-line-per-symbol output")
106
- .action(async (options) => {
107
- const resolvedProjectPath = process.cwd();
108
- const dataDir = node_path_1.default.join(resolvedProjectPath, ".indexer-cli");
109
- const dbPath = node_path_1.default.join(dataDir, "db.sqlite");
110
- const maxDeps = parseMaxDeps(options?.maxDeps);
111
- const scope = options?.scope ?? "all";
112
- const relevantToPrefix = "relevant-to:";
113
- (0, logger_js_1.initLogger)(dataDir);
114
- config_js_1.config.load(dataDir);
115
- const metadata = new sqlite_js_1.SqliteMetadataStore(dbPath);
116
- try {
117
- await metadata.initialize();
118
- await (0, ensure_indexed_js_1.ensureIndexed)(metadata, resolvedProjectPath, {
119
- silent: false,
120
- });
121
- const snapshot = await metadata.getLatestCompletedSnapshot(types_js_1.DEFAULT_PROJECT_ID);
122
- if (!snapshot) {
123
- throw new Error("No completed snapshot found.");
124
- }
125
- let scopeFilePaths = null;
126
- let scopeWarning;
127
- let normalizedTargetPath;
128
- if (scope === "changed") {
129
- const git = new git_js_1.SimpleGitOperations();
130
- const changes = await git.getWorkingTreeChanges(resolvedProjectPath);
131
- scopeFilePaths = new Set([...changes.added, ...changes.modified]);
132
- }
133
- const [files, allSymbols, archArtifact] = await Promise.all([
134
- metadata.listFiles(types_js_1.DEFAULT_PROJECT_ID, snapshot.id),
135
- metadata.listSymbols(types_js_1.DEFAULT_PROJECT_ID, snapshot.id),
136
- metadata.getArtifact(types_js_1.DEFAULT_PROJECT_ID, snapshot.id, "architecture_snapshot", "project"),
137
- ]);
138
- const rawArchitecture = archArtifact
139
- ? JSON.parse(archArtifact.dataJson)
140
- : null;
141
- const architecture = rawArchitecture
142
- ? options?.includeFixtures
143
- ? rawArchitecture
144
- : (0, architecture_js_1.filterArchitectureSnapshot)(rawArchitecture, config_js_1.config.get("excludePaths"))
145
- : null;
146
- if (scope.startsWith(relevantToPrefix)) {
147
- const targetPath = normalizeScopePath(scope.slice(relevantToPrefix.length), resolvedProjectPath);
148
- normalizedTargetPath = targetPath.replace(/\/+$/, "");
149
- // Strategy 1: exact file match → file-level 1-hop neighborhood
150
- const targetFile = await metadata.getFile(types_js_1.DEFAULT_PROJECT_ID, snapshot.id, normalizedTargetPath);
151
- if (targetFile) {
152
- const [callees, callers] = await Promise.all([
153
- metadata.listDependencies(types_js_1.DEFAULT_PROJECT_ID, snapshot.id, normalizedTargetPath),
154
- metadata.getDependents(types_js_1.DEFAULT_PROJECT_ID, snapshot.id, normalizedTargetPath),
155
- ]);
156
- const neighborhood = new Set([normalizedTargetPath]);
157
- for (const dep of callees) {
158
- if (dep.dependencyType === "internal" && dep.toPath) {
159
- neighborhood.add(dep.toPath);
160
- }
161
- }
162
- for (const dep of callers) {
163
- if (dep.dependencyType === "internal") {
164
- neighborhood.add(dep.fromPath);
165
- }
166
- }
167
- if (neighborhood.size > 1) {
168
- scopeFilePaths = neighborhood;
169
- }
170
- else {
171
- scopeFilePaths = neighborhood;
172
- }
173
- }
174
- else {
175
- // Strategy 2: directory/module path → module-level expansion
176
- const targetDirectoryPrefix = `${normalizedTargetPath}/`;
177
- const moduleFiles = architecture?.module_files ?? {};
178
- const dependencyMap = architecture?.dependency_map?.internal ?? {};
179
- const targetModuleKey = Object.entries(moduleFiles).find(([, moduleFilePaths]) => moduleFilePaths.some((filePath) => normalizeScopePath(filePath, resolvedProjectPath) ===
180
- normalizedTargetPath))?.[0];
181
- const targetModuleKeys = targetModuleKey
182
- ? new Set([targetModuleKey])
183
- : new Set(Object.entries(moduleFiles)
184
- .filter(([, moduleFilePaths]) => moduleFilePaths.some((filePath) => normalizeScopePath(filePath, resolvedProjectPath).startsWith(targetDirectoryPrefix)))
185
- .map(([moduleKey]) => moduleKey));
186
- if (targetModuleKeys.size > 0) {
187
- const relatedModuleKeys = new Set(targetModuleKeys);
188
- for (const moduleKey of targetModuleKeys) {
189
- for (const dependencyModule of dependencyMap[moduleKey] ??
190
- []) {
191
- relatedModuleKeys.add(dependencyModule);
192
- }
193
- }
194
- for (const [fromModule, toModules] of Object.entries(dependencyMap)) {
195
- if (toModules.some((toModule) => targetModuleKeys.has(toModule))) {
196
- relatedModuleKeys.add(fromModule);
197
- }
198
- }
199
- scopeFilePaths = new Set(Array.from(relatedModuleKeys).flatMap((moduleKey) => moduleFiles[moduleKey] ?? []));
200
- }
201
- else {
202
- scopeWarning = `No indexed file or module found for path \"${normalizedTargetPath}\". Returning empty context.`;
203
- scopeFilePaths = new Set();
204
- }
205
- }
206
- }
207
- const scopedFiles = scopeFilePaths !== null
208
- ? files.filter((file) => scopeFilePaths.has(file.path))
209
- : files;
210
- const excludePatterns = [
211
- ...(options?.includeFixtures ? [] : config_js_1.config.get("excludePaths")),
212
- ...(options?.includeTests
213
- ? []
214
- : DEFAULT_TEST_EXCLUDE_PATH_PATTERNS),
215
- ];
216
- const visibleFiles = excludePatterns.length === 0
217
- ? scopedFiles
218
- : scopedFiles.filter((file) => !(0, architecture_js_1.matchesPathPatterns)(file.path, excludePatterns));
219
- const filePathSet = new Set(visibleFiles.map((file) => file.path));
220
- const visibleSymbols = allSymbols.filter((symbol) => filePathSet.has(symbol.filePath));
221
- let scopedDependencies;
222
- const isFileLevelScope = scopeFilePaths !== null &&
223
- scopeFilePaths.size > 0 &&
224
- normalizedTargetPath !== undefined &&
225
- scopeFilePaths.has(normalizedTargetPath);
226
- if (isFileLevelScope) {
227
- const allDeps = await metadata.listDependencies(types_js_1.DEFAULT_PROJECT_ID, snapshot.id);
228
- const fileDepMap = {};
229
- for (const dep of allDeps) {
230
- if (dep.dependencyType !== "internal" ||
231
- !dep.toPath ||
232
- !filePathSet.has(dep.fromPath) ||
233
- !filePathSet.has(dep.toPath)) {
234
- continue;
235
- }
236
- if (!fileDepMap[dep.fromPath]) {
237
- fileDepMap[dep.fromPath] = new Set();
238
- }
239
- fileDepMap[dep.fromPath].add(dep.toPath);
240
- }
241
- scopedDependencies = Object.fromEntries(Object.entries(fileDepMap).map(([k, v]) => [
242
- k,
243
- Array.from(v).sort(),
244
- ]));
245
- }
246
- else {
247
- const dependencyCandidates = architecture?.dependency_map?.internal ?? {};
248
- const moduleFiles = architecture?.module_files ?? {};
249
- const scopedModuleKeys = scopeFilePaths === null
250
- ? null
251
- : new Set(Object.entries(moduleFiles)
252
- .filter(([, moduleFilePaths]) => moduleFilePaths.some((filePath) => filePathSet.has(filePath)))
253
- .map(([moduleKey]) => moduleKey));
254
- scopedDependencies =
255
- scopedModuleKeys === null
256
- ? dependencyCandidates
257
- : Object.fromEntries(Object.entries(dependencyCandidates).filter(([fromModule]) => scopedModuleKeys.has(fromModule)));
258
- }
259
- const limitedDependencies = limitDependencies(scopedDependencies, maxDeps);
260
- if (limitedDependencies.truncated) {
261
- console.error(`Showing ${limitedDependencies.shown} of ${limitedDependencies.total} dependencies. Use --max-deps to see more.`);
262
- }
263
- const filesWithExports = new Set(visibleSymbols
264
- .filter((symbol) => symbol.exported)
265
- .map((symbol) => symbol.filePath));
266
- const seedFilePath = isFileLevelScope
267
- ? normalizedTargetPath
268
- : undefined;
269
- const contextData = {
270
- modules: visibleFiles
271
- .filter((file) => filesWithExports.has(file.path) || file.path === seedFilePath)
272
- .map((file) => ({ path: file.path })),
273
- symbols: visibleSymbols
274
- .filter((symbol) => symbol.exported)
275
- .map((symbol) => ({
276
- file: symbol.filePath,
277
- name: symbol.name,
278
- kind: symbol.kind,
279
- signature: symbol.signature,
280
- })),
281
- dependencies: limitedDependencies.dependencies,
282
- };
283
- if (scopeWarning) {
284
- console.warn(`Warning: ${scopeWarning}`);
285
- }
286
- formatPlain(contextData, { compact: options?.compact });
287
- }
288
- catch (error) {
289
- const message = error instanceof Error ? error.message : String(error);
290
- console.error(`Context command failed: ${message}`);
291
- process.exitCode = 1;
292
- }
293
- finally {
294
- await metadata.close().catch(() => undefined);
295
- }
296
- });
297
- }
298
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/cli/commands/context.ts"],"names":[],"mappings":"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"}