indexer-cli 0.10.5 → 0.10.6

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // temp
4
+ //# sourceMappingURL=_temp_test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_temp_test.js","sourceRoot":"","sources":["../src/_temp_test.ts"],"names":[],"mappings":";;AAAA,OAAO"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerContextCommand(program: Command): void;
@@ -0,0 +1,299 @@
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 project_path_js_1 = require("../project-path.js");
16
+ const ensure_indexed_js_1 = require("./ensure-indexed.js");
17
+ const DEFAULT_TEST_EXCLUDE_PATH_PATTERNS = ["tests/**", "**/tests/**"];
18
+ function estimateTokens(data) {
19
+ let charCount = 0;
20
+ if (data.architecture) {
21
+ charCount += Object.entries(data.architecture.fileStats)
22
+ .map(([k, v]) => `${k}: ${v}`)
23
+ .join(", ").length;
24
+ charCount += data.architecture.entrypoints.join(", ").length;
25
+ }
26
+ for (const mod of data.modules)
27
+ charCount += mod.path.length + 1;
28
+ for (const sym of data.symbols) {
29
+ charCount +=
30
+ `${sym.file}::${sym.name} (${sym.kind})${sym.signature ? ` — ${sym.signature}` : ""}`
31
+ .length + 1;
32
+ }
33
+ for (const [from, to] of Object.entries(data.dependencies)) {
34
+ charCount += `${from} -> ${to.join(", ")}`.length + 1;
35
+ }
36
+ return Math.ceil(charCount / 4);
37
+ }
38
+ function parseMaxDeps(input) {
39
+ if (!input) {
40
+ return undefined;
41
+ }
42
+ const parsed = Number.parseInt(input, 10);
43
+ if (!Number.isFinite(parsed) || parsed <= 0) {
44
+ throw new Error("--max-deps must be a positive integer.");
45
+ }
46
+ return parsed;
47
+ }
48
+ function limitDependencies(dependencies, maxDeps) {
49
+ const entries = Object.entries(dependencies).sort((a, b) => a[0].localeCompare(b[0]));
50
+ if (maxDeps === undefined || entries.length <= maxDeps) {
51
+ return {
52
+ dependencies: Object.fromEntries(entries),
53
+ shown: entries.length,
54
+ total: entries.length,
55
+ truncated: false,
56
+ };
57
+ }
58
+ return {
59
+ dependencies: Object.fromEntries(entries.slice(0, maxDeps)),
60
+ shown: maxDeps,
61
+ total: entries.length,
62
+ truncated: true,
63
+ };
64
+ }
65
+ function normalizeScopePath(inputPath, resolvedProjectPath) {
66
+ const projectRelativePath = node_path_1.default.isAbsolute(inputPath)
67
+ ? node_path_1.default.relative(resolvedProjectPath, inputPath)
68
+ : inputPath;
69
+ return projectRelativePath.replace(/\\/g, "/").replace(/^\.\//, "");
70
+ }
71
+ function formatPlain(data, options) {
72
+ if (data.modules.length > 0) {
73
+ console.log("## Modules\n");
74
+ for (const mod of data.modules) {
75
+ console.log(mod.path);
76
+ }
77
+ }
78
+ if (data.symbols.length > 0) {
79
+ console.log("\n## Key Symbols\n");
80
+ for (const sym of data.symbols) {
81
+ const sig = options?.compact
82
+ ? ""
83
+ : sym.signature
84
+ ? ` — ${sym.signature}`
85
+ : "";
86
+ console.log(`${sym.file}::${sym.name} (${sym.kind})${sig}`);
87
+ }
88
+ }
89
+ const depEntries = Object.entries(data.dependencies).sort((a, b) => a[0].localeCompare(b[0]));
90
+ if (depEntries.length > 0) {
91
+ console.log("\n## Module Dependencies\n");
92
+ for (const [from, to] of depEntries) {
93
+ console.log(`${from} -> ${to.join(", ")}`);
94
+ }
95
+ }
96
+ }
97
+ function registerContextCommand(program) {
98
+ program
99
+ .command("context")
100
+ .description("Output dense project context aggregated from the index")
101
+ .addHelpText("after", `\n${help_text_js_1.PROJECT_ROOT_COMMAND_HELP}\n`)
102
+ .option("--scope <scope>", "scope: all, changed (uncommitted changes), or relevant-to:<path>", "all")
103
+ .option("--max-deps <number>", "maximum number of dependency edges to output", "30")
104
+ .option("--include-fixtures", "include fixture/vendor paths in output")
105
+ .option("--include-tests", "include test paths in output")
106
+ .option("--compact", "use compact one-line-per-symbol output")
107
+ .action(async (options) => {
108
+ const resolvedProjectPath = (0, project_path_js_1.getResolvedProjectPath)();
109
+ const dataDir = node_path_1.default.join(resolvedProjectPath, ".indexer-cli");
110
+ const dbPath = node_path_1.default.join(dataDir, "db.sqlite");
111
+ const maxDeps = parseMaxDeps(options?.maxDeps);
112
+ const scope = options?.scope ?? "all";
113
+ const relevantToPrefix = "relevant-to:";
114
+ (0, logger_js_1.initLogger)(dataDir);
115
+ config_js_1.config.load(dataDir);
116
+ const metadata = new sqlite_js_1.SqliteMetadataStore(dbPath);
117
+ try {
118
+ await metadata.initialize();
119
+ await (0, ensure_indexed_js_1.ensureIndexed)(metadata, resolvedProjectPath, {
120
+ silent: false,
121
+ });
122
+ const snapshot = await metadata.getLatestCompletedSnapshot(types_js_1.DEFAULT_PROJECT_ID);
123
+ if (!snapshot) {
124
+ throw new Error("No completed snapshot found.");
125
+ }
126
+ let scopeFilePaths = null;
127
+ let scopeWarning;
128
+ let normalizedTargetPath;
129
+ if (scope === "changed") {
130
+ const git = new git_js_1.SimpleGitOperations();
131
+ const changes = await git.getWorkingTreeChanges(resolvedProjectPath);
132
+ scopeFilePaths = new Set([...changes.added, ...changes.modified]);
133
+ }
134
+ const [files, allSymbols, archArtifact] = await Promise.all([
135
+ metadata.listFiles(types_js_1.DEFAULT_PROJECT_ID, snapshot.id),
136
+ metadata.listSymbols(types_js_1.DEFAULT_PROJECT_ID, snapshot.id),
137
+ metadata.getArtifact(types_js_1.DEFAULT_PROJECT_ID, snapshot.id, "architecture_snapshot", "project"),
138
+ ]);
139
+ const rawArchitecture = archArtifact
140
+ ? JSON.parse(archArtifact.dataJson)
141
+ : null;
142
+ const architecture = rawArchitecture
143
+ ? options?.includeFixtures
144
+ ? rawArchitecture
145
+ : (0, architecture_js_1.filterArchitectureSnapshot)(rawArchitecture, config_js_1.config.get("excludePaths"))
146
+ : null;
147
+ if (scope.startsWith(relevantToPrefix)) {
148
+ const targetPath = normalizeScopePath(scope.slice(relevantToPrefix.length), resolvedProjectPath);
149
+ normalizedTargetPath = targetPath.replace(/\/+$/, "");
150
+ // Strategy 1: exact file match → file-level 1-hop neighborhood
151
+ const targetFile = await metadata.getFile(types_js_1.DEFAULT_PROJECT_ID, snapshot.id, normalizedTargetPath);
152
+ if (targetFile) {
153
+ const [callees, callers] = await Promise.all([
154
+ metadata.listDependencies(types_js_1.DEFAULT_PROJECT_ID, snapshot.id, normalizedTargetPath),
155
+ metadata.getDependents(types_js_1.DEFAULT_PROJECT_ID, snapshot.id, normalizedTargetPath),
156
+ ]);
157
+ const neighborhood = new Set([normalizedTargetPath]);
158
+ for (const dep of callees) {
159
+ if (dep.dependencyType === "internal" && dep.toPath) {
160
+ neighborhood.add(dep.toPath);
161
+ }
162
+ }
163
+ for (const dep of callers) {
164
+ if (dep.dependencyType === "internal") {
165
+ neighborhood.add(dep.fromPath);
166
+ }
167
+ }
168
+ if (neighborhood.size > 1) {
169
+ scopeFilePaths = neighborhood;
170
+ }
171
+ else {
172
+ scopeFilePaths = neighborhood;
173
+ }
174
+ }
175
+ else {
176
+ // Strategy 2: directory/module path → module-level expansion
177
+ const targetDirectoryPrefix = `${normalizedTargetPath}/`;
178
+ const moduleFiles = architecture?.module_files ?? {};
179
+ const dependencyMap = architecture?.dependency_map?.internal ?? {};
180
+ const targetModuleKey = Object.entries(moduleFiles).find(([, moduleFilePaths]) => moduleFilePaths.some((filePath) => normalizeScopePath(filePath, resolvedProjectPath) ===
181
+ normalizedTargetPath))?.[0];
182
+ const targetModuleKeys = targetModuleKey
183
+ ? new Set([targetModuleKey])
184
+ : new Set(Object.entries(moduleFiles)
185
+ .filter(([, moduleFilePaths]) => moduleFilePaths.some((filePath) => normalizeScopePath(filePath, resolvedProjectPath).startsWith(targetDirectoryPrefix)))
186
+ .map(([moduleKey]) => moduleKey));
187
+ if (targetModuleKeys.size > 0) {
188
+ const relatedModuleKeys = new Set(targetModuleKeys);
189
+ for (const moduleKey of targetModuleKeys) {
190
+ for (const dependencyModule of dependencyMap[moduleKey] ??
191
+ []) {
192
+ relatedModuleKeys.add(dependencyModule);
193
+ }
194
+ }
195
+ for (const [fromModule, toModules] of Object.entries(dependencyMap)) {
196
+ if (toModules.some((toModule) => targetModuleKeys.has(toModule))) {
197
+ relatedModuleKeys.add(fromModule);
198
+ }
199
+ }
200
+ scopeFilePaths = new Set(Array.from(relatedModuleKeys).flatMap((moduleKey) => moduleFiles[moduleKey] ?? []));
201
+ }
202
+ else {
203
+ scopeWarning = `No indexed file or module found for path \"${normalizedTargetPath}\". Returning empty context.`;
204
+ scopeFilePaths = new Set();
205
+ }
206
+ }
207
+ }
208
+ const scopedFiles = scopeFilePaths !== null
209
+ ? files.filter((file) => scopeFilePaths.has(file.path))
210
+ : files;
211
+ const excludePatterns = [
212
+ ...(options?.includeFixtures ? [] : config_js_1.config.get("excludePaths")),
213
+ ...(options?.includeTests
214
+ ? []
215
+ : DEFAULT_TEST_EXCLUDE_PATH_PATTERNS),
216
+ ];
217
+ const visibleFiles = excludePatterns.length === 0
218
+ ? scopedFiles
219
+ : scopedFiles.filter((file) => !(0, architecture_js_1.matchesPathPatterns)(file.path, excludePatterns));
220
+ const filePathSet = new Set(visibleFiles.map((file) => file.path));
221
+ const visibleSymbols = allSymbols.filter((symbol) => filePathSet.has(symbol.filePath));
222
+ let scopedDependencies;
223
+ const isFileLevelScope = scopeFilePaths !== null &&
224
+ scopeFilePaths.size > 0 &&
225
+ normalizedTargetPath !== undefined &&
226
+ scopeFilePaths.has(normalizedTargetPath);
227
+ if (isFileLevelScope) {
228
+ const allDeps = await metadata.listDependencies(types_js_1.DEFAULT_PROJECT_ID, snapshot.id);
229
+ const fileDepMap = {};
230
+ for (const dep of allDeps) {
231
+ if (dep.dependencyType !== "internal" ||
232
+ !dep.toPath ||
233
+ !filePathSet.has(dep.fromPath) ||
234
+ !filePathSet.has(dep.toPath)) {
235
+ continue;
236
+ }
237
+ if (!fileDepMap[dep.fromPath]) {
238
+ fileDepMap[dep.fromPath] = new Set();
239
+ }
240
+ fileDepMap[dep.fromPath].add(dep.toPath);
241
+ }
242
+ scopedDependencies = Object.fromEntries(Object.entries(fileDepMap).map(([k, v]) => [
243
+ k,
244
+ Array.from(v).sort(),
245
+ ]));
246
+ }
247
+ else {
248
+ const dependencyCandidates = architecture?.dependency_map?.internal ?? {};
249
+ const moduleFiles = architecture?.module_files ?? {};
250
+ const scopedModuleKeys = scopeFilePaths === null
251
+ ? null
252
+ : new Set(Object.entries(moduleFiles)
253
+ .filter(([, moduleFilePaths]) => moduleFilePaths.some((filePath) => filePathSet.has(filePath)))
254
+ .map(([moduleKey]) => moduleKey));
255
+ scopedDependencies =
256
+ scopedModuleKeys === null
257
+ ? dependencyCandidates
258
+ : Object.fromEntries(Object.entries(dependencyCandidates).filter(([fromModule]) => scopedModuleKeys.has(fromModule)));
259
+ }
260
+ const limitedDependencies = limitDependencies(scopedDependencies, maxDeps);
261
+ if (limitedDependencies.truncated) {
262
+ console.error(`Showing ${limitedDependencies.shown} of ${limitedDependencies.total} dependencies. Use --max-deps to see more.`);
263
+ }
264
+ const filesWithExports = new Set(visibleSymbols
265
+ .filter((symbol) => symbol.exported)
266
+ .map((symbol) => symbol.filePath));
267
+ const seedFilePath = isFileLevelScope
268
+ ? normalizedTargetPath
269
+ : undefined;
270
+ const contextData = {
271
+ modules: visibleFiles
272
+ .filter((file) => filesWithExports.has(file.path) || file.path === seedFilePath)
273
+ .map((file) => ({ path: file.path })),
274
+ symbols: visibleSymbols
275
+ .filter((symbol) => symbol.exported)
276
+ .map((symbol) => ({
277
+ file: symbol.filePath,
278
+ name: symbol.name,
279
+ kind: symbol.kind,
280
+ signature: symbol.signature,
281
+ })),
282
+ dependencies: limitedDependencies.dependencies,
283
+ };
284
+ if (scopeWarning) {
285
+ console.warn(`Warning: ${scopeWarning}`);
286
+ }
287
+ formatPlain(contextData, { compact: options?.compact });
288
+ }
289
+ catch (error) {
290
+ const message = error instanceof Error ? error.message : String(error);
291
+ console.error(`Context command failed: ${message}`);
292
+ process.exitCode = 1;
293
+ }
294
+ finally {
295
+ await metadata.close().catch(() => undefined);
296
+ }
297
+ });
298
+ }
299
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/cli/commands/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Command } from "commander";
2
+ export declare function registerEnrichCommand(program: Command): void;
@@ -103,6 +103,9 @@ function registerSearchCommand(program) {
103
103
  const symbolPart = result.primarySymbol
104
104
  ? `, function: ${result.primarySymbol}`
105
105
  : "";
106
+ if (i > 0) {
107
+ console.log("");
108
+ }
106
109
  console.log(`${result.filePath}:${result.startLine}-${result.endLine} (score: ${result.score.toFixed(2)}${symbolPart})`);
107
110
  if (options?.includeContent) {
108
111
  console.log(result.content || "(content unavailable)");
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/cli/commands/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * SKILL.md template for Claude Code integration.
3
+ *
4
+ * Written to `.claude/skills/repo-discovery/SKILL.md` during `indexer-cli init`.
5
+ */
6
+ export declare const SKILL_MD: string;
@@ -0,0 +1,15 @@
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.SKILL_MD = void 0;
7
+ const node_fs_1 = require("node:fs");
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ /**
10
+ * SKILL.md template for Claude Code integration.
11
+ *
12
+ * Written to `.claude/skills/repo-discovery/SKILL.md` during `indexer-cli init`.
13
+ */
14
+ exports.SKILL_MD = (0, node_fs_1.readFileSync)(node_path_1.default.join(__dirname, "skill-template.md"), "utf8");
15
+ //# sourceMappingURL=skill-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-template.js","sourceRoot":"","sources":["../../../src/cli/commands/skill-template.ts"],"names":[],"mappings":";;;;;;AAAA,qCAAuC;AACvC,0DAA6B;AAE7B;;;;GAIG;AACU,QAAA,QAAQ,GAAG,IAAA,sBAAY,EACnC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,EACzC,MAAM,CACN,CAAC"}
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: repo-discovery
3
+ description: REQUIRED: use indexer-cli first for repo discovery in this repository, before grep/glob/find or broad file reads when finding implementations, tracing symbols or behavior, mapping structure, or exploring unfamiliar code.
4
+ allowed-tools: Bash(npx indexer-cli:*)
5
+ ---
6
+
7
+ # MANDATORY: use indexer-cli first for repo discovery
8
+
9
+ Use this skill for discovery work in this repo.
10
+ Auto-load it for requests to find, trace, inspect, understand, or map code here.
11
+
12
+ ## Auto-load when
13
+
14
+ - Find where something is implemented in this repo
15
+ - Trace a symbol, handler, feature, or behavior through the codebase
16
+ - Understand how some part of this repository works
17
+ - Inspect an unfamiliar module, directory, or subsystem
18
+ - Map entry points, dependencies, callers, or imports
19
+ - Explore the codebase when the right file is not known yet
20
+
21
+ ## Rules
22
+
23
+ - Start with `indexer-cli`.
24
+ - Do not start with `grep`, `glob`, `find`, or repeated full-file reads.
25
+ - Use literal search only after `indexer-cli` narrows the area or when the exact file is already known.
26
+
27
+ ## Skip when
28
+
29
+ - The exact file is already known and the task stays inside it
30
+ - You only need an exact literal text match
31
+ - The task is outside this repository
32
+
33
+ ## First commands
34
+
35
+ ```bash
36
+ npx indexer-cli search "<query>"
37
+ npx indexer-cli search "<query>" --path-prefix src/<area>
38
+ npx indexer-cli search "<query>" --chunk-types impl,types
39
+ npx indexer-cli structure --path-prefix src/<area>
40
+ npx indexer-cli structure --kind class
41
+ npx indexer-cli architecture
42
+ ```
43
+
44
+ ## Reading results
45
+
46
+ `npx indexer-cli search` returns ranked code chunks as JSON by default, not whole files.
47
+ Default fields: `filePath`, `startLine`, `endLine`, `score`, `primarySymbol`.
48
+ Add `--include-content` only when needed.
49
+
50
+ - Prefer default JSON output for agent workflows.
51
+ - Do not pipe `--txt` output through `head`, `tail`, or shell filtering unless a human explicitly needs text output.
52
+
53
+ - Use `score` to prefer the most relevant chunks first and filter obvious low-relevance noise.
54
+ - Use `primarySymbol` to see which function/class/type the chunk belongs to before opening the file.
55
+ - Treat `content` as supporting context, but rank and filter with `score` + `primarySymbol` instead of raw text alone.
56
+
57
+ ## Command map
58
+
59
+ Discovery: `npx indexer-cli search "<query>"`, `npx indexer-cli structure`, `npx indexer-cli architecture`,
60
+ `npx indexer-cli context`, `npx indexer-cli explain <symbol>`, `npx indexer-cli deps <path>`
61
+
62
+ Narrow when needed with: `--path-prefix`, `--chunk-types`, `--fields`, `--min-score`, `--kind`, `--max-depth`,
63
+ `--max-files`, `--scope`, `--max-deps`, `--direction`, `--include-fixtures`, `--omit-content`, `--include-content`
64
+
65
+ ## Type Reference
66
+
67
+ ### Chunk types (--chunk-types)
68
+
69
+ `full_file`, `imports`, `preamble`, `declaration`, `module_section`, `impl`, `types`
70
+
71
+ ### Symbol kinds (--kind)
72
+
73
+ `function`, `class`, `method`, `interface`, `type`, `variable`, `module`, `signal`
@@ -0,0 +1,4 @@
1
+ export type OutputModeOptions = {
2
+ txt?: boolean;
3
+ };
4
+ export declare function isJsonOutput(options?: OutputModeOptions): boolean;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isJsonOutput = isJsonOutput;
4
+ function isJsonOutput(options) {
5
+ return !options?.txt;
6
+ }
7
+ //# sourceMappingURL=output-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-mode.js","sourceRoot":"","sources":["../../src/cli/output-mode.ts"],"names":[],"mappings":";;AAIA,oCAEC;AAFD,SAAgB,YAAY,CAAC,OAA2B;IACvD,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACtB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function setResolvedProjectPath(p: string): void;
2
+ export declare function getResolvedProjectPath(): string;
3
+ export declare function resolveAndValidateProjectPath(projectFlag: string | undefined): string;
@@ -0,0 +1,39 @@
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.setResolvedProjectPath = setResolvedProjectPath;
7
+ exports.getResolvedProjectPath = getResolvedProjectPath;
8
+ exports.resolveAndValidateProjectPath = resolveAndValidateProjectPath;
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const node_fs_1 = require("node:fs");
11
+ let resolvedProjectPath;
12
+ function setResolvedProjectPath(p) {
13
+ resolvedProjectPath = p;
14
+ }
15
+ function getResolvedProjectPath() {
16
+ return resolvedProjectPath ?? process.cwd();
17
+ }
18
+ function resolveAndValidateProjectPath(projectFlag) {
19
+ if (!projectFlag) {
20
+ const cwd = process.cwd();
21
+ setResolvedProjectPath(cwd);
22
+ return cwd;
23
+ }
24
+ const resolved = node_path_1.default.resolve(projectFlag);
25
+ if (!(0, node_fs_1.existsSync)(resolved)) {
26
+ console.error(`Error: Project path does not exist: ${resolved}`);
27
+ process.exit(1);
28
+ }
29
+ const dbPath = node_path_1.default.join(resolved, ".indexer-cli", "db.sqlite");
30
+ if (!(0, node_fs_1.existsSync)(dbPath)) {
31
+ console.error(`Error: Project at ${resolved} is not indexed.`);
32
+ console.error(`No database found at ${dbPath}.`);
33
+ console.error(`Run 'indexer-cli init' in that directory first.`);
34
+ process.exit(1);
35
+ }
36
+ setResolvedProjectPath(resolved);
37
+ return resolved;
38
+ }
39
+ //# sourceMappingURL=project-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-path.js","sourceRoot":"","sources":["../../src/cli/project-path.ts"],"names":[],"mappings":";;;;;AAKA,wDAEC;AAED,wDAEC;AAED,sEA0BC;AAvCD,0DAA6B;AAC7B,qCAAqC;AAErC,IAAI,mBAAuC,CAAC;AAE5C,SAAgB,sBAAsB,CAAC,CAAS;IAC/C,mBAAmB,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAgB,sBAAsB;IACrC,OAAO,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAC7C,CAAC;AAED,SAAgB,6BAA6B,CAC5C,WAA+B;IAE/B,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3C,IAAI,CAAC,IAAA,oBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAChE,IAAI,CAAC,IAAA,oBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,qBAAqB,QAAQ,kBAAkB,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,wBAAwB,MAAM,GAAG,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const VERSION: string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VERSION = void 0;
4
+ const node_fs_1 = require("node:fs");
5
+ const node_path_1 = require("node:path");
6
+ const packageJsonPath = (0, node_path_1.resolve)(__dirname, "..", "..", "package.json");
7
+ const packageJson = JSON.parse((0, node_fs_1.readFileSync)(packageJsonPath, "utf-8"));
8
+ exports.VERSION = packageJson.version;
9
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/cli/version.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,yCAAoC;AAEpC,MAAM,eAAe,GAAG,IAAA,mBAAO,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AACvE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1D,QAAA,OAAO,GAAW,WAAW,CAAC,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "indexer-cli",
3
- "version": "0.10.5",
3
+ "version": "0.10.6",
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",