indexer-cli 0.2.12 → 0.3.5

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
@@ -1,13 +1,13 @@
1
1
  # indexer-cli
2
2
 
3
- Project indexer that installs a repo-discovery skill for coding agents and helps them spend fewer tokens finding the
3
+ Project indexer that installs focused discovery skills for coding agents and helps them spend fewer tokens finding the
4
4
  right code.
5
5
 
6
6
  ## Overview
7
7
 
8
8
  The main feature of `indexer-cli` is not just search on its own: it turns your repository into something coding agents
9
- can navigate efficiently. Running `indexer-cli init` installs a project-local `repo-discovery` skill that nudges Claude,
10
- OpenCode, and similar tools to use indexed repository discovery first instead of wasting tokens on blind `grep`,
9
+ can navigate efficiently. Running `indexer-cli init` installs project-local discovery skills with semantic names so
10
+ Claude, OpenCode, and similar tools can pick the right indexed workflow instead of wasting tokens on blind `grep`,
11
11
  `find`, and repeated file reads.
12
12
 
13
13
  Under the hood, `indexer-cli` indexes source code, generates vector embeddings through a local Ollama instance, and
@@ -16,7 +16,7 @@ search, repo structure snapshots, and low-friction incremental reindexing withou
16
16
 
17
17
  ## Features
18
18
 
19
- - **Code-agent repo skill**: `init` installs a project-local `repo-discovery` skill for Claude and OpenCode workflows
19
+ - **Code-agent repo skills**: `init` installs focused autonomous discovery skills for Claude and OpenCode workflows
20
20
  - **Token savings for agents**: Pushes agents toward indexed discovery instead of expensive blind search and repeated
21
21
  context loading
22
22
  - **Multi-language support**: TypeScript/JavaScript, Python, C#, GDScript, Ruby
@@ -40,7 +40,7 @@ search, repo structure snapshots, and low-friction incremental reindexing withou
40
40
  # 1. Check prerequisites and prepare the embedding model
41
41
  npx indexer-cli setup
42
42
 
43
- # 2. Initialize indexing and install the repo-discovery skill
43
+ # 2. Initialize indexing and install the discovery skills
44
44
  cd /path/to/your/project
45
45
  npx indexer-cli init
46
46
 
@@ -51,15 +51,17 @@ npx indexer-cli index
51
51
  npx indexer-cli search "authentication middleware" --txt
52
52
  ```
53
53
 
54
- After `init`, the repo also contains `.claude/skills/repo-discovery/SKILL.md`, so coding agents can be steered toward
54
+ After `init`, the repo contains focused skills like `.claude/skills/semantic-search/SKILL.md`,
55
+ `.claude/skills/repo-structure/SKILL.md`, `.claude/skills/repo-context/SKILL.md`, and
56
+ `.claude/skills/dependency-trace/SKILL.md`, so coding agents can load the right indexed discovery workflow for
55
57
  `npx indexer-cli search`, `npx indexer-cli structure`, `npx indexer-cli architecture`, `npx indexer-cli context`,
56
58
  `npx indexer-cli explain`, and `npx indexer-cli deps` before they start burning tokens on broad filesystem scans.
57
59
 
58
60
  ## Why agents save tokens with this
59
61
 
60
- Without a repo-local skill, agents often spend tokens on repetitive repository discovery: broad `grep`, repeated file
61
- reads, and trial-and-error navigation. With `indexer-cli`, the skill tells them to start from indexed search and
62
- structured repo views instead.
62
+ Without repo-local skills, agents often spend tokens on repetitive repository discovery: broad `grep`, repeated file
63
+ reads, and trial-and-error navigation. With `indexer-cli`, agents can load a focused skill that matches the current
64
+ discovery intent and start from indexed search or structure-aware commands immediately.
63
65
 
64
66
  In practice, that means:
65
67
 
@@ -70,23 +72,23 @@ In practice, that means:
70
72
 
71
73
  ## Agent Integration
72
74
 
73
- When you run `npx indexer-cli init`, the CLI creates a project-local repo-discovery skill at
74
- `.claude/skills/repo-discovery/SKILL.md` and adds `.claude/` to `.gitignore`.
75
+ When you run `npx indexer-cli init`, the CLI creates focused discovery skills for each major read-only discovery
76
+ command under `.claude/skills/` and adds `.claude/` to `.gitignore`.
75
77
 
76
- That skill tells coding agents to start repository discovery with commands like:
78
+ Those skills cover repository discovery flows such as:
77
79
 
78
80
  ```bash
