codesift-mcp 0.2.6 → 0.2.8
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/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +5 -1
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +14 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/hooks.d.ts +1 -0
- package/dist/cli/hooks.d.ts.map +1 -1
- package/dist/cli/hooks.js +170 -61
- package/dist/cli/hooks.js.map +1 -1
- package/dist/cli/platform.d.ts +12 -0
- package/dist/cli/platform.d.ts.map +1 -0
- package/dist/cli/platform.js +36 -0
- package/dist/cli/platform.js.map +1 -0
- package/dist/cli/setup.d.ts +6 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +161 -121
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/shell-templates.d.ts +4 -0
- package/dist/cli/shell-templates.d.ts.map +1 -0
- package/dist/cli/shell-templates.js +86 -0
- package/dist/cli/shell-templates.js.map +1 -0
- package/dist/instructions.d.ts +1 -1
- package/dist/instructions.d.ts.map +1 -1
- package/dist/instructions.js +4 -4
- package/dist/register-tools.d.ts.map +1 -1
- package/dist/register-tools.js +68 -42
- package/dist/register-tools.js.map +1 -1
- package/dist/server-helpers.d.ts.map +1 -1
- package/dist/server-helpers.js +13 -1
- package/dist/server-helpers.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +17 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/project-tools.d.ts +107 -0
- package/dist/tools/project-tools.d.ts.map +1 -0
- package/dist/tools/project-tools.js +535 -0
- package/dist/tools/project-tools.js.map +1 -0
- package/package.json +1 -1
- package/rules/codesift.md +7 -9
- package/rules/codesift.mdc +6 -8
- package/rules/codex.md +6 -8
- package/rules/gemini.md +6 -8
package/dist/cli/setup.js
CHANGED
|
@@ -7,6 +7,7 @@ import { fileURLToPath } from "node:url";
|
|
|
7
7
|
import { readFile, writeFile, mkdir } from "node:fs/promises";
|
|
8
8
|
import { existsSync } from "node:fs";
|
|
9
9
|
import { createHash } from "node:crypto";
|
|
10
|
+
import { setupClineHooks } from "./shell-templates.js";
|
|
10
11
|
// ---------------------------------------------------------------------------
|
|
11
12
|
// Types
|
|
12
13
|
// ---------------------------------------------------------------------------
|
|
@@ -24,6 +25,11 @@ const MCP_SERVER_ENTRY = {
|
|
|
24
25
|
command: "npx",
|
|
25
26
|
args: ["-y", "codesift-mcp"],
|
|
26
27
|
};
|
|
28
|
+
const JSON_PLATFORM_CONFIGS = {
|
|
29
|
+
claude: { configDirName: ".claude", configFileName: "settings.json" },
|
|
30
|
+
cursor: { configDirName: ".cursor", configFileName: "mcp.json" },
|
|
31
|
+
gemini: { configDirName: ".gemini", configFileName: "settings.json" },
|
|
32
|
+
};
|
|
27
33
|
// ---------------------------------------------------------------------------
|
|
28
34
|
// Helpers
|
|
29
35
|
// ---------------------------------------------------------------------------
|
|
@@ -80,6 +86,9 @@ const APPEND_MODE_PLATFORMS = {
|
|
|
80
86
|
};
|
|
81
87
|
const DELIMITER_START = "<!-- codesift-rules-start -->";
|
|
82
88
|
const DELIMITER_END = "<!-- codesift-rules-end -->";
|
|
89
|
+
function escapeRegex(str) {
|
|
90
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
91
|
+
}
|
|
83
92
|
async function installRulesAppendMode(platform, _options) {
|
|
84
93
|
const config = APPEND_MODE_PLATFORMS[platform];
|
|
85
94
|
if (!config)
|
|
@@ -111,9 +120,6 @@ async function installRulesAppendMode(platform, _options) {
|
|
|
111
120
|
return { path: targetPath, action: "error", error: msg };
|
|
112
121
|
}
|
|
113
122
|
}
|
|
114
|
-
function escapeRegex(str) {
|
|
115
|
-
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
116
|
-
}
|
|
117
123
|
const HEADER_REGEX = /^<!-- codesift-rules v([\d.]+) hash:(\w+) -->/;
|
|
118
124
|
export async function installRules(platform, homeDir, options) {
|
|
119
125
|
// Append-mode platforms (codex, gemini) write into cwd
|
|
@@ -148,35 +154,17 @@ export async function installRules(platform, homeDir, options) {
|
|
|
148
154
|
const firstLine = existingContent.split("\n")[0] ?? "";
|
|
149
155
|
const match = HEADER_REGEX.exec(firstLine);
|
|
150
156
|
if (match) {
|
|
151
|
-
const existingVersion = match[1];
|
|
152
|
-
const existingHash = match[2];
|
|
153
|
-
// Always verify actual body hash to detect user edits
|
|
154
157
|
const existingBody = existingContent.replace(HEADER_REGEX, "").trimStart();
|
|
155
|
-
const
|
|
156
|
-
const bodyUnmodified = existingBodyHash === sourceHash;
|
|
158
|
+
const bodyUnmodified = sha256(existingBody) === sourceHash;
|
|
157
159
|
if (bodyUnmodified) {
|
|
158
|
-
|
|
159
|
-
if (existingVersion === version && existingHash === sourceHash) {
|
|
160
|
-
// Same version, same hash, same body → nothing to do
|
|
160
|
+
if (match[1] === version && match[2] === sourceHash) {
|
|
161
161
|
return { path: targetPath, action: "skipped" };
|
|
162
162
|
}
|
|
163
|
-
// Version or header hash differs but body matches → safe update
|
|
164
163
|
await writeFile(targetPath, newContent, "utf-8");
|
|
165
164
|
return { path: targetPath, action: "updated" };
|
|
166
165
|
}
|
|
167
|
-
// Body has been modified by user
|
|
168
|
-
if (!options?.force) {
|
|
169
|
-
return {
|
|
170
|
-
path: targetPath,
|
|
171
|
-
action: "skipped",
|
|
172
|
-
warning: `Rules file has been modified by user. Use --force to overwrite.`,
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
// Force overwrite
|
|
176
|
-
await writeFile(targetPath, newContent, "utf-8");
|
|
177
|
-
return { path: targetPath, action: "force-updated" };
|
|
178
166
|
}
|
|
179
|
-
//
|
|
167
|
+
// Body modified or no valid header — treat as user-owned file
|
|
180
168
|
if (!options?.force) {
|
|
181
169
|
return {
|
|
182
170
|
path: targetPath,
|
|
@@ -199,7 +187,7 @@ export async function installRules(platform, homeDir, options) {
|
|
|
199
187
|
}
|
|
200
188
|
}
|
|
201
189
|
// ---------------------------------------------------------------------------
|
|
202
|
-
// Codex — ~/.codex/config.toml
|
|
190
|
+
// Codex — ~/.codex/config.toml (unique TOML format)
|
|
203
191
|
// ---------------------------------------------------------------------------
|
|
204
192
|
async function setupCodex() {
|
|
205
193
|
const configDir = join(homedir(), ".codex");
|
|
@@ -220,130 +208,167 @@ async function setupCodex() {
|
|
|
220
208
|
return { platform: "codex", config_path: configPath, status: "created" };
|
|
221
209
|
}
|
|
222
210
|
// ---------------------------------------------------------------------------
|
|
223
|
-
// Claude
|
|
211
|
+
// JSON-based platform setup (Claude, Cursor, Gemini)
|
|
224
212
|
// ---------------------------------------------------------------------------
|
|
225
|
-
async function
|
|
226
|
-
const
|
|
227
|
-
|
|
213
|
+
async function setupJsonPlatform(platform) {
|
|
214
|
+
const config = JSON_PLATFORM_CONFIGS[platform];
|
|
215
|
+
if (!config)
|
|
216
|
+
throw new Error(`No JSON config for platform: ${platform}`);
|
|
217
|
+
const configDir = join(homedir(), config.configDirName);
|
|
218
|
+
const configPath = join(configDir, config.configFileName);
|
|
228
219
|
await ensureDir(configDir);
|
|
229
220
|
if (existsSync(configPath)) {
|
|
230
221
|
const settings = await readJsonFile(configPath);
|
|
231
222
|
const mcpServers = settings["mcpServers"];
|
|
232
223
|
if (mcpServers?.["codesift"]) {
|
|
233
|
-
return { platform
|
|
224
|
+
return { platform, config_path: configPath, status: "already_configured" };
|
|
234
225
|
}
|
|
235
226
|
if (!settings["mcpServers"]) {
|
|
236
227
|
settings["mcpServers"] = {};
|
|
237
228
|
}
|
|
238
229
|
settings["mcpServers"]["codesift"] = { ...MCP_SERVER_ENTRY };
|
|
239
230
|
await writeJsonFile(configPath, settings);
|
|
240
|
-
return { platform
|
|
231
|
+
return { platform, config_path: configPath, status: "updated" };
|
|
241
232
|
}
|
|
242
|
-
// Create new file
|
|
243
233
|
await writeJsonFile(configPath, { mcpServers: { codesift: { ...MCP_SERVER_ENTRY } } });
|
|
244
|
-
return { platform
|
|
234
|
+
return { platform, config_path: configPath, status: "created" };
|
|
245
235
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
async function setupCursor() {
|
|
250
|
-
const configDir = join(homedir(), ".cursor");
|
|
251
|
-
const configPath = join(configDir, "mcp.json");
|
|
252
|
-
await ensureDir(configDir);
|
|
236
|
+
/** Load or create a hooks section from a JSON config file. */
|
|
237
|
+
async function loadHooksSection(configPath) {
|
|
238
|
+
let root = {};
|
|
253
239
|
if (existsSync(configPath)) {
|
|
254
|
-
|
|
255
|
-
const mcpServers = config["mcpServers"];
|
|
256
|
-
if (mcpServers?.["codesift"]) {
|
|
257
|
-
return { platform: "cursor", config_path: configPath, status: "already_configured" };
|
|
258
|
-
}
|
|
259
|
-
if (!config["mcpServers"]) {
|
|
260
|
-
config["mcpServers"] = {};
|
|
261
|
-
}
|
|
262
|
-
config["mcpServers"]["codesift"] = { ...MCP_SERVER_ENTRY };
|
|
263
|
-
await writeJsonFile(configPath, config);
|
|
264
|
-
return { platform: "cursor", config_path: configPath, status: "updated" };
|
|
240
|
+
root = await readJsonFile(configPath);
|
|
265
241
|
}
|
|
266
|
-
|
|
267
|
-
|
|
242
|
+
if (typeof root["hooks"] !== "object" || root["hooks"] === null || Array.isArray(root["hooks"])) {
|
|
243
|
+
root["hooks"] = {};
|
|
244
|
+
}
|
|
245
|
+
return { root, hooks: root["hooks"] };
|
|
268
246
|
}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
const configDir = join(homedir(), ".gemini");
|
|
274
|
-
const configPath = join(configDir, "settings.json");
|
|
275
|
-
await ensureDir(configDir);
|
|
276
|
-
if (existsSync(configPath)) {
|
|
277
|
-
const settings = await readJsonFile(configPath);
|
|
278
|
-
const mcpServers = settings["mcpServers"];
|
|
279
|
-
if (mcpServers?.["codesift"]) {
|
|
280
|
-
return { platform: "gemini", config_path: configPath, status: "already_configured" };
|
|
281
|
-
}
|
|
282
|
-
if (!settings["mcpServers"]) {
|
|
283
|
-
settings["mcpServers"] = {};
|
|
284
|
-
}
|
|
285
|
-
settings["mcpServers"]["codesift"] = { ...MCP_SERVER_ENTRY };
|
|
286
|
-
await writeJsonFile(configPath, settings);
|
|
287
|
-
return { platform: "gemini", config_path: configPath, status: "updated" };
|
|
247
|
+
/** Idempotent: ensure hooks[event] array exists, add entry if matcher not present. */
|
|
248
|
+
function ensureHookEntry(hooks, event, entry) {
|
|
249
|
+
if (!Array.isArray(hooks[event])) {
|
|
250
|
+
hooks[event] = [];
|
|
288
251
|
}
|
|
289
|
-
|
|
290
|
-
|
|
252
|
+
if (!hooks[event].some((h) => h.matcher === entry.matcher)) {
|
|
253
|
+
hooks[event].push(entry);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/** Check if any hook in entries has a codesift command (content-based dedup). */
|
|
257
|
+
function hasCodesiftHook(entries) {
|
|
258
|
+
return entries.some((h) => h.hooks?.some?.((hk) => typeof hk === "object" && hk !== null && typeof hk["command"] === "string" && hk["command"].includes("codesift")));
|
|
291
259
|
}
|
|
292
260
|
// ---------------------------------------------------------------------------
|
|
293
261
|
// Claude Code hooks — .claude/settings.local.json
|
|
294
262
|
// ---------------------------------------------------------------------------
|
|
295
|
-
const
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
263
|
+
const CLAUDE_HOOKS = {
|
|
264
|
+
PreToolUse: [
|
|
265
|
+
{ matcher: "Read", hooks: [{ type: "command", command: "codesift precheck-read" }] },
|
|
266
|
+
{ matcher: "Bash", hooks: [{ type: "command", command: "codesift precheck-bash" }] },
|
|
267
|
+
],
|
|
268
|
+
PostToolUse: [
|
|
269
|
+
{ matcher: "Write|Edit", hooks: [{ type: "command", command: "codesift postindex-file" }] },
|
|
270
|
+
],
|
|
271
|
+
PreCompact: [
|
|
272
|
+
{ matcher: "", hooks: [{ type: "command", command: "codesift precompact-snapshot" }] },
|
|
273
|
+
],
|
|
306
274
|
};
|
|
307
275
|
export async function setupClaudeHooks() {
|
|
308
276
|
const configDir = join(homedir(), ".claude");
|
|
309
277
|
const settingsPath = join(configDir, "settings.local.json");
|
|
310
278
|
await ensureDir(configDir);
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
settings["hooks"] = {};
|
|
317
|
-
}
|
|
318
|
-
const hooks = settings["hooks"];
|
|
319
|
-
// PreToolUse — add if not already present for matcher "Read"
|
|
320
|
-
if (!Array.isArray(hooks["PreToolUse"])) {
|
|
321
|
-
hooks["PreToolUse"] = [];
|
|
322
|
-
}
|
|
323
|
-
if (!hooks["PreToolUse"].some((h) => h.matcher === PRE_TOOL_USE_HOOK.matcher)) {
|
|
324
|
-
hooks["PreToolUse"].push(PRE_TOOL_USE_HOOK);
|
|
279
|
+
const { root, hooks } = await loadHooksSection(settingsPath);
|
|
280
|
+
for (const [event, entries] of Object.entries(CLAUDE_HOOKS)) {
|
|
281
|
+
for (const entry of entries) {
|
|
282
|
+
ensureHookEntry(hooks, event, entry);
|
|
283
|
+
}
|
|
325
284
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
285
|
+
await writeJsonFile(settingsPath, root);
|
|
286
|
+
}
|
|
287
|
+
// ---------------------------------------------------------------------------
|
|
288
|
+
// Codex CLI hooks — ~/.codex/hooks.json
|
|
289
|
+
// ---------------------------------------------------------------------------
|
|
290
|
+
// Codex only has the Bash tool — Read-redirect and PostToolUse don't apply.
|
|
291
|
+
// No PreCompact event. Install: Stop (conversation indexing) only.
|
|
292
|
+
// ---------------------------------------------------------------------------
|
|
293
|
+
export async function setupCodexHooks() {
|
|
294
|
+
const configDir = process.env["CODEX_HOME"] ?? join(homedir(), ".codex");
|
|
295
|
+
const hooksPath = join(configDir, "hooks.json");
|
|
296
|
+
await ensureDir(configDir);
|
|
297
|
+
const { root, hooks } = await loadHooksSection(hooksPath);
|
|
298
|
+
if (!Array.isArray(hooks["Stop"])) {
|
|
299
|
+
hooks["Stop"] = [];
|
|
329
300
|
}
|
|
330
|
-
if (!hooks["
|
|
331
|
-
hooks["
|
|
301
|
+
if (!hasCodesiftHook(hooks["Stop"])) {
|
|
302
|
+
hooks["Stop"].push({
|
|
303
|
+
matcher: "",
|
|
304
|
+
hooks: [{ type: "command", command: "codesift index-conversations --quiet" }],
|
|
305
|
+
});
|
|
332
306
|
}
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
307
|
+
await writeJsonFile(hooksPath, root);
|
|
308
|
+
}
|
|
309
|
+
// ---------------------------------------------------------------------------
|
|
310
|
+
// Gemini CLI hooks — ~/.gemini/settings.json
|
|
311
|
+
// ---------------------------------------------------------------------------
|
|
312
|
+
// Gemini uses different event names and tool names:
|
|
313
|
+
// PreToolUse → BeforeTool, PostToolUse → AfterTool,
|
|
314
|
+
// PreCompact → PreCompress, Stop → SessionEnd
|
|
315
|
+
// Read → read_file, Edit → replace, Write → write_file
|
|
316
|
+
// Gemini passes hook input via stdin (not HOOK_TOOL_INPUT env var).
|
|
317
|
+
// ---------------------------------------------------------------------------
|
|
318
|
+
const GEMINI_HOOKS = {
|
|
319
|
+
BeforeTool: {
|
|
320
|
+
matcher: "read_file",
|
|
321
|
+
hooks: [{ type: "command", command: "codesift precheck-read --stdin" }],
|
|
322
|
+
},
|
|
323
|
+
AfterTool: {
|
|
324
|
+
matcher: "write_file|replace",
|
|
325
|
+
hooks: [{ type: "command", command: "codesift postindex-file --stdin" }],
|
|
326
|
+
},
|
|
327
|
+
PreCompress: {
|
|
328
|
+
matcher: "",
|
|
329
|
+
hooks: [{ type: "command", command: "codesift precompact-snapshot --stdin" }],
|
|
330
|
+
},
|
|
331
|
+
SessionEnd: {
|
|
332
|
+
matcher: "",
|
|
333
|
+
hooks: [{ type: "command", command: "codesift index-conversations --quiet" }],
|
|
334
|
+
},
|
|
335
|
+
};
|
|
336
|
+
export async function setupGeminiHooks() {
|
|
337
|
+
const configDir = join(homedir(), ".gemini");
|
|
338
|
+
const settingsPath = join(configDir, "settings.json");
|
|
339
|
+
await ensureDir(configDir);
|
|
340
|
+
const { root, hooks } = await loadHooksSection(settingsPath);
|
|
341
|
+
for (const [eventName, hookEntry] of Object.entries(GEMINI_HOOKS)) {
|
|
342
|
+
if (!Array.isArray(hooks[eventName])) {
|
|
343
|
+
hooks[eventName] = [];
|
|
344
|
+
}
|
|
345
|
+
if (!hasCodesiftHook(hooks[eventName])) {
|
|
346
|
+
hooks[eventName].push(hookEntry);
|
|
347
|
+
}
|
|
336
348
|
}
|
|
337
|
-
|
|
338
|
-
|
|
349
|
+
await writeJsonFile(settingsPath, root);
|
|
350
|
+
}
|
|
351
|
+
// ---------------------------------------------------------------------------
|
|
352
|
+
// Auto-install hooks for detected platform
|
|
353
|
+
// ---------------------------------------------------------------------------
|
|
354
|
+
export { setupClineHooks };
|
|
355
|
+
const PLATFORM_HOOK_INSTALLERS = {
|
|
356
|
+
claude: setupClaudeHooks,
|
|
357
|
+
codex: setupCodexHooks,
|
|
358
|
+
gemini: setupGeminiHooks,
|
|
359
|
+
cline: setupClineHooks,
|
|
360
|
+
};
|
|
361
|
+
export async function setupHooksForPlatform(platform) {
|
|
362
|
+
const installer = PLATFORM_HOOK_INSTALLERS[platform];
|
|
363
|
+
if (installer) {
|
|
364
|
+
await installer();
|
|
339
365
|
}
|
|
340
|
-
await writeJsonFile(settingsPath, settings);
|
|
341
366
|
}
|
|
342
367
|
const PLATFORM_HANDLERS = {
|
|
343
368
|
codex: setupCodex,
|
|
344
|
-
claude:
|
|
345
|
-
cursor:
|
|
346
|
-
gemini:
|
|
369
|
+
claude: () => setupJsonPlatform("claude"),
|
|
370
|
+
cursor: () => setupJsonPlatform("cursor"),
|
|
371
|
+
gemini: () => setupJsonPlatform("gemini"),
|
|
347
372
|
};
|
|
348
373
|
export async function setup(platform, options) {
|
|
349
374
|
const handler = PLATFORM_HANDLERS[platform];
|
|
@@ -351,10 +376,17 @@ export async function setup(platform, options) {
|
|
|
351
376
|
throw new Error(`Unknown platform: "${platform}". Supported: ${SUPPORTED_PLATFORMS.join(", ")}, all`);
|
|
352
377
|
}
|
|
353
378
|
const result = await handler();
|
|
354
|
-
if (
|
|
355
|
-
|
|
379
|
+
if (options?.hooks) {
|
|
380
|
+
const hookInstaller = PLATFORM_HOOK_INSTALLERS[platform];
|
|
381
|
+
if (hookInstaller) {
|
|
382
|
+
await hookInstaller();
|
|
383
|
+
}
|
|
384
|
+
if (platform === "claude") {
|
|
385
|
+
// Auto-install rules with hooks — agents need rules to know the full tool mapping
|
|
386
|
+
await installRules(platform, homedir(), options);
|
|
387
|
+
}
|
|
356
388
|
}
|
|
357
|
-
if (options?.rules) {
|
|
389
|
+
if (options?.rules && !(options?.hooks && platform === "claude")) {
|
|
358
390
|
await installRules(platform, homedir(), options);
|
|
359
391
|
}
|
|
360
392
|
return result;
|
|
@@ -362,7 +394,7 @@ export async function setup(platform, options) {
|
|
|
362
394
|
export async function setupAll(options) {
|
|
363
395
|
const results = [];
|
|
364
396
|
for (const platform of SUPPORTED_PLATFORMS) {
|
|
365
|
-
const result = await setup(platform,
|
|
397
|
+
const result = await setup(platform, options);
|
|
366
398
|
results.push(result);
|
|
367
399
|
}
|
|
368
400
|
return results;
|
|
@@ -401,10 +433,18 @@ export async function formatSetupLines(platform, options) {
|
|
|
401
433
|
lines.push(`✓ ${label} ${rulesResult.path}`);
|
|
402
434
|
}
|
|
403
435
|
}
|
|
404
|
-
if (
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
436
|
+
if (options?.hooks) {
|
|
437
|
+
const hookInstaller = PLATFORM_HOOK_INSTALLERS[platform];
|
|
438
|
+
if (hookInstaller) {
|
|
439
|
+
await hookInstaller();
|
|
440
|
+
const hookPaths = {
|
|
441
|
+
claude: join(homedir(), ".claude", "settings.local.json"),
|
|
442
|
+
codex: join(process.env["CODEX_HOME"] ?? join(homedir(), ".codex"), "hooks.json"),
|
|
443
|
+
gemini: join(homedir(), ".gemini", "settings.json"),
|
|
444
|
+
};
|
|
445
|
+
const hooksPath = hookPaths[platform] ?? "hooks";
|
|
446
|
+
lines.push(`✓ hooks configured ${hooksPath}`);
|
|
447
|
+
}
|
|
408
448
|
}
|
|
409
449
|
return lines;
|
|
410
450
|
}
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAgBpF,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG;;;;;CAKxB,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC;CAC7B,CAAC;AAOF,MAAM,qBAAqB,GAAuC;IAChE,MAAM,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE;IACrE,MAAM,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE;IAChE,MAAM,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE;CACtE,CAAC;AAEF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,KAAK,UAAU,SAAS,CAAC,GAAW;IAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY;IACtC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,mCAAmC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,SAAS,OAAO,MAAM,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,IAA6B;IACtE,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAE9E,SAAS,kBAAkB,CAAC,YAAoB;IAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,kDAAkD;IAClD,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3C,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,YAAY,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,MAAM,CAAC,OAAe;IAC7B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAE9E,MAAM,WAAW,GAA8E;IAC7F,MAAM,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE;IAC9F,MAAM,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE;CACjG,CAAC;AAEF,uEAAuE;AACvE,MAAM,qBAAqB,GAA2D;IACpF,KAAK,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE;IAC5D,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE;CAC/D,CAAC;AAEF,MAAM,eAAe,GAAG,+BAA+B,CAAC;AACxD,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAEpD,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,QAAgB,EAChB,QAAuB;IAEvB,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,wBAAwB,QAAQ,EAAE,EAAE,CAAC;IAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAEtE,MAAM,KAAK,GAAG,GAAG,eAAe,KAAK,aAAa,KAAK,aAAa,EAAE,CAAC;QAEvE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAErD,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC3E,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAC/B,IAAI,MAAM,CACR,GAAG,WAAW,CAAC,eAAe,CAAC,aAAa,WAAW,CAAC,aAAa,CAAC,EAAE,CACzE,EACD,KAAK,CACN,CAAC;gBACF,MAAM,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC/C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;YACjD,CAAC;YAED,mCAAmC;YACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;YAC9D,MAAM,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACjD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QACjD,CAAC;QAED,6BAA6B;QAC7B,MAAM,SAAS,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAG,+CAA+C,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,OAAe,EACf,OAAsB;IAEtB,uDAAuD;IACvD,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,sBAAsB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAEhF,IAAI,CAAC;QACH,kCAAkC;QAClC,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE1D,iCAAiC;QACjC,MAAM,OAAO,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,OAAO,GACX,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,SAAS,IAAI,GAAG;YACzD,CAAC,CAAC,MAAM,CAAE,GAA+B,CAAC,SAAS,CAAC,CAAC;YACrD,CAAC,CAAC,SAAS,CAAC;QAEhB,6EAA6E;QAC7E,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QACvE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAEtC,iDAAiD;QACjD,MAAM,MAAM,GAAG,wBAAwB,OAAO,SAAS,UAAU,MAAM,CAAC;QACxE,MAAM,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC;QAE9C,iCAAiC;QACjC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE3C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC3E,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,UAAU,CAAC;gBAE3D,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;wBACpD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;oBACjD,CAAC;oBACD,MAAM,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;oBACjD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBACjD,CAAC;YACH,CAAC;YAED,8DAA8D;YAC9D,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;gBACpB,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,iEAAiE;iBAC3E,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACjD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QACvD,CAAC;QAED,8CAA8C;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oDAAoD;AACpD,8EAA8E;AAE9E,KAAK,UAAU,UAAU;IACvB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAElD,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3B,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;QACtF,CAAC;QACD,0BAA0B;QAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAAC;QAC/D,MAAM,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC3E,CAAC;IAED,kBAAkB;IAClB,MAAM,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC3E,CAAC;AAED,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IAC/C,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;IAEzE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAE1D,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3B,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAwC,CAAC;QACjF,IAAI,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QAC9B,CAAC;QACA,QAAQ,CAAC,YAAY,CAA6B,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAC1F,MAAM,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,aAAa,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;IACvF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAClE,CAAC;AASD,8DAA8D;AAC9D,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IAChD,IAAI,IAAI,GAA4B,EAAE,CAAC;IACvC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAChG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAiB,EAAE,CAAC;AACxD,CAAC;AAED,sFAAsF;AACtF,SAAS,eAAe,CAAC,KAAmB,EAAE,KAAa,EAAE,KAAgB;IAC3E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,SAAS,eAAe,CAAC,OAAoB;IAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,CAAC,CAAC,KAAwC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CACzD,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAK,EAAE,CAAC,SAAS,CAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC7H,CACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,kDAAkD;AAClD,8EAA8E;AAE9E,MAAM,YAAY,GAAgC;IAChD,UAAU,EAAE;QACV,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,EAAE;QACpF,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,EAAE;KACrF;IACD,WAAW,EAAE;QACX,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,EAAE;KAC5F;IACD,UAAU,EAAE;QACV,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,EAAE;KACvF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC5D,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE7D,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,MAAM,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAC9E,4EAA4E;AAC5E,mEAAmE;AACnE,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACjB,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;SAC9E,CAAC,CAAC;IACL,CAAC;IAED,MAAM,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAC9E,oDAAoD;AACpD,sDAAsD;AACtD,gDAAgD;AAChD,yDAAyD;AACzD,oEAAoE;AACpE,8EAA8E;AAE9E,MAAM,YAAY,GAA8B;IAC9C,UAAU,EAAE;QACV,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAAC;KACxE;IACD,SAAS,EAAE;QACT,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;KACzE;IACD,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;KAC9E;IACD,UAAU,EAAE;QACV,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;KAC9E;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACtD,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAE3B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE7D,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,MAAM,wBAAwB,GAAuD;IACnF,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAsB;IAChE,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAYD,MAAM,iBAAiB,GAAiD;IACtE,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC;IACzC,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC;IACzC,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC;CAC1C,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,QAAgB,EAAE,OAAsB;IAClE,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAoB,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sBAAsB,QAAQ,iBAAiB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;IAC/B,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAwB,CAAC,CAAC;QACzE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,kFAAkF;YAClF,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;QACjE,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAsB;IACnD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,eAAe,GAA8D;IACjF,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE;IAC5C,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kCAAkC,CAAC,CAAC,WAAW,EAAE;IACjE,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,WAAW,EAAE;CACnE,CAAC;AAEF,MAAM,mBAAmB,GAA0D;IACjF,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,eAAe;CACjC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,MAAmB,EAAE,WAAgC;IACrF,MAAM,KAAK,GAAa,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,IAAI,WAAW,IAAI,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,KAAK,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,OAAsB;IAEtB,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAoB,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sBAAsB,QAAQ,iBAAiB,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAa,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjE,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAwB,CAAC,CAAC;QACzE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,aAAa,EAAE,CAAC;YACtB,MAAM,SAAS,GAA2B;gBACxC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC;gBACzD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;gBACjF,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC;aACpD,CAAC;YACF,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-templates.d.ts","sourceRoot":"","sources":["../../src/cli/shell-templates.ts"],"names":[],"mappings":"AAaA,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAKrD;AAED,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoCrD,CAAC;AAEF,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAgCrD"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Cline hooks — shell scripts for file-based hook system
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Cline uses file-based hooks (shell scripts). Each hook is a .sh file that
|
|
5
|
+
// receives JSON on stdin and outputs JSON on stdout.
|
|
6
|
+
// We create wrapper scripts that delegate to codesift CLI commands.
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
import { homedir } from "node:os";
|
|
9
|
+
import { join } from "node:path";
|
|
10
|
+
import { readFile, writeFile, mkdir } from "node:fs/promises";
|
|
11
|
+
import { existsSync } from "node:fs";
|
|
12
|
+
export function getClineHooksDirCandidates() {
|
|
13
|
+
return [
|
|
14
|
+
join(homedir(), "Documents", "Cline", "Hooks"), // macOS default
|
|
15
|
+
join(homedir(), ".cline", "hooks"), // Linux alternative
|
|
16
|
+
];
|
|
17
|
+
}
|
|
18
|
+
export const CLINE_HOOK_SCRIPTS = {
|
|
19
|
+
"PreToolUse.sh": `#!/bin/bash
|
|
20
|
+
# CodeSift: redirect large file reads to CodeSift tools
|
|
21
|
+
INPUT=$(cat)
|
|
22
|
+
TOOL=$(echo "$INPUT" | grep -o '"tool":"[^"]*"' | head -1 | cut -d'"' -f4)
|
|
23
|
+
if [ "$TOOL" = "Read" ] || [ "$TOOL" = "read_file" ]; then
|
|
24
|
+
export HOOK_TOOL_INPUT="$INPUT"
|
|
25
|
+
OUTPUT=$(codesift precheck-read 2>/dev/null)
|
|
26
|
+
if [ $? -eq 2 ]; then
|
|
27
|
+
echo "{\\"cancel\\": true, \\"contextModification\\": $(echo "$OUTPUT" | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read()))' 2>/dev/null || echo '""')}"
|
|
28
|
+
exit 0
|
|
29
|
+
fi
|
|
30
|
+
fi
|
|
31
|
+
echo "{\\"cancel\\": false}"
|
|
32
|
+
`,
|
|
33
|
+
"PostToolUse.sh": `#!/bin/bash
|
|
34
|
+
# CodeSift: auto-reindex files after edit/write
|
|
35
|
+
INPUT=$(cat)
|
|
36
|
+
TOOL=$(echo "$INPUT" | grep -o '"tool":"[^"]*"' | head -1 | cut -d'"' -f4)
|
|
37
|
+
if [ "$TOOL" = "Write" ] || [ "$TOOL" = "Edit" ] || [ "$TOOL" = "write_file" ] || [ "$TOOL" = "replace" ]; then
|
|
38
|
+
export HOOK_TOOL_INPUT="$INPUT"
|
|
39
|
+
codesift postindex-file >/dev/null 2>&1
|
|
40
|
+
fi
|
|
41
|
+
echo "{\\"cancel\\": false}"
|
|
42
|
+
`,
|
|
43
|
+
"PreCompact.sh": `#!/bin/bash
|
|
44
|
+
# CodeSift: inject session snapshot before context compaction
|
|
45
|
+
INPUT=$(cat)
|
|
46
|
+
export HOOK_TOOL_INPUT="$INPUT"
|
|
47
|
+
SNAPSHOT=$(codesift precompact-snapshot 2>/dev/null)
|
|
48
|
+
if [ -n "$SNAPSHOT" ]; then
|
|
49
|
+
echo "{\\"cancel\\": false, \\"contextModification\\": $(echo "$SNAPSHOT" | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read()))' 2>/dev/null || echo '""')}"
|
|
50
|
+
else
|
|
51
|
+
echo "{\\"cancel\\": false}"
|
|
52
|
+
fi
|
|
53
|
+
`,
|
|
54
|
+
};
|
|
55
|
+
export async function setupClineHooks() {
|
|
56
|
+
// Find or create hooks directory
|
|
57
|
+
let hooksDir;
|
|
58
|
+
for (const candidate of getClineHooksDirCandidates()) {
|
|
59
|
+
if (existsSync(candidate)) {
|
|
60
|
+
hooksDir = candidate;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (!hooksDir) {
|
|
65
|
+
// Create default directory
|
|
66
|
+
hooksDir = getClineHooksDirCandidates()[0];
|
|
67
|
+
await mkdir(hooksDir, { recursive: true });
|
|
68
|
+
}
|
|
69
|
+
for (const [filename, content] of Object.entries(CLINE_HOOK_SCRIPTS)) {
|
|
70
|
+
const hookPath = join(hooksDir, filename);
|
|
71
|
+
if (existsSync(hookPath)) {
|
|
72
|
+
// Don't overwrite existing hooks — they may contain user customizations
|
|
73
|
+
const existing = await readFile(hookPath, "utf-8");
|
|
74
|
+
if (existing.includes("codesift"))
|
|
75
|
+
continue; // Already has our hooks
|
|
76
|
+
// Append our section
|
|
77
|
+
const marker = "\n\n# --- CodeSift hooks (auto-installed) ---\n";
|
|
78
|
+
if (!existing.includes("CodeSift")) {
|
|
79
|
+
await writeFile(hookPath, existing.trimEnd() + marker + content, "utf-8");
|
|
80
|
+
}
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
await writeFile(hookPath, content, { mode: 0o755 });
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=shell-templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-templates.js","sourceRoot":"","sources":["../../src/cli/shell-templates.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAC9E,4EAA4E;AAC5E,qDAAqD;AACrD,oEAAoE;AACpE,8EAA8E;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,EAAQ,gBAAgB;QACtE,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAsB,oBAAoB;KAC7E,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACxD,eAAe,EAAE;;;;;;;;;;;;;CAalB;IACC,gBAAgB,EAAE;;;;;;;;;CASnB;IACC,eAAe,EAAE;;;;;;;;;;CAUlB;CACA,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,iCAAiC;IACjC,IAAI,QAA4B,CAAC;IACjC,KAAK,MAAM,SAAS,IAAI,0BAA0B,EAAE,EAAE,CAAC;QACrD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,QAAQ,GAAG,SAAS,CAAC;YACrB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,2BAA2B;QAC3B,QAAQ,GAAG,0BAA0B,EAAE,CAAC,CAAC,CAAE,CAAC;QAC5C,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE1C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,wEAAwE;YACxE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,SAAS,CAAC,wBAAwB;YACrE,qBAAqB;YACrB,MAAM,MAAM,GAAG,iDAAiD,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,MAAM,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5E,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
|
package/dist/instructions.d.ts
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* CODESIFT_INSTRUCTIONS — single source of truth for agent guidance.
|
|
3
3
|
* Target: ~800 tokens (~3200 chars). Compact abbreviated format.
|
|
4
4
|
*/
|
|
5
|
-
export declare const CODESIFT_INSTRUCTIONS = "CodeSift \u2014 66 MCP tools (14 core, 52 hidden via disable()).\n\nDISCOVERY\n discover_tools(query=\"dead code\") \u2192 keyword search \u2192 returns tool names\n describe_tools(names=[\"find_dead_code\"]) \u2192 full schema with param types\n describe_tools(names=[...], reveal=true) \u2192 also adds tool to ListTools\n Then call the tool directly by name.\n\nHINT CODES (appear in tool responses \u2014 take the suggested action immediately)\n H1(n) n matches returned \u2192 add group_by_file=true\n H2(n,tool) n consecutive identical calls \u2192 batch into one tool call\n H3(n) list_repos called n times \u2192
|
|
5
|
+
export declare const CODESIFT_INSTRUCTIONS = "CodeSift \u2014 66 MCP tools (14 core, 52 hidden via disable()).\n\nDISCOVERY\n discover_tools(query=\"dead code\") \u2192 keyword search \u2192 returns tool names\n describe_tools(names=[\"find_dead_code\"]) \u2192 full schema with param types\n describe_tools(names=[...], reveal=true) \u2192 also adds tool to ListTools\n Then call the tool directly by name.\n\nHINT CODES (appear in tool responses \u2014 take the suggested action immediately)\n H1(n) n matches returned \u2192 add group_by_file=true\n H2(n,tool) n consecutive identical calls \u2192 batch into one tool call\n H3(n) list_repos called n times \u2192 repo auto-resolves from CWD, no need to call\n H4 include_source without file_pattern \u2192 add file_pattern\n H5(path) duplicate get_file_tree \u2192 use cached result\n H6(n) n results without detail_level \u2192 add detail_level=compact\n H7 get_symbol after search_symbols \u2192 use get_context_bundle instead\n H8(n) n\u00D7 get_symbol calls \u2192 use assemble_context(level=L1) instead\n H9 question-word text query \u2192 use semantic_search or codebase_retrieval(type:semantic)\n\nALWAYS\n repo param auto-resolves from CWD \u2014 skip list_repos for single-repo sessions.\n Use semantic_search or codebase_retrieval(type:semantic) for conceptual/question queries.\n Pass file_pattern when scope is known (cuts noise and tokens).\n Use get_symbols (batch) for 2+ symbols \u2014 never sequential get_symbol calls.\n Batch 3+ searches into codebase_retrieval(queries=[...]).\n Pass token_budget to cap large responses.\n Call index_file(path) after editing a file (9ms vs 3-8s for index_folder).\n Use trace_route first for any API endpoint trace.\n\nNEVER\n Call index_folder if repo is already indexed (file watcher auto-updates).\n Call list_repos in single-repo sessions \u2014 repo auto-resolves from CWD.\n Use get_knowledge_map without detect_communities first (129K+ tokens).\n Use sequential search_text + trace_call_chain for endpoint \u2014 use trace_route.\n Read entire file for a return type \u2014 use get_type_info.\n\nKEY PARAMS\n search_symbols: detail_level=compact (~15 tok/result) | token_budget=N | kind=function/class/type\n search_text: group_by_file=true (-80% output) | auto_group=true (>50 matches)\n ranked=true \u2192 classify by function, dedup (max 2/fn), rank by centrality\n assemble_context: level=L0 (full source) | L1 (signatures, 3-5x denser) | L2 (summaries) | L3 (dirs)\n codebase_retrieval: always pass token_budget; batch 3+ queries\n get_knowledge_map: ALWAYS pass focus= to avoid 129K+ token dumps\n\nRESPONSE CASCADE (auto, no params needed)\n >52.5K chars \u2192 compact format [compact] annotation prepended\n >87.5K chars \u2192 counts only [counts] annotation prepended\n >105K chars \u2192 hard truncate\n Cascade skipped when detail_level or token_budget is explicitly set.\n\nTOOL MAPPING (quick ref)\n text pattern \u2192 search_text(file_pattern=)\n function/class \u2192 search_symbols(include_source=true)\n file structure \u2192 get_file_outline | find files \u2192 get_file_tree(compact=true)\n 1 symbol \u2192 get_symbol | 2+ symbols \u2192 get_symbols (batch)\n symbol + refs \u2192 find_and_show(include_refs=true) | usages \u2192 find_references\n call chain \u2192 trace_call_chain | blast radius \u2192 impact_analysis(since=\"HEAD~3\")\n concept question \u2192 semantic_search or codebase_retrieval(type:semantic)\n multi-search 3+ \u2192 codebase_retrieval(queries=[...])\n dead code \u2192 find_dead_code | complexity \u2192 analyze_complexity\n duplication \u2192 find_clones(min_similarity=0.7) | anti-patterns \u2192 search_patterns\n architecture/deps \u2192 detect_communities(focus=) | git churn \u2192 analyze_hotspots(since_days=90)\n mermaid diagram \u2192 trace_call_chain(output_format=\"mermaid\")\n API endpoint \u2192 trace_route (FIRST) | secrets \u2192 scan_secrets\n past sessions \u2192 search_conversations | changed code \u2192 changed_symbols(since=)\n session snapshot \u2192 get_session_snapshot | session \u2192 get_session_context\n";
|
|
6
6
|
//# sourceMappingURL=instructions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,qqIAkEjC,CAAC"}
|
package/dist/instructions.js
CHANGED
|
@@ -13,7 +13,7 @@ DISCOVERY
|
|
|
13
13
|
HINT CODES (appear in tool responses — take the suggested action immediately)
|
|
14
14
|
H1(n) n matches returned → add group_by_file=true
|
|
15
15
|
H2(n,tool) n consecutive identical calls → batch into one tool call
|
|
16
|
-
H3(n) list_repos called n times →
|
|
16
|
+
H3(n) list_repos called n times → repo auto-resolves from CWD, no need to call
|
|
17
17
|
H4 include_source without file_pattern → add file_pattern
|
|
18
18
|
H5(path) duplicate get_file_tree → use cached result
|
|
19
19
|
H6(n) n results without detail_level → add detail_level=compact
|
|
@@ -22,7 +22,7 @@ HINT CODES (appear in tool responses — take the suggested action immediately)
|
|
|
22
22
|
H9 question-word text query → use semantic_search or codebase_retrieval(type:semantic)
|
|
23
23
|
|
|
24
24
|
ALWAYS
|
|
25
|
-
|
|
25
|
+
repo param auto-resolves from CWD — skip list_repos for single-repo sessions.
|
|
26
26
|
Use semantic_search or codebase_retrieval(type:semantic) for conceptual/question queries.
|
|
27
27
|
Pass file_pattern when scope is known (cuts noise and tokens).
|
|
28
28
|
Use get_symbols (batch) for 2+ symbols — never sequential get_symbol calls.
|
|
@@ -32,8 +32,8 @@ ALWAYS
|
|
|
32
32
|
Use trace_route first for any API endpoint trace.
|
|
33
33
|
|
|
34
34
|
NEVER
|
|
35
|
-
Call index_folder if repo is already
|
|
36
|
-
Call list_repos
|
|
35
|
+
Call index_folder if repo is already indexed (file watcher auto-updates).
|
|
36
|
+
Call list_repos in single-repo sessions — repo auto-resolves from CWD.
|
|
37
37
|
Use get_knowledge_map without detect_communities first (129K+ tokens).
|
|
38
38
|
Use sequential search_text + trace_call_chain for endpoint — use trace_route.
|
|
39
39
|
Read entire file for a return type — use get_type_info.
|