@pimzino/sgrep 1.3.33 → 1.3.37
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/build/install/claude-code.d.ts +10 -4
- package/build/install/claude-code.d.ts.map +1 -1
- package/build/install/claude-code.js +402 -149
- package/build/install/claude-code.js.map +1 -1
- package/build/plugins/sgrep/.claude-plugin/plugin.json +1 -1
- package/build/plugins/sgrep/skills/sgrep/SKILL.md +1 -1
- package/package.json +2 -2
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
+
type ComponentId = "skill" | "prompt-enhance" | "watch" | "project-summary" | "tool-reminder";
|
|
2
3
|
/**
|
|
3
|
-
* Install the sgrep plugin for Claude Code
|
|
4
|
+
* Install the sgrep plugin for Claude Code.
|
|
5
|
+
* When called with no arguments (or all components), installs everything.
|
|
6
|
+
* When called with specific components, only those are installed (additive).
|
|
4
7
|
*/
|
|
5
|
-
export declare function installPlugin(): Promise<void>;
|
|
8
|
+
export declare function installPlugin(components?: ComponentId[]): Promise<void>;
|
|
6
9
|
/**
|
|
7
|
-
* Uninstall the sgrep plugin from Claude Code
|
|
10
|
+
* Uninstall the sgrep plugin from Claude Code.
|
|
11
|
+
* When called with no arguments, removes everything (rm -rf).
|
|
12
|
+
* When called with specific components, only those are removed (selective).
|
|
8
13
|
*/
|
|
9
|
-
export declare function uninstallPlugin(): Promise<void>;
|
|
14
|
+
export declare function uninstallPlugin(components?: ComponentId[]): Promise<void>;
|
|
10
15
|
/**
|
|
11
16
|
* Install command for Claude Code
|
|
12
17
|
*/
|
|
@@ -15,4 +20,5 @@ export declare const installClaudeCode: Command;
|
|
|
15
20
|
* Uninstall command for Claude Code
|
|
16
21
|
*/
|
|
17
22
|
export declare const uninstallClaudeCode: Command;
|
|
23
|
+
export {};
|
|
18
24
|
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiCpC,KAAK,WAAW,GACZ,OAAO,GACP,gBAAgB,GAChB,OAAO,GACP,iBAAiB,GACjB,eAAe,CAAC;AAyWpB;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,UAAU,CAAC,EAAE,WAAW,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA0Gf;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,UAAU,CAAC,EAAE,WAAW,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAmGf;AA2BD;;GAEG;AACH,eAAO,MAAM,iBAAiB,SAQ5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB,SAgB9B,CAAC"}
|
|
@@ -10,6 +10,240 @@ const PLUGIN_ROOT = process.env.CLAUDE_PLUGIN_ROOT ||
|
|
|
10
10
|
path.resolve(__dirname, "../plugins/sgrep");
|
|
11
11
|
const PLUGIN_HOOKS_DIR = path.join(PLUGIN_ROOT, "hooks");
|
|
12
12
|
const PLUGIN_SKILL_PATH = path.join(PLUGIN_ROOT, "skills", "sgrep", "SKILL.md");
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// Component Registry
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
const COMPONENT_REGISTRY = [
|
|
17
|
+
{
|
|
18
|
+
id: "skill",
|
|
19
|
+
label: "Skill",
|
|
20
|
+
hookFiles: [],
|
|
21
|
+
skillFiles: [{ source: PLUGIN_SKILL_PATH, destRelative: "SKILL.md" }],
|
|
22
|
+
hookConfig: [],
|
|
23
|
+
dependsOn: [],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: "prompt-enhance",
|
|
27
|
+
label: "Prompt Enhancement",
|
|
28
|
+
hookFiles: [
|
|
29
|
+
{ sourceFile: "sgrep_enhance.js", destFile: "sgrep_enhance.js" },
|
|
30
|
+
],
|
|
31
|
+
skillFiles: [],
|
|
32
|
+
hookConfig: [
|
|
33
|
+
{
|
|
34
|
+
event: "UserPromptSubmit",
|
|
35
|
+
hookFile: "sgrep_enhance.js",
|
|
36
|
+
timeout: 60,
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
dependsOn: [],
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: "watch",
|
|
43
|
+
label: "Watch",
|
|
44
|
+
hookFiles: [
|
|
45
|
+
{ sourceFile: "sgrep_watch.js", destFile: "sgrep_watch.js" },
|
|
46
|
+
{ sourceFile: "sgrep_watch_kill.js", destFile: "sgrep_watch_kill.js" },
|
|
47
|
+
],
|
|
48
|
+
skillFiles: [],
|
|
49
|
+
hookConfig: [
|
|
50
|
+
{
|
|
51
|
+
event: "SessionStart",
|
|
52
|
+
matcher: "startup|resume|clear",
|
|
53
|
+
hookFile: "sgrep_watch.js",
|
|
54
|
+
timeout: 15,
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
event: "SessionEnd",
|
|
58
|
+
hookFile: "sgrep_watch_kill.js",
|
|
59
|
+
timeout: 10,
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
dependsOn: [],
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: "project-summary",
|
|
66
|
+
label: "Project Summary",
|
|
67
|
+
hookFiles: [
|
|
68
|
+
{
|
|
69
|
+
sourceFile: "sgrep_project_summary.js",
|
|
70
|
+
destFile: "sgrep_project_summary.js",
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
skillFiles: [],
|
|
74
|
+
hookConfig: [
|
|
75
|
+
{
|
|
76
|
+
event: "SessionStart",
|
|
77
|
+
matcher: "startup|compact|clear",
|
|
78
|
+
hookFile: "sgrep_project_summary.js",
|
|
79
|
+
timeout: 90,
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
dependsOn: ["watch"],
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
id: "tool-reminder",
|
|
86
|
+
label: "Tool Reminder",
|
|
87
|
+
hookFiles: [
|
|
88
|
+
{
|
|
89
|
+
sourceFile: "sgrep_tool_reminder.js",
|
|
90
|
+
destFile: "sgrep_tool_reminder.js",
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
skillFiles: [],
|
|
94
|
+
hookConfig: [
|
|
95
|
+
{
|
|
96
|
+
event: "PreToolUse",
|
|
97
|
+
matcher: "Grep|Glob",
|
|
98
|
+
hookFile: "sgrep_tool_reminder.js",
|
|
99
|
+
timeout: 5,
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
dependsOn: [],
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
const ALL_COMPONENT_IDS = COMPONENT_REGISTRY.map((c) => c.id);
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
// Registry-derived helpers
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
/** All hook file names that belong to sgrep (from registry + legacy). */
|
|
110
|
+
const ALL_SGREP_HOOK_FILES = new Set([
|
|
111
|
+
...COMPONENT_REGISTRY.flatMap((c) => c.hookFiles.map((h) => h.destFile)),
|
|
112
|
+
// Legacy hook that may still exist in settings from older installs
|
|
113
|
+
"sgrep_context",
|
|
114
|
+
]);
|
|
115
|
+
/** Check if a hook command string refers to any sgrep hook. */
|
|
116
|
+
function isSgrepHook(command) {
|
|
117
|
+
if (!command)
|
|
118
|
+
return false;
|
|
119
|
+
return [...ALL_SGREP_HOOK_FILES].some((hookFile) => {
|
|
120
|
+
const baseName = hookFile.replace(/\.js$/, "");
|
|
121
|
+
return command.includes(baseName);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
/** Get the set of hook dest-file names owned by a set of components. */
|
|
125
|
+
function getOwnedHookFiles(components) {
|
|
126
|
+
const owned = new Set();
|
|
127
|
+
for (const comp of COMPONENT_REGISTRY) {
|
|
128
|
+
if (components.includes(comp.id)) {
|
|
129
|
+
for (const hf of comp.hookFiles) {
|
|
130
|
+
owned.add(hf.destFile);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return owned;
|
|
135
|
+
}
|
|
136
|
+
/** Check if a hook command belongs to one of the specified components. */
|
|
137
|
+
function isOwnedByComponents(command, components) {
|
|
138
|
+
if (!command)
|
|
139
|
+
return false;
|
|
140
|
+
const owned = getOwnedHookFiles(components);
|
|
141
|
+
return [...owned].some((hookFile) => {
|
|
142
|
+
const baseName = hookFile.replace(/\.js$/, "");
|
|
143
|
+
return command.includes(baseName);
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
// ---------------------------------------------------------------------------
|
|
147
|
+
// Component resolution
|
|
148
|
+
// ---------------------------------------------------------------------------
|
|
149
|
+
function resolveComponents(flags) {
|
|
150
|
+
if (flags.all)
|
|
151
|
+
return [...ALL_COMPONENT_IDS];
|
|
152
|
+
const selected = [];
|
|
153
|
+
if (flags.skill)
|
|
154
|
+
selected.push("skill");
|
|
155
|
+
if (flags.promptEnhance)
|
|
156
|
+
selected.push("prompt-enhance");
|
|
157
|
+
if (flags.watch)
|
|
158
|
+
selected.push("watch");
|
|
159
|
+
if (flags.projectSummary)
|
|
160
|
+
selected.push("project-summary");
|
|
161
|
+
if (flags.toolReminder)
|
|
162
|
+
selected.push("tool-reminder");
|
|
163
|
+
// No flags → all components (backwards compatible)
|
|
164
|
+
if (selected.length === 0)
|
|
165
|
+
return [...ALL_COMPONENT_IDS];
|
|
166
|
+
return selected;
|
|
167
|
+
}
|
|
168
|
+
// ---------------------------------------------------------------------------
|
|
169
|
+
// Hook config builder
|
|
170
|
+
// ---------------------------------------------------------------------------
|
|
171
|
+
function buildHookConfig(components, hooksDir) {
|
|
172
|
+
const config = {};
|
|
173
|
+
for (const comp of COMPONENT_REGISTRY) {
|
|
174
|
+
if (!components.includes(comp.id))
|
|
175
|
+
continue;
|
|
176
|
+
for (const hc of comp.hookConfig) {
|
|
177
|
+
const hookPath = path.join(hooksDir, hc.hookFile);
|
|
178
|
+
const entry = {
|
|
179
|
+
...(hc.matcher ? { matcher: hc.matcher } : {}),
|
|
180
|
+
hooks: [
|
|
181
|
+
{
|
|
182
|
+
type: "command",
|
|
183
|
+
command: `node "${hookPath}"`,
|
|
184
|
+
timeout: hc.timeout,
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
};
|
|
188
|
+
if (!config[hc.event])
|
|
189
|
+
config[hc.event] = [];
|
|
190
|
+
config[hc.event].push(entry);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return config;
|
|
194
|
+
}
|
|
195
|
+
// ---------------------------------------------------------------------------
|
|
196
|
+
// Selective hook merging / unmerging
|
|
197
|
+
// ---------------------------------------------------------------------------
|
|
198
|
+
/**
|
|
199
|
+
* Merge hooks selectively: remove only hooks owned by the given components,
|
|
200
|
+
* then add the new versions. Non-selected component hooks are untouched.
|
|
201
|
+
*/
|
|
202
|
+
function mergeHooksSelective(existingHooks, newHooks, components) {
|
|
203
|
+
const merged = existingHooks
|
|
204
|
+
? JSON.parse(JSON.stringify(existingHooks))
|
|
205
|
+
: {};
|
|
206
|
+
// Remove hooks owned by the components being installed
|
|
207
|
+
for (const event of Object.keys(merged)) {
|
|
208
|
+
if (Array.isArray(merged[event])) {
|
|
209
|
+
merged[event] = merged[event].filter((entry) => !isOwnedByComponents(entry?.hooks?.[0]?.command, components));
|
|
210
|
+
if (merged[event].length === 0) {
|
|
211
|
+
delete merged[event];
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
// Add the new hooks
|
|
216
|
+
for (const [event, entries] of Object.entries(newHooks)) {
|
|
217
|
+
const current = Array.isArray(merged[event])
|
|
218
|
+
? merged[event]
|
|
219
|
+
: [];
|
|
220
|
+
for (const entry of entries) {
|
|
221
|
+
current.push(entry);
|
|
222
|
+
}
|
|
223
|
+
merged[event] = current;
|
|
224
|
+
}
|
|
225
|
+
return merged;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Remove hooks owned by the given components from existing config.
|
|
229
|
+
*/
|
|
230
|
+
function unmergeHooks(existingHooks, components) {
|
|
231
|
+
if (!existingHooks)
|
|
232
|
+
return {};
|
|
233
|
+
const result = JSON.parse(JSON.stringify(existingHooks));
|
|
234
|
+
for (const event of Object.keys(result)) {
|
|
235
|
+
if (Array.isArray(result[event])) {
|
|
236
|
+
result[event] = result[event].filter((entry) => !isOwnedByComponents(entry?.hooks?.[0]?.command, components));
|
|
237
|
+
if (result[event].length === 0) {
|
|
238
|
+
delete result[event];
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return result;
|
|
243
|
+
}
|
|
244
|
+
// ---------------------------------------------------------------------------
|
|
245
|
+
// Utility functions (unchanged)
|
|
246
|
+
// ---------------------------------------------------------------------------
|
|
13
247
|
function resolveClaudeRoot() {
|
|
14
248
|
return path.join(os.homedir(), ".claude");
|
|
15
249
|
}
|
|
@@ -64,146 +298,91 @@ function isHooksConfig(value) {
|
|
|
64
298
|
}
|
|
65
299
|
return Object.values(value).every((entry) => Array.isArray(entry));
|
|
66
300
|
}
|
|
301
|
+
// ---------------------------------------------------------------------------
|
|
302
|
+
// Install / Uninstall
|
|
303
|
+
// ---------------------------------------------------------------------------
|
|
67
304
|
/**
|
|
68
|
-
*
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
if (!command)
|
|
72
|
-
return false;
|
|
73
|
-
return (command.includes("sgrep_watch") ||
|
|
74
|
-
command.includes("sgrep_enhance") ||
|
|
75
|
-
command.includes("sgrep_context") ||
|
|
76
|
-
command.includes("sgrep_project_summary"));
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Merge hooks by first removing all existing sgrep hooks, then adding new ones.
|
|
80
|
-
* This ensures clean replacement on reinstall rather than accumulating duplicates.
|
|
305
|
+
* Install the sgrep plugin for Claude Code.
|
|
306
|
+
* When called with no arguments (or all components), installs everything.
|
|
307
|
+
* When called with specific components, only those are installed (additive).
|
|
81
308
|
*/
|
|
82
|
-
function
|
|
83
|
-
const
|
|
84
|
-
? JSON.parse(JSON.stringify(existingHooks))
|
|
85
|
-
: {};
|
|
86
|
-
// First, remove all existing sgrep hooks from all events
|
|
87
|
-
for (const event of Object.keys(merged)) {
|
|
88
|
-
if (Array.isArray(merged[event])) {
|
|
89
|
-
merged[event] = merged[event].filter((entry) => !isSgrepHook(entry?.hooks?.[0]?.command));
|
|
90
|
-
// Clean up empty arrays
|
|
91
|
-
if (merged[event].length === 0) {
|
|
92
|
-
delete merged[event];
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
// Then add the new sgrep hooks
|
|
97
|
-
for (const [event, entries] of Object.entries(newHooks)) {
|
|
98
|
-
const current = Array.isArray(merged[event])
|
|
99
|
-
? merged[event]
|
|
100
|
-
: [];
|
|
101
|
-
for (const entry of entries) {
|
|
102
|
-
current.push(entry);
|
|
103
|
-
}
|
|
104
|
-
merged[event] = current;
|
|
105
|
-
}
|
|
106
|
-
return merged;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Install the sgrep plugin for Claude Code
|
|
110
|
-
*/
|
|
111
|
-
export async function installPlugin() {
|
|
309
|
+
export async function installPlugin(components) {
|
|
310
|
+
const selected = components ?? [...ALL_COMPONENT_IDS];
|
|
112
311
|
console.log(chalk.cyan("Installing sgrep plugin for Claude Code..."));
|
|
312
|
+
if (selected.length < ALL_COMPONENT_IDS.length) {
|
|
313
|
+
const labels = selected
|
|
314
|
+
.map((id) => COMPONENT_REGISTRY.find((c) => c.id === id).label)
|
|
315
|
+
.join(", ");
|
|
316
|
+
console.log(chalk.gray(`Components: ${labels}`));
|
|
317
|
+
}
|
|
113
318
|
console.log("");
|
|
114
319
|
try {
|
|
115
320
|
const root = resolveClaudeRoot();
|
|
116
321
|
const hooksDir = path.join(root, "hooks", "sgrep");
|
|
117
322
|
const skillsDir = path.join(root, "skills", "sgrep");
|
|
118
323
|
const settingsPath = path.join(root, "settings.json");
|
|
119
|
-
//
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
const projectSummaryJs = path.join(hooksDir, "sgrep_project_summary.js");
|
|
130
|
-
if (writeFileIfChanged(watchJs, watchHook)) {
|
|
131
|
-
console.log(chalk.green(`Installed hook: ${watchJs}`));
|
|
132
|
-
}
|
|
133
|
-
if (writeFileIfChanged(killJs, killHook)) {
|
|
134
|
-
console.log(chalk.green(`Installed hook: ${killJs}`));
|
|
135
|
-
}
|
|
136
|
-
if (writeFileIfChanged(enhanceJs, enhanceHook)) {
|
|
137
|
-
console.log(chalk.green(`Installed hook: ${enhanceJs}`));
|
|
324
|
+
// Dependency warnings
|
|
325
|
+
for (const comp of COMPONENT_REGISTRY) {
|
|
326
|
+
if (!selected.includes(comp.id))
|
|
327
|
+
continue;
|
|
328
|
+
for (const dep of comp.dependsOn) {
|
|
329
|
+
if (!selected.includes(dep)) {
|
|
330
|
+
const depLabel = COMPONENT_REGISTRY.find((c) => c.id === dep).label;
|
|
331
|
+
console.log(chalk.yellow(`Note: ${comp.label} works best with ${depLabel}. Consider also installing --${dep}.`));
|
|
332
|
+
}
|
|
333
|
+
}
|
|
138
334
|
}
|
|
139
|
-
|
|
140
|
-
|
|
335
|
+
// Install hook files
|
|
336
|
+
for (const comp of COMPONENT_REGISTRY) {
|
|
337
|
+
if (!selected.includes(comp.id))
|
|
338
|
+
continue;
|
|
339
|
+
for (const hf of comp.hookFiles) {
|
|
340
|
+
const src = readPluginAsset(path.join(PLUGIN_HOOKS_DIR, hf.sourceFile));
|
|
341
|
+
const dest = path.join(hooksDir, hf.destFile);
|
|
342
|
+
if (writeFileIfChanged(dest, src)) {
|
|
343
|
+
console.log(chalk.green(`Installed hook: ${dest}`));
|
|
344
|
+
}
|
|
345
|
+
}
|
|
141
346
|
}
|
|
142
|
-
// Install skill
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
|
|
347
|
+
// Install skill files
|
|
348
|
+
for (const comp of COMPONENT_REGISTRY) {
|
|
349
|
+
if (!selected.includes(comp.id))
|
|
350
|
+
continue;
|
|
351
|
+
for (const sf of comp.skillFiles) {
|
|
352
|
+
const src = readPluginAsset(sf.source);
|
|
353
|
+
const dest = path.join(skillsDir, sf.destRelative);
|
|
354
|
+
if (writeFileIfChanged(dest, src.trimStart())) {
|
|
355
|
+
console.log(chalk.green(`Installed skill: ${dest}`));
|
|
356
|
+
}
|
|
357
|
+
}
|
|
146
358
|
}
|
|
147
359
|
// Configure hooks in settings.json
|
|
148
|
-
const hookConfig =
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
timeout: 60,
|
|
156
|
-
},
|
|
157
|
-
],
|
|
158
|
-
},
|
|
159
|
-
],
|
|
160
|
-
SessionStart: [
|
|
161
|
-
{
|
|
162
|
-
// Watch process starts on session startup, resume, or clear
|
|
163
|
-
matcher: "startup|resume|clear",
|
|
164
|
-
hooks: [
|
|
165
|
-
{
|
|
166
|
-
type: "command",
|
|
167
|
-
command: `node "${watchJs}"`,
|
|
168
|
-
timeout: 15,
|
|
169
|
-
},
|
|
170
|
-
],
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
// Project summary on startup, compact, and clear (context resets)
|
|
174
|
-
matcher: "startup|compact|clear",
|
|
175
|
-
hooks: [
|
|
176
|
-
{
|
|
177
|
-
type: "command",
|
|
178
|
-
command: `node "${projectSummaryJs}"`,
|
|
179
|
-
timeout: 90,
|
|
180
|
-
},
|
|
181
|
-
],
|
|
182
|
-
},
|
|
183
|
-
],
|
|
184
|
-
SessionEnd: [
|
|
185
|
-
{
|
|
186
|
-
hooks: [
|
|
187
|
-
{
|
|
188
|
-
type: "command",
|
|
189
|
-
command: `node "${killJs}"`,
|
|
190
|
-
timeout: 10,
|
|
191
|
-
},
|
|
192
|
-
],
|
|
193
|
-
},
|
|
194
|
-
],
|
|
195
|
-
};
|
|
196
|
-
const settings = loadSettings(settingsPath);
|
|
197
|
-
settings.hooks = mergeHooks(isHooksConfig(settings.hooks) ? settings.hooks : undefined, hookConfig);
|
|
198
|
-
saveSettings(settingsPath, settings);
|
|
199
|
-
console.log(chalk.green(`Updated settings: ${settingsPath}`));
|
|
360
|
+
const hookConfig = buildHookConfig(selected, hooksDir);
|
|
361
|
+
if (Object.keys(hookConfig).length > 0) {
|
|
362
|
+
const settings = loadSettings(settingsPath);
|
|
363
|
+
settings.hooks = mergeHooksSelective(isHooksConfig(settings.hooks) ? settings.hooks : undefined, hookConfig, selected);
|
|
364
|
+
saveSettings(settingsPath, settings);
|
|
365
|
+
console.log(chalk.green(`Updated settings: ${settingsPath}`));
|
|
366
|
+
}
|
|
200
367
|
console.log("");
|
|
201
368
|
console.log(chalk.green("Installation complete!"));
|
|
202
369
|
console.log("");
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
370
|
+
// Show component-specific summary
|
|
371
|
+
if (selected.includes("skill")) {
|
|
372
|
+
console.log("- Skill: " + chalk.cyan("/sgrep") + " or Claude will use it automatically");
|
|
373
|
+
}
|
|
374
|
+
if (selected.includes("prompt-enhance")) {
|
|
375
|
+
console.log("- Prompt enhancement: your prompts are automatically enhanced with codebase context");
|
|
376
|
+
}
|
|
377
|
+
if (selected.includes("watch")) {
|
|
378
|
+
console.log("- Index sync: sgrep watch starts/stops with your session");
|
|
379
|
+
}
|
|
380
|
+
if (selected.includes("project-summary")) {
|
|
381
|
+
console.log("- Project summary: codebase overview injected on session start");
|
|
382
|
+
}
|
|
383
|
+
if (selected.includes("tool-reminder")) {
|
|
384
|
+
console.log("- Tool reminder: gentle nudge to use sgrep when Grep/Glob are used");
|
|
385
|
+
}
|
|
207
386
|
console.log("");
|
|
208
387
|
console.log(chalk.gray("To uninstall: sgrep uninstall-claude-code"));
|
|
209
388
|
}
|
|
@@ -214,40 +393,85 @@ export async function installPlugin() {
|
|
|
214
393
|
}
|
|
215
394
|
}
|
|
216
395
|
/**
|
|
217
|
-
* Uninstall the sgrep plugin from Claude Code
|
|
396
|
+
* Uninstall the sgrep plugin from Claude Code.
|
|
397
|
+
* When called with no arguments, removes everything (rm -rf).
|
|
398
|
+
* When called with specific components, only those are removed (selective).
|
|
218
399
|
*/
|
|
219
|
-
export async function uninstallPlugin() {
|
|
400
|
+
export async function uninstallPlugin(components) {
|
|
401
|
+
const isFullUninstall = !components;
|
|
402
|
+
const selected = components ?? [...ALL_COMPONENT_IDS];
|
|
220
403
|
console.log(chalk.cyan("Uninstalling sgrep plugin from Claude Code..."));
|
|
404
|
+
if (!isFullUninstall) {
|
|
405
|
+
const labels = selected
|
|
406
|
+
.map((id) => COMPONENT_REGISTRY.find((c) => c.id === id).label)
|
|
407
|
+
.join(", ");
|
|
408
|
+
console.log(chalk.gray(`Components: ${labels}`));
|
|
409
|
+
}
|
|
221
410
|
console.log("");
|
|
222
411
|
try {
|
|
223
412
|
const root = resolveClaudeRoot();
|
|
224
413
|
const hooksDir = path.join(root, "hooks", "sgrep");
|
|
225
414
|
const skillsDir = path.join(root, "skills", "sgrep");
|
|
226
415
|
const settingsPath = path.join(root, "settings.json");
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
fs.
|
|
230
|
-
|
|
416
|
+
if (isFullUninstall) {
|
|
417
|
+
// Full uninstall: rm -rf hook and skill directories
|
|
418
|
+
if (fs.existsSync(hooksDir)) {
|
|
419
|
+
fs.rmSync(hooksDir, { recursive: true, force: true });
|
|
420
|
+
console.log(chalk.green("Removed sgrep hooks"));
|
|
421
|
+
}
|
|
422
|
+
if (fs.existsSync(skillsDir)) {
|
|
423
|
+
fs.rmSync(skillsDir, { recursive: true, force: true });
|
|
424
|
+
console.log(chalk.green("Removed sgrep skill"));
|
|
425
|
+
}
|
|
231
426
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
427
|
+
else {
|
|
428
|
+
// Selective uninstall: remove only owned files
|
|
429
|
+
for (const comp of COMPONENT_REGISTRY) {
|
|
430
|
+
if (!selected.includes(comp.id))
|
|
431
|
+
continue;
|
|
432
|
+
for (const hf of comp.hookFiles) {
|
|
433
|
+
const dest = path.join(hooksDir, hf.destFile);
|
|
434
|
+
if (fs.existsSync(dest)) {
|
|
435
|
+
fs.unlinkSync(dest);
|
|
436
|
+
console.log(chalk.green(`Removed hook: ${dest}`));
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
for (const sf of comp.skillFiles) {
|
|
440
|
+
const dest = path.join(skillsDir, sf.destRelative);
|
|
441
|
+
if (fs.existsSync(dest)) {
|
|
442
|
+
fs.unlinkSync(dest);
|
|
443
|
+
console.log(chalk.green(`Removed skill: ${dest}`));
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
}
|
|
236
447
|
}
|
|
237
448
|
// Remove hooks from settings.json
|
|
238
449
|
if (fs.existsSync(settingsPath)) {
|
|
239
450
|
try {
|
|
240
451
|
const settings = loadSettings(settingsPath);
|
|
241
|
-
const hooks = isHooksConfig(settings.hooks)
|
|
452
|
+
const hooks = isHooksConfig(settings.hooks)
|
|
453
|
+
? settings.hooks
|
|
454
|
+
: undefined;
|
|
242
455
|
if (hooks) {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
456
|
+
if (isFullUninstall) {
|
|
457
|
+
// Full uninstall: remove all sgrep hooks
|
|
458
|
+
for (const event of Object.keys(hooks)) {
|
|
459
|
+
const filtered = hooks[event].filter((entry) => !isSgrepHook(entry?.hooks?.[0]?.command));
|
|
460
|
+
if (filtered.length === 0) {
|
|
461
|
+
delete hooks[event];
|
|
462
|
+
}
|
|
463
|
+
else {
|
|
464
|
+
hooks[event] = filtered;
|
|
465
|
+
}
|
|
247
466
|
}
|
|
248
|
-
|
|
249
|
-
|
|
467
|
+
}
|
|
468
|
+
else {
|
|
469
|
+
// Selective uninstall: remove only owned hooks
|
|
470
|
+
const cleaned = unmergeHooks(hooks, selected);
|
|
471
|
+
for (const event of Object.keys(hooks)) {
|
|
472
|
+
delete hooks[event];
|
|
250
473
|
}
|
|
474
|
+
Object.assign(hooks, cleaned);
|
|
251
475
|
}
|
|
252
476
|
if (Object.keys(hooks).length === 0) {
|
|
253
477
|
delete settings.hooks;
|
|
@@ -269,20 +493,49 @@ export async function uninstallPlugin() {
|
|
|
269
493
|
process.exit(1);
|
|
270
494
|
}
|
|
271
495
|
}
|
|
496
|
+
// ---------------------------------------------------------------------------
|
|
497
|
+
// Commander definitions
|
|
498
|
+
// ---------------------------------------------------------------------------
|
|
499
|
+
function addComponentOptions(cmd) {
|
|
500
|
+
return cmd
|
|
501
|
+
.option("--skill", "Install/uninstall the sgrep skill")
|
|
502
|
+
.option("--prompt-enhance", "Install/uninstall prompt enhancement")
|
|
503
|
+
.option("--watch", "Install/uninstall watch + watch-kill pair")
|
|
504
|
+
.option("--project-summary", "Install/uninstall project summary hook")
|
|
505
|
+
.option("--tool-reminder", "Install/uninstall tool reminder hook")
|
|
506
|
+
.option("--all", "Install/uninstall all components (default)");
|
|
507
|
+
}
|
|
508
|
+
function extractComponentFlags(options) {
|
|
509
|
+
return {
|
|
510
|
+
skill: options.skill,
|
|
511
|
+
promptEnhance: options.promptEnhance,
|
|
512
|
+
watch: options.watch,
|
|
513
|
+
projectSummary: options.projectSummary,
|
|
514
|
+
toolReminder: options.toolReminder,
|
|
515
|
+
all: options.all,
|
|
516
|
+
};
|
|
517
|
+
}
|
|
272
518
|
/**
|
|
273
519
|
* Install command for Claude Code
|
|
274
520
|
*/
|
|
275
|
-
export const installClaudeCode = new Command("install-claude-code")
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
await installPlugin();
|
|
521
|
+
export const installClaudeCode = addComponentOptions(new Command("install-claude-code").description("Install the sgrep plugin for Claude Code")).action(async (_options, cmd) => {
|
|
522
|
+
const flags = extractComponentFlags(cmd.opts());
|
|
523
|
+
const components = resolveComponents(flags);
|
|
524
|
+
await installPlugin(components);
|
|
279
525
|
});
|
|
280
526
|
/**
|
|
281
527
|
* Uninstall command for Claude Code
|
|
282
528
|
*/
|
|
283
|
-
export const uninstallClaudeCode = new Command("uninstall-claude-code")
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
529
|
+
export const uninstallClaudeCode = addComponentOptions(new Command("uninstall-claude-code").description("Uninstall the sgrep plugin from Claude Code")).action(async (_options, cmd) => {
|
|
530
|
+
const flags = extractComponentFlags(cmd.opts());
|
|
531
|
+
const hasAnyFlag = flags.skill ||
|
|
532
|
+
flags.promptEnhance ||
|
|
533
|
+
flags.watch ||
|
|
534
|
+
flags.projectSummary ||
|
|
535
|
+
flags.toolReminder ||
|
|
536
|
+
flags.all;
|
|
537
|
+
// No flags on uninstall → full uninstall (rm -rf behavior)
|
|
538
|
+
const components = hasAnyFlag ? resolveComponents(flags) : undefined;
|
|
539
|
+
await uninstallPlugin(components);
|
|
287
540
|
});
|
|
288
541
|
//# sourceMappingURL=claude-code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/install/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sgrep",
|
|
3
3
|
"description": "Semantic grep - ask questions about codebases using AI. Use sgrep \"question\" to understand code (default) or sgrep search for raw code snippets.",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.37",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "pimzino"
|
|
7
7
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sgrep
|
|
3
|
-
description: "Semantic grep
|
|
3
|
+
description: "Semantic grep - search code by meaning, not just text. 1 sgrep call replaces 5-10 grep/glob calls. Ask natural language questions about architecture, find implementations by functionality, and get AI-explained code with file references. Use as your FIRST tool for codebase exploration, understanding, and navigation."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
## Tool Definition
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pimzino/sgrep",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.37",
|
|
4
4
|
"description": "Semantic grep - search codebases by meaning using the Augment SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "build/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"postbuild": "node scripts/postbuild.js",
|
|
14
14
|
"start": "node build/index.js",
|
|
15
15
|
"dev": "tsc --watch",
|
|
16
|
-
"
|
|
16
|
+
"release": "npm run build && npm publish --access public"
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
19
|
"build",
|