79
81
  npx indexer-cli search "<query>"
80
82
  npx indexer-cli structure --path-prefix src/<area>
81
83
  npx indexer-cli architecture
82
- npx indexer-cli index --status
84
+ npx indexer-cli context --scope relevant-to:src/<area>
83
85
  ```
84
86
 
85
87
  By default, discovery commands now return JSON. Use `--txt` whenever you want human-readable output instead.
86
88
 
87
89
  This is especially useful in Claude and OpenCode setups, where project-local skills can guide the agent away from
88
- blind `grep`/`find` usage and toward indexed search first, which usually means less wasted context and lower token
89
- usage during repo discovery.
90
+ blind `grep`/`find` usage and toward indexed discovery, which usually means less wasted context and lower token usage
91
+ during repo discovery.
90
92
 
91
93
  ## CLI Commands
92
94
 
@@ -98,8 +100,12 @@ appropriate, but Ollama itself must be installed manually first. Works on macOS
98
100
  ### `npx indexer-cli init`
99
101
 
100
102
  Create the `.indexer-cli/` directory, initialize the SQLite database and LanceDB vector store, and add `.indexer-cli/`
101
- to `.gitignore` in the current working directory. Also writes the project-local repo-discovery skill to
102
- `.claude/skills/repo-discovery/SKILL.md` and adds `.claude/` to `.gitignore`.
103
+ to `.gitignore` in the current working directory. Also writes focused discovery skills under `.claude/skills/` and
104
+ adds `.claude/` to `.gitignore`.
105
+
106
+ | Option | Description |
107
+ |---------------------|---------------------------------------------------------------------------------|
108
+ | `--refresh-skills` | Remove this CLI's generated skills under `.claude/skills/` and recreate them |
103
109
 
104
110
  ### `npx indexer-cli index`
105
111
 
@@ -190,7 +196,7 @@ of changes and understanding dependency chains.
190
196
  ### `npx indexer-cli uninstall`
191
197
 
192
198
  Remove the `.indexer-cli/` directory from the current working directory. Also removes the generated
193
- `.claude/skills/repo-discovery/` skill directory when present. Prompts for confirmation unless `-f` is given.
199
+ `.claude/skills/` directories created by `indexer-cli` when present. Prompts for confirmation unless `-f` is given.
194
200
 
195
201
  ## License
196
202
 
@@ -14,7 +14,7 @@ const sqlite_js_1 = require("../../storage/sqlite.js");
14
14
  const vectors_js_1 = require("../../storage/vectors.js");
15
15
  const help_text_js_1 = require("../help-text.js");
16
16
  const ensure_indexed_js_1 = require("./ensure-indexed.js");
17
- const skill_template_js_1 = require("./skill-template.js");
17
+ const skills_js_1 = require("./skills.js");
18
18
  const HOOK_MARKER_START = "# >>> indexer-cli >>>";
19
19
  const HOOK_MARKER_END = "# <<< indexer-cli <<<";
20
20
  const HOOK_BLOCK = `\n${HOOK_MARKER_START}\nnohup npx indexer-cli index > /dev/null 2>&1 &\n${HOOK_MARKER_END}\n`;
@@ -27,12 +27,24 @@ async function pathExists(targetPath) {
27
27
  return false;
28
28
  }
29
29
  }
30
- async function writeClaudeSkill(projectRoot) {
31
- const skillDir = node_path_1.default.join(projectRoot, ".claude", "skills", "repo-discovery");
32
- await (0, promises_1.mkdir)(skillDir, { recursive: true });
33
- const skillPath = node_path_1.default.join(skillDir, "SKILL.md");
34
- await (0, promises_1.writeFile)(skillPath, skill_template_js_1.SKILL_MD, "utf8");
35
- console.log(` Skill: ${skillPath}`);
30
+ async function writeClaudeSkills(projectRoot, skills = skills_js_1.GENERATED_SKILLS) {
31
+ for (const skill of skills) {
32
+ const skillDir = node_path_1.default.join(projectRoot, ".claude", "skills", skill.directory);
33
+ await (0, promises_1.mkdir)(skillDir, { recursive: true });
34
+ const skillPath = node_path_1.default.join(skillDir, "SKILL.md");
35
+ await (0, promises_1.writeFile)(skillPath, skill.content, "utf8");
36
+ console.log(` Skill: ${skillPath}`);
37
+ }
38
+ }
39
+ async function refreshClaudeSkills(projectRoot, skillDirectories = skills_js_1.GENERATED_SKILL_DIRECTORIES, skills = skills_js_1.GENERATED_SKILLS) {
40
+ for (const skillDirectory of skillDirectories) {
41
+ const skillDir = node_path_1.default.join(projectRoot, ".claude", "skills", skillDirectory);
42
+ if (await pathExists(skillDir)) {
43
+ await (0, promises_1.rm)(skillDir, { recursive: true, force: true });
44
+ console.log(` Removed stale skill: ${skillDir}`);
45
+ }
46
+ }
47
+ await writeClaudeSkills(projectRoot, skills);
36
48
  }
37
49
  async function ensureGitignoreEntries(projectRoot, entries) {
38
50
  const gitignorePath = node_path_1.default.join(projectRoot, ".gitignore");
@@ -81,8 +93,9 @@ function registerInitCommand(program) {
81
93
  program
82
94
  .command("init")
83
95
  .description("Initialize indexer storage for a project")
96
+ .option("--refresh-skills", "remove this CLI's generated skills and recreate them under .claude/skills")
84
97
  .addHelpText("after", `\n${help_text_js_1.PROJECT_ROOT_COMMAND_HELP}\n`)
85
- .action(async () => {
98
+ .action(async (options) => {
86
99
  const resolvedProjectPath = process.cwd();
87
100
  const dataDir = node_path_1.default.join(resolvedProjectPath, ".indexer-cli");
88
101
  const dbPath = node_path_1.default.join(dataDir, "db.sqlite");
@@ -108,7 +121,12 @@ function registerInitCommand(program) {
108
121
  ]);
109
122
  await ensurePostCommitHook(resolvedProjectPath);
110
123
  console.log(`Initialized indexer-cli in ${resolvedProjectPath}`);
111
- await writeClaudeSkill(resolvedProjectPath);
124
+ if (options?.refreshSkills) {
125
+ await refreshClaudeSkills(resolvedProjectPath);
126
+ }
127
+ else {
128
+ await writeClaudeSkills(resolvedProjectPath);
129
+ }
112
130
  console.log(` SQLite: ${dbPath}`);
113
131
  console.log(` Config: ${configPath}`);
114
132
  await (0, ensure_indexed_js_1.ensureIndexed)(metadata, resolvedProjectPath);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,15 @@
1
1
  ---
2
2
  name: repo-discovery
3
- description: Mandatory for repository discovery. Before grep/glob/find, first use indexer-cli whenever the task involves finding implementations, tracing behavior, locating symbols, identifying entry points, inspecting module structure, understanding how some part of this repo works, or exploring an unfamiliar area of this repo.
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
4
  allowed-tools: Bash(npx indexer-cli:*)
5
5
  ---
6
6
 
7
- # Repository discovery with indexer-cli
7
+ # MANDATORY: use indexer-cli first for repo discovery
8
8
 
9
- Use this skill for repository discovery tasks inside this repository.
10
- Load this skill automatically when the user asks to find, trace, inspect, understand, or map code in this repo.
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
11
 
12
- ## Required behavior
13
-
14
- Always start with indexer-cli for repository discovery.
15
- Do not use grep, glob, or find unless indexer-cli was insufficient or you need an exact literal match after narrowing
16
- the area.
17
-
18
- ## Auto-load triggers
19
-
20
- Load this skill automatically for prompts like:
12
+ ## Auto-load when
21
13
 
22
14
  - Find where something is implemented in this repo
23
15
  - Trace a symbol, handler, feature, or behavior through the codebase
@@ -26,23 +18,19 @@ Load this skill automatically for prompts like:
26
18
  - Map entry points, dependencies, callers, or imports
27
19
  - Explore the codebase when the right file is not known yet
28
20
 
29
- ## Load this skill when
21
+ ## Rules
30
22
 
31
- - You need to find where something is implemented
32
- - You need to trace a symbol, handler, feature, or behavior
33
- - You are entering an unfamiliar module or directory
34
- - You need structure, entry points, or dependency context
35
- - The task is exploratory and you do not yet know the right file
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.
36
26
 
37
- ## Skip this skill when
27
+ ## Skip when
38
28
 
39
29
  - The exact file is already known and the task stays inside it
40
30
  - You only need an exact literal text match
41
31
  - The task is outside this repository
42
32
 
43
- ## First command
44
-
45
- Run one of these first:
33
+ ## First commands
46
34
 
47
35
  ```bash
