@everstateai/mcp 1.3.0 → 1.3.2
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/setup.d.ts.map +1 -1
- package/dist/setup.js +143 -14
- package/dist/setup.js.map +1 -1
- package/package.json +1 -1
- package/src/setup.ts +157 -14
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAshBH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,iBAuE5C"}
|
package/dist/setup.js
CHANGED
|
@@ -86,6 +86,7 @@ function parseArgs(argv) {
|
|
|
86
86
|
help: false,
|
|
87
87
|
projectId: null,
|
|
88
88
|
skipHooks: false,
|
|
89
|
+
force: false,
|
|
89
90
|
};
|
|
90
91
|
for (let i = 0; i < argv.length; i++) {
|
|
91
92
|
const arg = argv[i];
|
|
@@ -101,6 +102,9 @@ function parseArgs(argv) {
|
|
|
101
102
|
else if (arg === "--skip-hooks") {
|
|
102
103
|
result.skipHooks = true;
|
|
103
104
|
}
|
|
105
|
+
else if (arg === "--force" || arg === "-f") {
|
|
106
|
+
result.force = true;
|
|
107
|
+
}
|
|
104
108
|
else if (arg.startsWith("ck_")) {
|
|
105
109
|
result.apiKey = arg;
|
|
106
110
|
}
|
|
@@ -127,11 +131,13 @@ ${c("bold", "OPTIONS:")}
|
|
|
127
131
|
-d, --project-dir Project directory (default: current directory)
|
|
128
132
|
--project-id Link to existing project ID
|
|
129
133
|
--skip-hooks Skip installing Claude Code hooks
|
|
134
|
+
-f, --force Remove old Everstate hooks and reinstall fresh
|
|
130
135
|
-h, --help Show this help message
|
|
131
136
|
|
|
132
137
|
${c("bold", "EXAMPLES:")}
|
|
133
138
|
npx @everstateai/mcp setup ck_abc123def456
|
|
134
139
|
npx @everstateai/mcp setup ck_abc123 --project-dir ./my-project
|
|
140
|
+
npx @everstateai/mcp setup ck_abc123 --force # Fix broken install
|
|
135
141
|
|
|
136
142
|
${c("bold", "WHAT THIS DOES:")}
|
|
137
143
|
1. Configures Claude Code to use Everstate
|
|
@@ -202,8 +208,84 @@ function writeApiKeyFile(apiKey) {
|
|
|
202
208
|
fs.writeFileSync(keyFilePath, apiKey, { mode: 0o600 });
|
|
203
209
|
logSuccess("API key stored securely");
|
|
204
210
|
}
|
|
205
|
-
function
|
|
211
|
+
async function downloadFile(url) {
|
|
212
|
+
return new Promise((resolve, reject) => {
|
|
213
|
+
const urlObj = new URL(url);
|
|
214
|
+
const req = https.request({
|
|
215
|
+
hostname: urlObj.hostname,
|
|
216
|
+
port: 443,
|
|
217
|
+
path: urlObj.pathname,
|
|
218
|
+
method: "GET",
|
|
219
|
+
headers: { "User-Agent": "everstate-setup/1.0" },
|
|
220
|
+
}, (res) => {
|
|
221
|
+
if (res.statusCode !== 200) {
|
|
222
|
+
reject(new Error(`HTTP ${res.statusCode}`));
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
let data = "";
|
|
226
|
+
res.on("data", (chunk) => (data += chunk));
|
|
227
|
+
res.on("end", () => resolve(data));
|
|
228
|
+
});
|
|
229
|
+
req.on("error", reject);
|
|
230
|
+
req.setTimeout(10000, () => {
|
|
231
|
+
req.destroy();
|
|
232
|
+
reject(new Error("Download timeout"));
|
|
233
|
+
});
|
|
234
|
+
req.end();
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
function cleanupOldHooks(projectDir) {
|
|
238
|
+
logInfo("Cleaning up old Everstate hooks...");
|
|
239
|
+
const hooksDir = path.join(projectDir, ".claude", "hooks");
|
|
240
|
+
const settingsPath = path.join(projectDir, ".claude", "settings.local.json");
|
|
241
|
+
// Remove old hook files (both prefixed and non-prefixed)
|
|
242
|
+
const oldHookFiles = [
|
|
243
|
+
"everstate-session-start.sh",
|
|
244
|
+
"everstate-session-stop.sh",
|
|
245
|
+
"everstate-sync-todos.js",
|
|
246
|
+
"everstate-pre-compact.sh",
|
|
247
|
+
"session-start.sh",
|
|
248
|
+
"session-stop.sh",
|
|
249
|
+
"sync-todos.js",
|
|
250
|
+
"pre-compact.sh",
|
|
251
|
+
];
|
|
252
|
+
for (const file of oldHookFiles) {
|
|
253
|
+
const filePath = path.join(hooksDir, file);
|
|
254
|
+
if (fs.existsSync(filePath)) {
|
|
255
|
+
fs.unlinkSync(filePath);
|
|
256
|
+
logInfo(` Removed ${file}`);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
// Clean Everstate hooks from settings.local.json
|
|
260
|
+
if (fs.existsSync(settingsPath)) {
|
|
261
|
+
let settings = readJsonFile(settingsPath) || {};
|
|
262
|
+
if (settings.hooks) {
|
|
263
|
+
// Remove hooks that point to everstate files
|
|
264
|
+
for (const hookType of Object.keys(settings.hooks)) {
|
|
265
|
+
if (Array.isArray(settings.hooks[hookType])) {
|
|
266
|
+
settings.hooks[hookType] = settings.hooks[hookType].map((entry) => {
|
|
267
|
+
if (entry.hooks && Array.isArray(entry.hooks)) {
|
|
268
|
+
entry.hooks = entry.hooks.filter((h) => !h.command || !h.command.includes("everstate"));
|
|
269
|
+
}
|
|
270
|
+
return entry;
|
|
271
|
+
}).filter((entry) => entry.hooks && entry.hooks.length > 0);
|
|
272
|
+
// Remove empty hook types
|
|
273
|
+
if (settings.hooks[hookType].length === 0) {
|
|
274
|
+
delete settings.hooks[hookType];
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
writeJsonFile(settingsPath, settings);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
logSuccess("Old Everstate hooks removed");
|
|
282
|
+
}
|
|
283
|
+
async function installHooks(projectDir, force = false) {
|
|
206
284
|
const hooksDir = path.join(projectDir, ".claude", "hooks");
|
|
285
|
+
// Clean up old hooks if force flag is set
|
|
286
|
+
if (force) {
|
|
287
|
+
cleanupOldHooks(projectDir);
|
|
288
|
+
}
|
|
207
289
|
ensureDir(hooksDir);
|
|
208
290
|
logInfo("Installing session hooks...");
|
|
209
291
|
const keyFilePath = path.join(getEverstateDir(), "api-key");
|
|
@@ -241,8 +323,17 @@ curl -s --max-time 5 -X POST "https://www.everstate.ai/api/session/end" \\
|
|
|
241
323
|
-H "Authorization: Bearer $EVERSTATE_API_KEY" \\
|
|
242
324
|
-d '{}' 2>/dev/null || true
|
|
243
325
|
`;
|
|
244
|
-
//
|
|
245
|
-
|
|
326
|
+
// Try to download the latest sync-todos hook from the server
|
|
327
|
+
let syncTodosHook;
|
|
328
|
+
try {
|
|
329
|
+
logInfo("Downloading latest sync-todos hook...");
|
|
330
|
+
syncTodosHook = await downloadFile("https://www.everstate.ai/hooks/sync-todos.js");
|
|
331
|
+
logSuccess("Downloaded sync-todos.js from server");
|
|
332
|
+
}
|
|
333
|
+
catch {
|
|
334
|
+
logWarning("Could not download sync-todos.js, using embedded fallback");
|
|
335
|
+
// Fallback to simplified embedded version
|
|
336
|
+
syncTodosHook = `#!/usr/bin/env node
|
|
246
337
|
const https = require('https');
|
|
247
338
|
const fs = require('fs');
|
|
248
339
|
const path = require('path');
|
|
@@ -260,7 +351,6 @@ process.stdin.on('end', async () => {
|
|
|
260
351
|
if (!fs.existsSync(keyPath)) return;
|
|
261
352
|
const apiKey = fs.readFileSync(keyPath, 'utf8').trim();
|
|
262
353
|
|
|
263
|
-
// Find projectId from .everstate.json
|
|
264
354
|
let dir = process.cwd();
|
|
265
355
|
let projectId = null;
|
|
266
356
|
while (dir !== path.parse(dir).root) {
|
|
@@ -275,7 +365,6 @@ process.stdin.on('end', async () => {
|
|
|
275
365
|
}
|
|
276
366
|
if (!projectId) return;
|
|
277
367
|
|
|
278
|
-
// Sync each todo
|
|
279
368
|
for (const todo of todos) {
|
|
280
369
|
const req = https.request({
|
|
281
370
|
hostname: 'www.everstate.ai', port: 443, method: 'POST',
|
|
@@ -288,22 +377,62 @@ process.stdin.on('end', async () => {
|
|
|
288
377
|
} catch {}
|
|
289
378
|
});
|
|
290
379
|
`;
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
const
|
|
380
|
+
}
|
|
381
|
+
// Write hook files with everstate- prefix to avoid conflicts
|
|
382
|
+
const startHookPath = path.join(hooksDir, "everstate-session-start.sh");
|
|
383
|
+
const stopHookPath = path.join(hooksDir, "everstate-session-stop.sh");
|
|
384
|
+
const syncTodosPath = path.join(hooksDir, "everstate-sync-todos.js");
|
|
294
385
|
fs.writeFileSync(startHookPath, sessionStartHook, { mode: 0o755 });
|
|
295
386
|
fs.writeFileSync(stopHookPath, sessionStopHook, { mode: 0o755 });
|
|
296
387
|
fs.writeFileSync(syncTodosPath, syncTodosHook, { mode: 0o755 });
|
|
297
|
-
// Configure hooks in settings.local.json
|
|
388
|
+
// Configure hooks in settings.local.json - MERGE with existing hooks
|
|
298
389
|
const settingsPath = path.join(projectDir, ".claude", "settings.local.json");
|
|
299
390
|
let settings = readJsonFile(settingsPath) || {};
|
|
300
391
|
if (!settings.hooks)
|
|
301
392
|
settings.hooks = {};
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
393
|
+
// Helper to add a hook without duplicating or overwriting user hooks
|
|
394
|
+
function addHookIfNotExists(hookType, matcher, command) {
|
|
395
|
+
if (!settings.hooks[hookType]) {
|
|
396
|
+
settings.hooks[hookType] = [];
|
|
397
|
+
}
|
|
398
|
+
// Check if this exact hook already exists
|
|
399
|
+
const exists = settings.hooks[hookType].some((entry) => {
|
|
400
|
+
if (entry.matcher !== matcher)
|
|
401
|
+
return false;
|
|
402
|
+
return entry.hooks && entry.hooks.some((h) => h.command === command);
|
|
403
|
+
});
|
|
404
|
+
if (!exists) {
|
|
405
|
+
// Find existing entry with same matcher to add to, or create new
|
|
406
|
+
let matcherEntry = settings.hooks[hookType].find((e) => e.matcher === matcher);
|
|
407
|
+
if (matcherEntry) {
|
|
408
|
+
if (!matcherEntry.hooks)
|
|
409
|
+
matcherEntry.hooks = [];
|
|
410
|
+
matcherEntry.hooks.push({ type: "command", command });
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
settings.hooks[hookType].push({
|
|
414
|
+
matcher,
|
|
415
|
+
hooks: [{ type: "command", command }],
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
return true;
|
|
419
|
+
}
|
|
420
|
+
return false;
|
|
421
|
+
}
|
|
422
|
+
// Add Everstate hooks (merging with any existing user hooks)
|
|
423
|
+
const added = {
|
|
424
|
+
sessionStart: addHookIfNotExists("SessionStart", "*", startHookPath),
|
|
425
|
+
stop: addHookIfNotExists("Stop", "*", stopHookPath),
|
|
426
|
+
todoWrite: addHookIfNotExists("PostToolUse", "TodoWrite", syncTodosPath),
|
|
427
|
+
};
|
|
305
428
|
writeJsonFile(settingsPath, settings);
|
|
306
|
-
|
|
429
|
+
const addedCount = Object.values(added).filter(Boolean).length;
|
|
430
|
+
if (addedCount > 0) {
|
|
431
|
+
logSuccess(`Added ${addedCount} Everstate hooks (merged with existing hooks)`);
|
|
432
|
+
}
|
|
433
|
+
else {
|
|
434
|
+
logSuccess("Everstate hooks already configured");
|
|
435
|
+
}
|
|
307
436
|
}
|
|
308
437
|
async function createProjectConfig(projectDir, apiKey, existingProjectId) {
|
|
309
438
|
const configPath = path.join(projectDir, ".everstate.json");
|
|
@@ -422,7 +551,7 @@ async function runSetup(argv) {
|
|
|
422
551
|
const projectConfig = await createProjectConfig(projectDir, apiKey, args.projectId);
|
|
423
552
|
// Step 4: Install hooks
|
|
424
553
|
if (!args.skipHooks) {
|
|
425
|
-
installHooks(projectDir);
|
|
554
|
+
await installHooks(projectDir, args.force);
|
|
426
555
|
}
|
|
427
556
|
// Step 5: Update .gitignore
|
|
428
557
|
updateGitignore(projectDir);
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/setup.ts
CHANGED
|
@@ -57,6 +57,7 @@ interface SetupArgs {
|
|
|
57
57
|
help: boolean;
|
|
58
58
|
projectId: string | null;
|
|
59
59
|
skipHooks: boolean;
|
|
60
|
+
force: boolean;
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
function parseArgs(argv: string[]): SetupArgs {
|
|
@@ -66,6 +67,7 @@ function parseArgs(argv: string[]): SetupArgs {
|
|
|
66
67
|
help: false,
|
|
67
68
|
projectId: null,
|
|
68
69
|
skipHooks: false,
|
|
70
|
+
force: false,
|
|
69
71
|
};
|
|
70
72
|
|
|
71
73
|
for (let i = 0; i < argv.length; i++) {
|
|
@@ -78,6 +80,8 @@ function parseArgs(argv: string[]): SetupArgs {
|
|
|
78
80
|
result.projectId = argv[++i];
|
|
79
81
|
} else if (arg === "--skip-hooks") {
|
|
80
82
|
result.skipHooks = true;
|
|
83
|
+
} else if (arg === "--force" || arg === "-f") {
|
|
84
|
+
result.force = true;
|
|
81
85
|
} else if (arg.startsWith("ck_")) {
|
|
82
86
|
result.apiKey = arg;
|
|
83
87
|
} else if (!arg.startsWith("-") && arg !== "setup") {
|
|
@@ -104,11 +108,13 @@ ${c("bold", "OPTIONS:")}
|
|
|
104
108
|
-d, --project-dir Project directory (default: current directory)
|
|
105
109
|
--project-id Link to existing project ID
|
|
106
110
|
--skip-hooks Skip installing Claude Code hooks
|
|
111
|
+
-f, --force Remove old Everstate hooks and reinstall fresh
|
|
107
112
|
-h, --help Show this help message
|
|
108
113
|
|
|
109
114
|
${c("bold", "EXAMPLES:")}
|
|
110
115
|
npx @everstateai/mcp setup ck_abc123def456
|
|
111
116
|
npx @everstateai/mcp setup ck_abc123 --project-dir ./my-project
|
|
117
|
+
npx @everstateai/mcp setup ck_abc123 --force # Fix broken install
|
|
112
118
|
|
|
113
119
|
${c("bold", "WHAT THIS DOES:")}
|
|
114
120
|
1. Configures Claude Code to use Everstate
|
|
@@ -185,8 +191,99 @@ function writeApiKeyFile(apiKey: string) {
|
|
|
185
191
|
logSuccess("API key stored securely");
|
|
186
192
|
}
|
|
187
193
|
|
|
188
|
-
function
|
|
194
|
+
async function downloadFile(url: string): Promise<string> {
|
|
195
|
+
return new Promise((resolve, reject) => {
|
|
196
|
+
const urlObj = new URL(url);
|
|
197
|
+
const req = https.request(
|
|
198
|
+
{
|
|
199
|
+
hostname: urlObj.hostname,
|
|
200
|
+
port: 443,
|
|
201
|
+
path: urlObj.pathname,
|
|
202
|
+
method: "GET",
|
|
203
|
+
headers: { "User-Agent": "everstate-setup/1.0" },
|
|
204
|
+
},
|
|
205
|
+
(res) => {
|
|
206
|
+
if (res.statusCode !== 200) {
|
|
207
|
+
reject(new Error(`HTTP ${res.statusCode}`));
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
let data = "";
|
|
211
|
+
res.on("data", (chunk) => (data += chunk));
|
|
212
|
+
res.on("end", () => resolve(data));
|
|
213
|
+
}
|
|
214
|
+
);
|
|
215
|
+
req.on("error", reject);
|
|
216
|
+
req.setTimeout(10000, () => {
|
|
217
|
+
req.destroy();
|
|
218
|
+
reject(new Error("Download timeout"));
|
|
219
|
+
});
|
|
220
|
+
req.end();
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
function cleanupOldHooks(projectDir: string) {
|
|
225
|
+
logInfo("Cleaning up old Everstate hooks...");
|
|
226
|
+
|
|
189
227
|
const hooksDir = path.join(projectDir, ".claude", "hooks");
|
|
228
|
+
const settingsPath = path.join(projectDir, ".claude", "settings.local.json");
|
|
229
|
+
|
|
230
|
+
// Remove old hook files (both prefixed and non-prefixed)
|
|
231
|
+
const oldHookFiles = [
|
|
232
|
+
"everstate-session-start.sh",
|
|
233
|
+
"everstate-session-stop.sh",
|
|
234
|
+
"everstate-sync-todos.js",
|
|
235
|
+
"everstate-pre-compact.sh",
|
|
236
|
+
"session-start.sh",
|
|
237
|
+
"session-stop.sh",
|
|
238
|
+
"sync-todos.js",
|
|
239
|
+
"pre-compact.sh",
|
|
240
|
+
];
|
|
241
|
+
|
|
242
|
+
for (const file of oldHookFiles) {
|
|
243
|
+
const filePath = path.join(hooksDir, file);
|
|
244
|
+
if (fs.existsSync(filePath)) {
|
|
245
|
+
fs.unlinkSync(filePath);
|
|
246
|
+
logInfo(` Removed ${file}`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
// Clean Everstate hooks from settings.local.json
|
|
251
|
+
if (fs.existsSync(settingsPath)) {
|
|
252
|
+
let settings = readJsonFile(settingsPath) || {};
|
|
253
|
+
if (settings.hooks) {
|
|
254
|
+
// Remove hooks that point to everstate files
|
|
255
|
+
for (const hookType of Object.keys(settings.hooks)) {
|
|
256
|
+
if (Array.isArray(settings.hooks[hookType])) {
|
|
257
|
+
settings.hooks[hookType] = settings.hooks[hookType].map((entry: any) => {
|
|
258
|
+
if (entry.hooks && Array.isArray(entry.hooks)) {
|
|
259
|
+
entry.hooks = entry.hooks.filter((h: any) =>
|
|
260
|
+
!h.command || !h.command.includes("everstate")
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
return entry;
|
|
264
|
+
}).filter((entry: any) => entry.hooks && entry.hooks.length > 0);
|
|
265
|
+
|
|
266
|
+
// Remove empty hook types
|
|
267
|
+
if (settings.hooks[hookType].length === 0) {
|
|
268
|
+
delete settings.hooks[hookType];
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
writeJsonFile(settingsPath, settings);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
logSuccess("Old Everstate hooks removed");
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
async function installHooks(projectDir: string, force: boolean = false) {
|
|
280
|
+
const hooksDir = path.join(projectDir, ".claude", "hooks");
|
|
281
|
+
|
|
282
|
+
// Clean up old hooks if force flag is set
|
|
283
|
+
if (force) {
|
|
284
|
+
cleanupOldHooks(projectDir);
|
|
285
|
+
}
|
|
286
|
+
|
|
190
287
|
ensureDir(hooksDir);
|
|
191
288
|
logInfo("Installing session hooks...");
|
|
192
289
|
|
|
@@ -228,8 +325,16 @@ curl -s --max-time 5 -X POST "https://www.everstate.ai/api/session/end" \\
|
|
|
228
325
|
-d '{}' 2>/dev/null || true
|
|
229
326
|
`;
|
|
230
327
|
|
|
231
|
-
//
|
|
232
|
-
|
|
328
|
+
// Try to download the latest sync-todos hook from the server
|
|
329
|
+
let syncTodosHook: string;
|
|
330
|
+
try {
|
|
331
|
+
logInfo("Downloading latest sync-todos hook...");
|
|
332
|
+
syncTodosHook = await downloadFile("https://www.everstate.ai/hooks/sync-todos.js");
|
|
333
|
+
logSuccess("Downloaded sync-todos.js from server");
|
|
334
|
+
} catch {
|
|
335
|
+
logWarning("Could not download sync-todos.js, using embedded fallback");
|
|
336
|
+
// Fallback to simplified embedded version
|
|
337
|
+
syncTodosHook = `#!/usr/bin/env node
|
|
233
338
|
const https = require('https');
|
|
234
339
|
const fs = require('fs');
|
|
235
340
|
const path = require('path');
|
|
@@ -247,7 +352,6 @@ process.stdin.on('end', async () => {
|
|
|
247
352
|
if (!fs.existsSync(keyPath)) return;
|
|
248
353
|
const apiKey = fs.readFileSync(keyPath, 'utf8').trim();
|
|
249
354
|
|
|
250
|
-
// Find projectId from .everstate.json
|
|
251
355
|
let dir = process.cwd();
|
|
252
356
|
let projectId = null;
|
|
253
357
|
while (dir !== path.parse(dir).root) {
|
|
@@ -262,7 +366,6 @@ process.stdin.on('end', async () => {
|
|
|
262
366
|
}
|
|
263
367
|
if (!projectId) return;
|
|
264
368
|
|
|
265
|
-
// Sync each todo
|
|
266
369
|
for (const todo of todos) {
|
|
267
370
|
const req = https.request({
|
|
268
371
|
hostname: 'www.everstate.ai', port: 443, method: 'POST',
|
|
@@ -275,26 +378,66 @@ process.stdin.on('end', async () => {
|
|
|
275
378
|
} catch {}
|
|
276
379
|
});
|
|
277
380
|
`;
|
|
381
|
+
}
|
|
278
382
|
|
|
279
|
-
|
|
280
|
-
const
|
|
281
|
-
const
|
|
383
|
+
// Write hook files with everstate- prefix to avoid conflicts
|
|
384
|
+
const startHookPath = path.join(hooksDir, "everstate-session-start.sh");
|
|
385
|
+
const stopHookPath = path.join(hooksDir, "everstate-session-stop.sh");
|
|
386
|
+
const syncTodosPath = path.join(hooksDir, "everstate-sync-todos.js");
|
|
282
387
|
|
|
283
388
|
fs.writeFileSync(startHookPath, sessionStartHook, { mode: 0o755 });
|
|
284
389
|
fs.writeFileSync(stopHookPath, sessionStopHook, { mode: 0o755 });
|
|
285
390
|
fs.writeFileSync(syncTodosPath, syncTodosHook, { mode: 0o755 });
|
|
286
391
|
|
|
287
|
-
// Configure hooks in settings.local.json
|
|
392
|
+
// Configure hooks in settings.local.json - MERGE with existing hooks
|
|
288
393
|
const settingsPath = path.join(projectDir, ".claude", "settings.local.json");
|
|
289
394
|
let settings = readJsonFile(settingsPath) || {};
|
|
290
395
|
if (!settings.hooks) settings.hooks = {};
|
|
291
396
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
397
|
+
// Helper to add a hook without duplicating or overwriting user hooks
|
|
398
|
+
function addHookIfNotExists(hookType: string, matcher: string, command: string): boolean {
|
|
399
|
+
if (!settings.hooks[hookType]) {
|
|
400
|
+
settings.hooks[hookType] = [];
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// Check if this exact hook already exists
|
|
404
|
+
const exists = settings.hooks[hookType].some((entry: any) => {
|
|
405
|
+
if (entry.matcher !== matcher) return false;
|
|
406
|
+
return entry.hooks && entry.hooks.some((h: any) => h.command === command);
|
|
407
|
+
});
|
|
408
|
+
|
|
409
|
+
if (!exists) {
|
|
410
|
+
// Find existing entry with same matcher to add to, or create new
|
|
411
|
+
let matcherEntry = settings.hooks[hookType].find((e: any) => e.matcher === matcher);
|
|
412
|
+
if (matcherEntry) {
|
|
413
|
+
if (!matcherEntry.hooks) matcherEntry.hooks = [];
|
|
414
|
+
matcherEntry.hooks.push({ type: "command", command });
|
|
415
|
+
} else {
|
|
416
|
+
settings.hooks[hookType].push({
|
|
417
|
+
matcher,
|
|
418
|
+
hooks: [{ type: "command", command }],
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
return true;
|
|
422
|
+
}
|
|
423
|
+
return false;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
// Add Everstate hooks (merging with any existing user hooks)
|
|
427
|
+
const added = {
|
|
428
|
+
sessionStart: addHookIfNotExists("SessionStart", "*", startHookPath),
|
|
429
|
+
stop: addHookIfNotExists("Stop", "*", stopHookPath),
|
|
430
|
+
todoWrite: addHookIfNotExists("PostToolUse", "TodoWrite", syncTodosPath),
|
|
431
|
+
};
|
|
295
432
|
|
|
296
433
|
writeJsonFile(settingsPath, settings);
|
|
297
|
-
|
|
434
|
+
|
|
435
|
+
const addedCount = Object.values(added).filter(Boolean).length;
|
|
436
|
+
if (addedCount > 0) {
|
|
437
|
+
logSuccess(`Added ${addedCount} Everstate hooks (merged with existing hooks)`);
|
|
438
|
+
} else {
|
|
439
|
+
logSuccess("Everstate hooks already configured");
|
|
440
|
+
}
|
|
298
441
|
}
|
|
299
442
|
|
|
300
443
|
async function createProjectConfig(
|
|
@@ -445,7 +588,7 @@ export async function runSetup(argv: string[]) {
|
|
|
445
588
|
|
|
446
589
|
// Step 4: Install hooks
|
|
447
590
|
if (!args.skipHooks) {
|
|
448
|
-
installHooks(projectDir);
|
|
591
|
+
await installHooks(projectDir, args.force);
|
|
449
592
|
}
|
|
450
593
|
|
|
451
594
|
// Step 5: Update .gitignore
|