@everstateai/mcp 1.3.0 → 1.3.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAuYH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,iBAuE5C"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AAmdH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,iBAuE5C"}
package/dist/setup.js CHANGED
@@ -202,7 +202,33 @@ function writeApiKeyFile(apiKey) {
202
202
  fs.writeFileSync(keyFilePath, apiKey, { mode: 0o600 });
203
203
  logSuccess("API key stored securely");
204
204
  }
205
- function installHooks(projectDir) {
205
+ async function downloadFile(url) {
206
+ return new Promise((resolve, reject) => {
207
+ const urlObj = new URL(url);
208
+ const req = https.request({
209
+ hostname: urlObj.hostname,
210
+ port: 443,
211
+ path: urlObj.pathname,
212
+ method: "GET",
213
+ headers: { "User-Agent": "everstate-setup/1.0" },
214
+ }, (res) => {
215
+ if (res.statusCode !== 200) {
216
+ reject(new Error(`HTTP ${res.statusCode}`));
217
+ return;
218
+ }
219
+ let data = "";
220
+ res.on("data", (chunk) => (data += chunk));
221
+ res.on("end", () => resolve(data));
222
+ });
223
+ req.on("error", reject);
224
+ req.setTimeout(10000, () => {
225
+ req.destroy();
226
+ reject(new Error("Download timeout"));
227
+ });
228
+ req.end();
229
+ });
230
+ }
231
+ async function installHooks(projectDir) {
206
232
  const hooksDir = path.join(projectDir, ".claude", "hooks");
207
233
  ensureDir(hooksDir);
208
234
  logInfo("Installing session hooks...");
@@ -241,8 +267,17 @@ curl -s --max-time 5 -X POST "https://www.everstate.ai/api/session/end" \\
241
267
  -H "Authorization: Bearer $EVERSTATE_API_KEY" \\
242
268
  -d '{}' 2>/dev/null || true
243
269
  `;
244
- // Sync todos hook (simplified)
245
- const syncTodosHook = `#!/usr/bin/env node
270
+ // Try to download the latest sync-todos hook from the server
271
+ let syncTodosHook;
272
+ try {
273
+ logInfo("Downloading latest sync-todos hook...");
274
+ syncTodosHook = await downloadFile("https://www.everstate.ai/hooks/sync-todos.js");
275
+ logSuccess("Downloaded sync-todos.js from server");
276
+ }
277
+ catch {
278
+ logWarning("Could not download sync-todos.js, using embedded fallback");
279
+ // Fallback to simplified embedded version
280
+ syncTodosHook = `#!/usr/bin/env node
246
281
  const https = require('https');
247
282
  const fs = require('fs');
248
283
  const path = require('path');
@@ -260,7 +295,6 @@ process.stdin.on('end', async () => {
260
295
  if (!fs.existsSync(keyPath)) return;
261
296
  const apiKey = fs.readFileSync(keyPath, 'utf8').trim();
262
297
 
263
- // Find projectId from .everstate.json
264
298
  let dir = process.cwd();
265
299
  let projectId = null;
266
300
  while (dir !== path.parse(dir).root) {
@@ -275,7 +309,6 @@ process.stdin.on('end', async () => {
275
309
  }
276
310
  if (!projectId) return;
277
311
 
278
- // Sync each todo
279
312
  for (const todo of todos) {
280
313
  const req = https.request({
281
314
  hostname: 'www.everstate.ai', port: 443, method: 'POST',
@@ -288,22 +321,62 @@ process.stdin.on('end', async () => {
288
321
  } catch {}
289
322
  });
290
323
  `;
291
- const startHookPath = path.join(hooksDir, "session-start.sh");
292
- const stopHookPath = path.join(hooksDir, "session-stop.sh");
293
- const syncTodosPath = path.join(hooksDir, "sync-todos.js");
324
+ }
325
+ // Write hook files with everstate- prefix to avoid conflicts
326
+ const startHookPath = path.join(hooksDir, "everstate-session-start.sh");
327
+ const stopHookPath = path.join(hooksDir, "everstate-session-stop.sh");
328
+ const syncTodosPath = path.join(hooksDir, "everstate-sync-todos.js");
294
329
  fs.writeFileSync(startHookPath, sessionStartHook, { mode: 0o755 });
295
330
  fs.writeFileSync(stopHookPath, sessionStopHook, { mode: 0o755 });
296
331
  fs.writeFileSync(syncTodosPath, syncTodosHook, { mode: 0o755 });
297
- // Configure hooks in settings.local.json
332
+ // Configure hooks in settings.local.json - MERGE with existing hooks
298
333
  const settingsPath = path.join(projectDir, ".claude", "settings.local.json");
299
334
  let settings = readJsonFile(settingsPath) || {};
300
335
  if (!settings.hooks)
301
336
  settings.hooks = {};
302
- settings.hooks.SessionStart = [{ matcher: "*", hooks: [{ type: "command", command: startHookPath }] }];
303
- settings.hooks.Stop = [{ matcher: "*", hooks: [{ type: "command", command: stopHookPath }] }];
304
- settings.hooks.PostToolUse = [{ matcher: "TodoWrite", hooks: [{ type: "command", command: syncTodosPath }] }];
337
+ // Helper to add a hook without duplicating or overwriting user hooks
338
+ function addHookIfNotExists(hookType, matcher, command) {
339
+ if (!settings.hooks[hookType]) {
340
+ settings.hooks[hookType] = [];
341
+ }
342
+ // Check if this exact hook already exists
343
+ const exists = settings.hooks[hookType].some((entry) => {
344
+ if (entry.matcher !== matcher)
345
+ return false;
346
+ return entry.hooks && entry.hooks.some((h) => h.command === command);
347
+ });
348
+ if (!exists) {
349
+ // Find existing entry with same matcher to add to, or create new
350
+ let matcherEntry = settings.hooks[hookType].find((e) => e.matcher === matcher);
351
+ if (matcherEntry) {
352
+ if (!matcherEntry.hooks)
353
+ matcherEntry.hooks = [];
354
+ matcherEntry.hooks.push({ type: "command", command });
355
+ }
356
+ else {
357
+ settings.hooks[hookType].push({
358
+ matcher,
359
+ hooks: [{ type: "command", command }],
360
+ });
361
+ }
362
+ return true;
363
+ }
364
+ return false;
365
+ }
366
+ // Add Everstate hooks (merging with any existing user hooks)
367
+ const added = {
368
+ sessionStart: addHookIfNotExists("SessionStart", "*", startHookPath),
369
+ stop: addHookIfNotExists("Stop", "*", stopHookPath),
370
+ todoWrite: addHookIfNotExists("PostToolUse", "TodoWrite", syncTodosPath),
371
+ };
305
372
  writeJsonFile(settingsPath, settings);
306
- logSuccess("Session hooks installed");
373
+ const addedCount = Object.values(added).filter(Boolean).length;
374
+ if (addedCount > 0) {
375
+ logSuccess(`Added ${addedCount} Everstate hooks (merged with existing hooks)`);
376
+ }
377
+ else {
378
+ logSuccess("Everstate hooks already configured");
379
+ }
307
380
  }
308
381
  async function createProjectConfig(projectDir, apiKey, existingProjectId) {
309
382
  const configPath = path.join(projectDir, ".everstate.json");
@@ -422,7 +495,7 @@ async function runSetup(argv) {
422
495
  const projectConfig = await createProjectConfig(projectDir, apiKey, args.projectId);
423
496
  // Step 4: Install hooks
424
497
  if (!args.skipHooks) {
425
- installHooks(projectDir);
498
+ await installHooks(projectDir);
426
499
  }
427
500
  // Step 5: Update .gitignore
428
501
  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":";;AACA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmdH,4BAuEC;AAxhBD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,6CAA+B;AAG/B,6BAA6B;AAC7B,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,SAAS;CAChB,CAAC;AAEF,MAAM,aAAa,GACjB,OAAO,CAAC,MAAM,CAAC,KAAK;IACpB,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG;IAC/B,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB;QACrC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAE5B,SAAS,CAAC,CAAC,KAA0B,EAAE,IAAY;IACjD,OAAO,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC;AAED,SAAS,GAAG,CAAC,OAAe;IAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AACD,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;AAC1C,CAAC;AACD,SAAS,QAAQ,CAAC,OAAe;IAC/B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;AAC1C,CAAC;AACD,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;AACzC,CAAC;AACD,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;AAC3C,CAAC;AAUD,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,MAAM,GAAc;QACxB,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,EAAE,KAAK;QACX,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;KACjB,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;QACtB,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YACnD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;EACZ,CAAC,CAAC,MAAM,EAAE,+DAA+D,CAAC;EAC1E,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,0CAA0C,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC;EAC1G,CAAC,CAAC,MAAM,EAAE,+DAA+D,CAAC;;EAE1E,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC;;;EAGnB,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC;;;;EAIvB,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC;;;;;;EAMrB,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC;;;;EAItB,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC;;;;;EAK5B,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAAqB;IAC3C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;IACnE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;IAC/F,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;IACpF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,OAAe;IAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB;IACpC,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,IAAS;IAChD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;IAClD,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,cAAc,CAAC,CAAC;IACjE,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAE/C,IAAI,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;IAE/C,6DAA6D;IAC7D,MAAM,CAAC,UAAU,CAAC,SAAS,GAAG;QAC5B,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAChC,GAAG,EAAE;YACH,iBAAiB,EAAE,MAAM;SAC1B;KACF,CAAC;IAEF,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACxC,UAAU,CAAC,qCAAqC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACvD,SAAS,CAAC,YAAY,CAAC,CAAC;IACxB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,UAAU,CAAC,yBAAyB,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAW;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CACvB;YACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,MAAM,CAAC,QAAQ;YACrB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,YAAY,EAAE,qBAAqB,EAAE;SACjD,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;YAC3C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,CAAC,CACF,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;YACzB,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,UAAkB;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3D,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpB,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,CAAC,CAAC;IAE5D,qBAAqB;IACrB,MAAM,gBAAgB,GAAG;;;WAGhB,WAAW;6BACO,WAAW;;;;;;;;;;;;;;CAcvC,CAAC;IAEA,oBAAoB;IACpB,MAAM,eAAe,GAAG;;;WAGf,WAAW;6BACO,WAAW;;;;;;;;CAQvC,CAAC;IAEA,6DAA6D;IAC7D,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,CAAC,uCAAuC,CAAC,CAAC;QACjD,aAAa,GAAG,MAAM,YAAY,CAAC,8CAA8C,CAAC,CAAC;QACnF,UAAU,CAAC,sCAAsC,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,CAAC,2DAA2D,CAAC,CAAC;QACxE,0CAA0C;QAC1C,aAAa,GAAG;;;;;;;;;;;;;;uBAcG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BjC,CAAC;IACA,CAAC;IAED,6DAA6D;IAC7D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;IAErE,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEhE,qEAAqE;IACrE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC7E,IAAI,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;IAEzC,qEAAqE;IACrE,SAAS,kBAAkB,CAAC,QAAgB,EAAE,OAAe,EAAE,OAAe;QAC5E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC;QAED,0CAA0C;QAC1C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;YAC1D,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;gBAAE,OAAO,KAAK,CAAC;YAC5C,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,iEAAiE;YACjE,IAAI,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;YACpF,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,YAAY,CAAC,KAAK;oBAAE,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjD,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;oBAC5B,OAAO;oBACP,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;iBACtC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6DAA6D;IAC7D,MAAM,KAAK,GAAG;QACZ,YAAY,EAAE,kBAAkB,CAAC,cAAc,EAAE,GAAG,EAAE,aAAa,CAAC;QACpE,IAAI,EAAE,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC;QACnD,SAAS,EAAE,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,aAAa,CAAC;KACzE,CAAC;IAEF,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEtC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC/D,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,UAAU,CAAC,SAAS,UAAU,+CAA+C,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,oCAAoC,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,UAAkB,EAClB,MAAc,EACd,iBAAgC;IAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC5D,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAE7C,wBAAwB;IACxB,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,cAAc,EAAE,SAAS,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpD,OAAO,CAAC,2BAA2B,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7F,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,SAAS,GAAG,iBAAiB,CAAC;IAElC,2CAA2C;IAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,uCAAuC,EACvC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,wCAAwC,EAAE,EAC5E,MAAM,CACP,CAAC;YACF,IAAI,QAAQ,EAAE,SAAS,EAAE,CAAC;gBACxB,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACjC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,yDAAyD,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,SAAS,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;QAC5C,WAAW;QACX,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,OAAO;KACjB,CAAC;IAEF,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,uBAAuB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAS,EAAE,MAAc;IACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CACvB;YACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,MAAM,CAAC,QAAQ;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC7C,aAAa,EAAE,UAAU,MAAM,EAAE;aAClC;SACF,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;YAC3C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;YACzB,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IACzC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,CAAC,aAAa,EAAE,6BAA6B,EAAE,gBAAgB,CAAC,CAAC;IAEjF,IAAI,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAErF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACtF,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,IAAc;IAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,+DAA+D,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,gCAAgC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACjI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,+DAA+D,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,0BAA0B,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAO,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,CAAC;QACH,oCAAoC;QACpC,YAAY,CAAC,MAAM,CAAC,CAAC;QAErB,kCAAkC;QAClC,eAAe,CAAC,MAAM,CAAC,CAAC;QAExB,gCAAgC;QAChC,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEpF,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QACjC,CAAC;QAED,4BAA4B;QAC5B,eAAe,CAAC,UAAU,CAAC,CAAC;QAE5B,WAAW;QACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,MAAM,EAAE,2BAA2B,CAAC,GAAG,yBAAyB,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAClI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,+DAA+D,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,QAAQ,CAAC,iBAAiB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@everstateai/mcp",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Everstate MCP server - persistent AI coding memory. Run 'npx @everstateai/mcp setup' to configure.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/setup.ts CHANGED
@@ -185,7 +185,37 @@ function writeApiKeyFile(apiKey: string) {
185
185
  logSuccess("API key stored securely");
186
186
  }
187
187
 
188
- function installHooks(projectDir: string) {
188
+ async function downloadFile(url: string): Promise<string> {
189
+ return new Promise((resolve, reject) => {
190
+ const urlObj = new URL(url);
191
+ const req = https.request(
192
+ {
193
+ hostname: urlObj.hostname,
194
+ port: 443,
195
+ path: urlObj.pathname,
196
+ method: "GET",
197
+ headers: { "User-Agent": "everstate-setup/1.0" },
198
+ },
199
+ (res) => {
200
+ if (res.statusCode !== 200) {
201
+ reject(new Error(`HTTP ${res.statusCode}`));
202
+ return;
203
+ }
204
+ let data = "";
205
+ res.on("data", (chunk) => (data += chunk));
206
+ res.on("end", () => resolve(data));
207
+ }
208
+ );
209
+ req.on("error", reject);
210
+ req.setTimeout(10000, () => {
211
+ req.destroy();
212
+ reject(new Error("Download timeout"));
213
+ });
214
+ req.end();
215
+ });
216
+ }
217
+
218
+ async function installHooks(projectDir: string) {
189
219
  const hooksDir = path.join(projectDir, ".claude", "hooks");
190
220
  ensureDir(hooksDir);
191
221
  logInfo("Installing session hooks...");
@@ -228,8 +258,16 @@ curl -s --max-time 5 -X POST "https://www.everstate.ai/api/session/end" \\
228
258
  -d '{}' 2>/dev/null || true
229
259
  `;
230
260
 
231
- // Sync todos hook (simplified)
232
- const syncTodosHook = `#!/usr/bin/env node
261
+ // Try to download the latest sync-todos hook from the server
262
+ let syncTodosHook: string;
263
+ try {
264
+ logInfo("Downloading latest sync-todos hook...");
265
+ syncTodosHook = await downloadFile("https://www.everstate.ai/hooks/sync-todos.js");
266
+ logSuccess("Downloaded sync-todos.js from server");
267
+ } catch {
268
+ logWarning("Could not download sync-todos.js, using embedded fallback");
269
+ // Fallback to simplified embedded version
270
+ syncTodosHook = `#!/usr/bin/env node
233
271
  const https = require('https');
234
272
  const fs = require('fs');
235
273
  const path = require('path');
@@ -247,7 +285,6 @@ process.stdin.on('end', async () => {
247
285
  if (!fs.existsSync(keyPath)) return;
248
286
  const apiKey = fs.readFileSync(keyPath, 'utf8').trim();
249
287
 
250
- // Find projectId from .everstate.json
251
288
  let dir = process.cwd();
252
289
  let projectId = null;
253
290
  while (dir !== path.parse(dir).root) {
@@ -262,7 +299,6 @@ process.stdin.on('end', async () => {
262
299
  }
263
300
  if (!projectId) return;
264
301
 
265
- // Sync each todo
266
302
  for (const todo of todos) {
267
303
  const req = https.request({
268
304
  hostname: 'www.everstate.ai', port: 443, method: 'POST',
@@ -275,26 +311,66 @@ process.stdin.on('end', async () => {
275
311
  } catch {}
276
312
  });
277
313
  `;
314
+ }
278
315
 
279
- const startHookPath = path.join(hooksDir, "session-start.sh");
280
- const stopHookPath = path.join(hooksDir, "session-stop.sh");
281
- const syncTodosPath = path.join(hooksDir, "sync-todos.js");
316
+ // Write hook files with everstate- prefix to avoid conflicts
317
+ const startHookPath = path.join(hooksDir, "everstate-session-start.sh");
318
+ const stopHookPath = path.join(hooksDir, "everstate-session-stop.sh");
319
+ const syncTodosPath = path.join(hooksDir, "everstate-sync-todos.js");
282
320
 
283
321
  fs.writeFileSync(startHookPath, sessionStartHook, { mode: 0o755 });
284
322
  fs.writeFileSync(stopHookPath, sessionStopHook, { mode: 0o755 });
285
323
  fs.writeFileSync(syncTodosPath, syncTodosHook, { mode: 0o755 });
286
324
 
287
- // Configure hooks in settings.local.json
325
+ // Configure hooks in settings.local.json - MERGE with existing hooks
288
326
  const settingsPath = path.join(projectDir, ".claude", "settings.local.json");
289
327
  let settings = readJsonFile(settingsPath) || {};
290
328
  if (!settings.hooks) settings.hooks = {};
291
329
 
292
- settings.hooks.SessionStart = [{ matcher: "*", hooks: [{ type: "command", command: startHookPath }] }];
293
- settings.hooks.Stop = [{ matcher: "*", hooks: [{ type: "command", command: stopHookPath }] }];
294
- settings.hooks.PostToolUse = [{ matcher: "TodoWrite", hooks: [{ type: "command", command: syncTodosPath }] }];
330
+ // Helper to add a hook without duplicating or overwriting user hooks
331
+ function addHookIfNotExists(hookType: string, matcher: string, command: string): boolean {
332
+ if (!settings.hooks[hookType]) {
333
+ settings.hooks[hookType] = [];
334
+ }
335
+
336
+ // Check if this exact hook already exists
337
+ const exists = settings.hooks[hookType].some((entry: any) => {
338
+ if (entry.matcher !== matcher) return false;
339
+ return entry.hooks && entry.hooks.some((h: any) => h.command === command);
340
+ });
341
+
342
+ if (!exists) {
343
+ // Find existing entry with same matcher to add to, or create new
344
+ let matcherEntry = settings.hooks[hookType].find((e: any) => e.matcher === matcher);
345
+ if (matcherEntry) {
346
+ if (!matcherEntry.hooks) matcherEntry.hooks = [];
347
+ matcherEntry.hooks.push({ type: "command", command });
348
+ } else {
349
+ settings.hooks[hookType].push({
350
+ matcher,
351
+ hooks: [{ type: "command", command }],
352
+ });
353
+ }
354
+ return true;
355
+ }
356
+ return false;
357
+ }
358
+
359
+ // Add Everstate hooks (merging with any existing user hooks)
360
+ const added = {
361
+ sessionStart: addHookIfNotExists("SessionStart", "*", startHookPath),
362
+ stop: addHookIfNotExists("Stop", "*", stopHookPath),
363
+ todoWrite: addHookIfNotExists("PostToolUse", "TodoWrite", syncTodosPath),
364
+ };
295
365
 
296
366
  writeJsonFile(settingsPath, settings);
297
- logSuccess("Session hooks installed");
367
+
368
+ const addedCount = Object.values(added).filter(Boolean).length;
369
+ if (addedCount > 0) {
370
+ logSuccess(`Added ${addedCount} Everstate hooks (merged with existing hooks)`);
371
+ } else {
372
+ logSuccess("Everstate hooks already configured");
373
+ }
298
374
  }
299
375
 
300
376
  async function createProjectConfig(
@@ -445,7 +521,7 @@ export async function runSetup(argv: string[]) {
445
521
 
446
522
  // Step 4: Install hooks
447
523
  if (!args.skipHooks) {
448
- installHooks(projectDir);
524
+ await installHooks(projectDir);
449
525
  }
450
526
 
451
527
  // Step 5: Update .gitignore