48
36
  npx indexer-cli search "<query>"
@@ -53,11 +41,14 @@ npx indexer-cli structure --kind class
53
41
  npx indexer-cli architecture
54
42
  ```
55
43
 
56
- ## Reading search results
44
+ ## Reading results
57
45
 
58
46
  `npx indexer-cli search` returns ranked code chunks as JSON by default, not whole files.
59
- Each default JSON result includes `filePath`, `startLine`, `endLine`, `score`, and `primarySymbol`.
60
- Use `--include-content` when you need `content` in JSON output.
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.
61
52
 
62
53
  - Use `score` to prefer the most relevant chunks first and filter obvious low-relevance noise.
63
54
  - Use `primarySymbol` to see which function/class/type the chunk belongs to before opening the file.
@@ -68,8 +59,6 @@ Use `--include-content` when you need `content` in JSON output.
68
59
  Discovery: `npx indexer-cli search "<query>"`, `npx indexer-cli structure`, `npx indexer-cli architecture`,
69
60
  `npx indexer-cli context`, `npx indexer-cli explain <symbol>`, `npx indexer-cli deps <path>`
70
61
 
71
- Use `--txt` for human-readable output when you are browsing manually.
72
-
73
62
  Narrow when needed with: `--path-prefix`, `--chunk-types`, `--fields`, `--min-score`, `--kind`, `--max-depth`,
74
63
  `--max-files`, `--scope`, `--max-deps`, `--direction`, `--include-fixtures`, `--omit-content`, `--include-content`
75
64
 
@@ -0,0 +1,7 @@
1
+ export type GeneratedSkill = {
2
+ name: string;
3
+ directory: string;
4
+ content: string;
5
+ };
6
+ export declare const GENERATED_SKILLS: GeneratedSkill[];
7
+ export declare const GENERATED_SKILL_DIRECTORIES: string[];
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GENERATED_SKILL_DIRECTORIES = exports.GENERATED_SKILLS = void 0;
4
+ function renderSkill(definition) {
5
+ const sections = [
6
+ "---",
7
+ `name: ${definition.name}`,
8
+ `description: ${definition.description}`,
9
+ `allowed-tools: ${definition.allowedTools.join(", ")}`,
10
+ "---",
11
+ "",
12
+ `# ${definition.heading}`,
13
+ "",
14
+ definition.purpose,
15
+ "",
16
+ "## Rules",
17
+ "",
18
+ ...definition.rules.map((item) => `- ${item}`),
19
+ ];
20
+ if (definition.skipWhen && definition.skipWhen.length > 0) {
21
+ sections.push("", "## Skip when", "", ...definition.skipWhen.map((item) => `- ${item}`));
22
+ }
23
+ sections.push("", "## First commands", "", "```bash", ...definition.firstCommands, "```");
24
+ if (definition.notes && definition.notes.length > 0) {
25
+ sections.push("", "## Notes", "", ...definition.notes.map((item) => `- ${item}`));
26
+ }
27
+ return `${sections.join("\n")}\n`;
28
+ }
29
+ const SKILL_DEFINITIONS = [
30
+ {
31
+ name: "semantic-search",
32
+ directory: "semantic-search",
33
+ description: "Use when you know the behavior or concept to find but not the file, and want ranked implementation candidates.",
34
+ heading: "Use semantic-search for implementation hunting",
35
+ purpose: "Use this when the agent already knows it needs semantic search results, not a tree or architecture map. Keep the prompt short and centered on the code concept to find.",
36
+ allowedTools: ["Bash(npx indexer-cli search:*)"],
37
+ rules: [
38
+ "Start with npx indexer-cli search instead of grep when the request is semantic or concept-based.",
39
+ "Prefer compact JSON fields first; include content only after the right chunk is found.",
40
+ "Use --path-prefix or --chunk-types when you already know the likely area.",
41
+ ],
42
+ skipWhen: [
43
+ "You need a file tree or symbol inventory instead of search results",
44
+ "You already know the exact file and line range to inspect",
45
+ ],
46
+ firstCommands: [
47
+ 'npx indexer-cli search "<query>"',
48
+ 'npx indexer-cli search "<query>" --path-prefix src/<area>',
49
+ 'npx indexer-cli search "<query>" --chunk-types impl,types',
50
+ ],
51
+ notes: [
52
+ "Useful fields: filePath, startLine, endLine, score, primarySymbol.",
53
+ "Valid --chunk-types values: full_file, imports, preamble, declaration, module_section, impl, types.",
54
+ ],
55
+ },
56
+ {
57
+ name: "repo-structure",
58
+ directory: "repo-structure",
59
+ description: "Use when you need the file-and-symbol layout of a directory or subsystem before reading implementation details.",
60
+ heading: "Use repo-structure for tree and symbol-map questions",
61
+ purpose: "Use this when the agent needs to see how files and symbols are organized in an area of the repo before reading implementation details.",
62
+ allowedTools: ["Bash(npx indexer-cli structure:*)"],
63
+ rules: [
64
+ "Prefer structure when layout matters more than implementation snippets.",
65
+ "Use --path-prefix and --kind to keep output focused.",
66
+ "Use JSON output for agents unless a human explicitly asks for text.",
67
+ ],
68
+ skipWhen: [
69
+ "You need dependency relationships rather than physical structure",
70
+ "You need semantic search results rather than a tree",
71
+ ],
72
+ firstCommands: [
73
+ "npx indexer-cli structure",
74
+ "npx indexer-cli structure --path-prefix src/<area>",
75
+ "npx indexer-cli structure --kind function",
76
+ ],
77
+ notes: [
78
+ "Valid --kind values: function, class, method, interface, type, variable, module, signal.",
79
+ ],
80
+ },
81
+ {
82
+ name: "repo-architecture",
83
+ directory: "repo-architecture",
84
+ description: "Use when you need a high-level view of entry points, modules, and cross-module dependencies in a subsystem or repo.",
85
+ heading: "Use repo-architecture for dependency-graph questions",
86
+ purpose: "Use this when the agent needs a high-level snapshot of modules, entry points, and dependency shape before going deeper.",
87
+ allowedTools: ["Bash(npx indexer-cli architecture:*)"],
88
+ rules: [
89
+ "Use architecture when the question is about system shape, not a single symbol.",
90
+ "Filter by path prefix when only one subsystem matters.",
91
+ "Use JSON output to preserve structured dependency data.",
92
+ ],
93
+ skipWhen: [
94
+ "You need callers/callees for one specific file or symbol",
95
+ "You need dense narrative context instead of a graph-shaped overview",
96
+ ],
97
+ firstCommands: [
98
+ "npx indexer-cli architecture",
99
+ "npx indexer-cli architecture --path-prefix src/<area>",
100
+ ],
101
+ },
102
+ {
103
+ name: "repo-context",
104
+ directory: "repo-context",
105
+ description: "Use when you need a compact summary of the whole repo, current changes, or one area without opening many files.",
106
+ heading: "Use repo-context for dense summaries",
107
+ purpose: "Use this when the agent wants a compressed view of a subsystem, changed area, or dependency neighborhood without opening many files.",
108
+ allowedTools: ["Bash(npx indexer-cli context:*)"],
109
+ rules: [
110
+ "Prefer context when you want breadth over exact source snippets.",
111
+ "Use --scope to target all, changed, or relevant-to:<path>.",
112
+ "Lower --max-deps when you need a tighter prompt budget.",
113
+ ],
114
+ skipWhen: [
115
+ "You need exact implementation locations or ranked chunks",
116
+ "You need a file tree or architecture graph instead of a summary",
117
+ ],
118
+ firstCommands: [
119
+ "npx indexer-cli context",
120
+ "npx indexer-cli context --scope changed",
121
+ "npx indexer-cli context --scope relevant-to:src/<area>",
122
+ ],
123
+ notes: ["Valid --scope values: all, changed, relevant-to:<path>."],
124
+ },
125
+ {
126
+ name: "symbol-explain",
127
+ directory: "symbol-explain",
128
+ description: "Use when the symbol name is already known and you need its signature, module context, and callers fast.",
129
+ heading: "Use symbol-explain for one symbol at a time",
130
+ purpose: "Use this when the task centers on one function, class, type, or symbol and the agent needs signature, usage, and containing module context fast.",
131
+ allowedTools: ["Bash(npx indexer-cli explain:*)"],
132
+ rules: [
133
+ "Use explain only when the symbol name is already known.",
134
+ "Do not use this skill for symbol discovery; use it only once the symbol name is already known.",
135
+ "Keep the prompt centered on a single symbol for the cleanest output.",
136
+ ],
137
+ skipWhen: [
138
+ "You need to discover candidate symbols first",
139
+ "You need repo-wide structure rather than one-symbol context",
140
+ ],
141
+ firstCommands: ["npx indexer-cli explain <symbol>"],
142
+ },
143
+ {
144
+ name: "dependency-trace",
145
+ directory: "dependency-trace",
146
+ description: "Use when you already know the file or module to trace and need callers, callees, or likely change impact.",
147
+ heading: "Use dependency-trace for impact analysis",
148
+ purpose: "Use this when the agent needs to know who imports a module, what it imports, or how far change impact may spread.",
149
+ allowedTools: ["Bash(npx indexer-cli deps:*)"],
150
+ rules: [
151
+ "Use deps when the question is about relationships, not source snippets.",
152
+ "Set --direction callers or --direction callees when only one side matters.",
153
+ "Increase depth only when the first hop is not enough.",
154
+ ],
155
+ skipWhen: [
156
+ "You need a repo-wide architecture snapshot rather than one trace",
157
+ "You do not yet know the path or symbol to trace",
158
+ ],
159
+ firstCommands: [
160
+ "npx indexer-cli deps <path>",
161
+ "npx indexer-cli deps <path> --direction callers",
162
+ "npx indexer-cli deps <path> --direction callees",
163
+ ],
164
+ notes: ["Valid --direction values: callers, callees, both."],
165
+ },
166
+ ];
167
+ exports.GENERATED_SKILLS = SKILL_DEFINITIONS.map((definition) => ({
168
+ name: definition.name,
169
+ directory: definition.directory,
170
+ content: renderSkill(definition),
171
+ }));
172
+ exports.GENERATED_SKILL_DIRECTORIES = exports.GENERATED_SKILLS.map((skill) => skill.directory);
173
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/cli/commands/skills.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const node_path_1 = __importDefault(require("node:path"));
10
10
  const node_process_1 = require("node:process");
11
11
  const promises_2 = require("node:readline/promises");
12
12
  const help_text_js_1 = require("../help-text.js");
13
+ const skills_js_1 = require("./skills.js");
13
14
  const HOOK_MARKER_START = "# >>> indexer-cli >>>";
14
15
  const HOOK_MARKER_END = "# <<< indexer-cli <<<";
15
16
  async function pathExists(targetPath) {
@@ -26,10 +27,12 @@ async function isDirEmpty(dirPath) {
26
27
  return entries.length === 0;
27
28
  }
28
29
  async function removeClaudeSkill(projectRoot) {
29
- const skillDir = node_path_1.default.join(projectRoot, ".claude", "skills", "repo-discovery");
30
- if (await pathExists(skillDir)) {
31
- await (0, promises_1.rm)(skillDir, { recursive: true, force: true });
32
- console.log(`Removed ${skillDir}`);
30
+ for (const skillDirectory of skills_js_1.GENERATED_SKILL_DIRECTORIES) {
31
+ const skillDir = node_path_1.default.join(projectRoot, ".claude", "skills", skillDirectory);
32
+ if (await pathExists(skillDir)) {
33
+ await (0, promises_1.rm)(skillDir, { recursive: true, force: true });
34
+ console.log(`Removed ${skillDir}`);
35
+ }
33
36
  }
34
37
  const skillsDir = node_path_1.default.join(projectRoot, ".claude", "skills");
35
38
  if (await pathExists(skillsDir)) {
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,52 +1,52 @@
1
1
  {
2
- "name": "indexer-cli",
3
- "version": "0.2.12",
4
- "description": "Lightweight CLI project indexer with semantic search via Ollama",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "bin": {
8
- "indexer-cli": "./bin/indexer-cli.js"
9
- },
10
- "files": [
11
- "bin",
12
- "dist",
13
- "README.md"
14
- ],
15
- "engines": {
16
- "node": ">=18"
17
- },
18
- "publishConfig": {
19
- "access": "public"
20
- },
21
- "scripts": {
22
- "build": "tsc && node scripts/copy-skill-template.mjs",
23
- "dev": "tsc --watch",
24
- "start": "tsx bin/indexer-cli.js",
25
- "indexer-cli": "tsx bin/indexer-cli.js",
26
- "install:global": "npm run build && npm link --force",
27
- "uninstall:global": "npm unlink -g indexer-cli",
28
- "test": "vitest run",
29
- "test:watch": "vitest",
30
- "release": "bash scripts/publish.sh"
31
- },
32
- "dependencies": {
33
- "better-sqlite3": "^12.0.0",
34
- "commander": "^12.1.0",
35
- "p-limit": "^4.0.0",
36
- "sqlite-vec": "^0.1.9",
37
- "tree-sitter": "^0.21.1",
38
- "tree-sitter-c-sharp": "^0.23.1",
39
- "tree-sitter-gdscript": "^6.1.0",
40
- "tree-sitter-python": "^0.21.0",
41
- "tree-sitter-ruby": "^0.23.1",
42
- "ts-morph": "^21.0.0"
43
- },
44
- "devDependencies": {
45
- "@types/better-sqlite3": "^7.6.12",
46
- "@types/node": "^22.10.0",
47
- "@vitest/coverage-v8": "^4.1.3",
48
- "tsx": "^4.19.0",
49
- "typescript": "^5.7.0",
50
- "vitest": "^4.1.3"
51
- }
2
+ "name": "indexer-cli",
3
+ "version": "0.3.5",
4
+ "description": "Lightweight CLI project indexer with semantic search via Ollama",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "bin": {
8
+ "indexer-cli": "./bin/indexer-cli.js"
9
+ },
10
+ "files": [
11
+ "bin",
12
+ "dist",
13
+ "README.md"
14
+ ],
15
+ "engines": {
16
+ "node": ">=18"
17
+ },
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "scripts": {
22
+ "build": "tsc",
23
+ "dev": "tsc --watch",
24
+ "start": "tsx bin/indexer-cli.js",
25
+ "indexer-cli": "tsx bin/indexer-cli.js",
26
+ "install:global": "npm run build && npm link --force",
27
+ "uninstall:global": "npm unlink -g indexer-cli",
28
+ "test": "vitest run",
29
+ "test:watch": "vitest",
30
+ "release": "bash scripts/publish.sh"
31
+ },
32
+ "dependencies": {
33
+ "better-sqlite3": "^12.0.0",
34
+ "commander": "^12.1.0",
35
+ "p-limit": "^4.0.0",
36
+ "sqlite-vec": "^0.1.9",
37
+ "tree-sitter": "^0.21.1",
38
+ "tree-sitter-c-sharp": "^0.23.1",
39
+ "tree-sitter-gdscript": "^6.1.0",
40
+ "tree-sitter-python": "^0.21.0",
41
+ "tree-sitter-ruby": "^0.23.1",
42
+ "ts-morph": "^21.0.0"
43
+ },
44
+ "devDependencies": {
45
+ "@types/better-sqlite3": "^7.6.12",
46
+ "@types/node": "^22.10.0",
47
+ "@vitest/coverage-v8": "^4.1.3",
48
+ "tsx": "^4.19.0",
49
+ "typescript": "^5.7.0",
50
+ "vitest": "^4.1.3"
51
+ }
52
52
  }