@everstateai/mcp 1.3.14 → 1.3.15
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/index.js +55 -3
- package/dist/index.js.map +1 -1
- package/dist/setup/hooks/templates.d.ts.map +1 -1
- package/dist/setup/hooks/templates.js +41 -6
- package/dist/setup/hooks/templates.js.map +1 -1
- package/dist/setup/types.js +1 -1
- package/dist/setup/types.js.map +1 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +208 -5
- package/dist/setup.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +57 -3
- package/src/setup/hooks/templates.ts +41 -6
- package/src/setup/types.ts +1 -1
- package/src/setup.ts +230 -7
package/dist/index.js
CHANGED
|
@@ -220,7 +220,10 @@ async function runMcpServer() {
|
|
|
220
220
|
console.error("[Everstate] Could not auto-detect project:", error);
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
-
|
|
223
|
+
// Cache for API-fetched batch config (avoids repeated fetches)
|
|
224
|
+
let cachedApiBatchConfig = null;
|
|
225
|
+
const API_CACHE_TTL = 5 * 60 * 1000; // 5 minutes
|
|
226
|
+
function readBatchConfigFromFile() {
|
|
224
227
|
let dir = process.cwd();
|
|
225
228
|
const root = path.parse(dir).root;
|
|
226
229
|
while (dir !== root) {
|
|
@@ -241,9 +244,54 @@ async function runMcpServer() {
|
|
|
241
244
|
}
|
|
242
245
|
dir = path.dirname(dir);
|
|
243
246
|
}
|
|
244
|
-
return
|
|
247
|
+
return null; // No local config found
|
|
245
248
|
}
|
|
246
|
-
|
|
249
|
+
async function readBatchConfigFromApi() {
|
|
250
|
+
// Use cached result if fresh enough
|
|
251
|
+
if (cachedApiBatchConfig && (Date.now() - cachedApiBatchConfig.fetchedAt) < API_CACHE_TTL) {
|
|
252
|
+
return cachedApiBatchConfig.config;
|
|
253
|
+
}
|
|
254
|
+
try {
|
|
255
|
+
const res = await fetch(`${API_BASE}/api/users/me/preferences`, {
|
|
256
|
+
headers: { Authorization: `Bearer ${API_KEY}` },
|
|
257
|
+
});
|
|
258
|
+
if (res.ok) {
|
|
259
|
+
const prefs = await res.json();
|
|
260
|
+
if (prefs.batchSyncEnabled !== undefined) {
|
|
261
|
+
const interval = Number(prefs.batchSyncInterval) || 30;
|
|
262
|
+
const config = {
|
|
263
|
+
enabled: Boolean(prefs.batchSyncEnabled),
|
|
264
|
+
intervalSeconds: Math.min(Math.max(interval, 5), 300),
|
|
265
|
+
};
|
|
266
|
+
cachedApiBatchConfig = { config, fetchedAt: Date.now() };
|
|
267
|
+
return config;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
catch { /* API unavailable, use defaults */ }
|
|
272
|
+
const defaultConfig = { enabled: false, intervalSeconds: 30 };
|
|
273
|
+
cachedApiBatchConfig = { config: defaultConfig, fetchedAt: Date.now() };
|
|
274
|
+
return defaultConfig;
|
|
275
|
+
}
|
|
276
|
+
function readBatchConfig() {
|
|
277
|
+
// Local .everstate.json always takes precedence
|
|
278
|
+
const localConfig = readBatchConfigFromFile();
|
|
279
|
+
if (localConfig)
|
|
280
|
+
return localConfig;
|
|
281
|
+
// Synchronous fallback for initial startup — API config loaded async below
|
|
282
|
+
return cachedApiBatchConfig?.config ?? { enabled: false, intervalSeconds: 30 };
|
|
283
|
+
}
|
|
284
|
+
// On startup, try to load batch config from API (async)
|
|
285
|
+
let batchConfig = readBatchConfig();
|
|
286
|
+
readBatchConfigFromApi().then(apiConfig => {
|
|
287
|
+
// Only apply if no local config exists
|
|
288
|
+
if (!readBatchConfigFromFile()) {
|
|
289
|
+
batchConfig = apiConfig;
|
|
290
|
+
if (apiConfig.enabled) {
|
|
291
|
+
console.error(`[Everstate] Batch sync enabled from user preferences (interval: ${apiConfig.intervalSeconds}s)`);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}).catch(() => { });
|
|
247
295
|
const BUFFER_DIR = path.join(process.cwd(), ".claude");
|
|
248
296
|
const BUFFER_PATH = path.join(BUFFER_DIR, ".batch-buffer.json");
|
|
249
297
|
const MAX_RETRIES = 3;
|
|
@@ -479,6 +527,10 @@ async function runMcpServer() {
|
|
|
479
527
|
if (sessionProjectId && !enrichedArgs.projectId && !hasProjectIdInParams) {
|
|
480
528
|
enrichedArgs.projectId = sessionProjectId;
|
|
481
529
|
}
|
|
530
|
+
// Inject vault key for encrypted personal intelligence layer
|
|
531
|
+
if (process.env.EVERSTATE_VAULT_KEY && !enrichedArgs.vaultKey) {
|
|
532
|
+
enrichedArgs.vaultKey = process.env.EVERSTATE_VAULT_KEY;
|
|
533
|
+
}
|
|
482
534
|
// Auto-session: trigger sync if this is the first tool call or idle > 5 minutes
|
|
483
535
|
const now = Date.now();
|
|
484
536
|
const isIdle = lastToolCallTime > 0 && (now - lastToolCallTime) > AUTO_SYNC_IDLE_MS;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/setup/hooks/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAqD,MAAM,aAAa,CAAC;AAE5F;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/setup/hooks/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAqD,MAAM,aAAa,CAAC;AAE5F;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CA8LrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAoBxE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAgDtE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAwBtE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAkB3E;AAuID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAqF5E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CA0EvE;AAED,eAAO,MAAM,aAAa;;;;;;;;CAQzB,CAAC"}
|
|
@@ -31,7 +31,7 @@ function getSyncTodosHook(config) {
|
|
|
31
31
|
* Two-way sync between Claude's TodoWrite and Everstate dashboard.
|
|
32
32
|
* Runs after every TodoWrite tool call.
|
|
33
33
|
*
|
|
34
|
-
* Push: Sends
|
|
34
|
+
* Push: Sends only CHANGED todos to Everstate (hash-cache dedup).
|
|
35
35
|
* Pull: Reads dashboard changes from API response and outputs instructions
|
|
36
36
|
* to stdout so Claude can update its TodoWrite list.
|
|
37
37
|
*
|
|
@@ -51,6 +51,10 @@ process.stdin.setEncoding('utf8');
|
|
|
51
51
|
process.stdin.on('data', chunk => stdinData += chunk);
|
|
52
52
|
process.stdin.on('end', () => main());
|
|
53
53
|
|
|
54
|
+
function normalizeTitle(str) {
|
|
55
|
+
return str.toLowerCase().trim().replace(/\\s+/g, ' ');
|
|
56
|
+
}
|
|
57
|
+
|
|
54
58
|
async function main() {
|
|
55
59
|
try {
|
|
56
60
|
// Read API key
|
|
@@ -99,20 +103,43 @@ async function main() {
|
|
|
99
103
|
process.exit(0);
|
|
100
104
|
}
|
|
101
105
|
|
|
102
|
-
// Read
|
|
106
|
+
// Read sync state (timestamps + todo hash cache)
|
|
103
107
|
const syncStatePath = path.join(
|
|
104
108
|
process.env.CLAUDE_PROJECT_DIR || process.cwd(),
|
|
105
109
|
'.claude', '.sync-state.json'
|
|
106
110
|
);
|
|
107
111
|
let lastSyncedAt = null;
|
|
112
|
+
let todoHashes = {};
|
|
113
|
+
let isFullSync = false;
|
|
108
114
|
try {
|
|
109
115
|
if (fs.existsSync(syncStatePath)) {
|
|
110
116
|
const state = JSON.parse(fs.readFileSync(syncStatePath, 'utf8'));
|
|
111
117
|
lastSyncedAt = state.lastSyncedAt || null;
|
|
118
|
+
todoHashes = state.todoHashes || {};
|
|
119
|
+
} else {
|
|
120
|
+
isFullSync = true; // First sync of session
|
|
112
121
|
}
|
|
113
|
-
} catch {
|
|
122
|
+
} catch {
|
|
123
|
+
isFullSync = true;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Filter to only send changed todos (hash-cache dedup)
|
|
127
|
+
let changedTodos = todos;
|
|
128
|
+
if (!isFullSync && Object.keys(todoHashes).length > 0) {
|
|
129
|
+
changedTodos = todos.filter(todo => {
|
|
130
|
+
const key = normalizeTitle(todo.content);
|
|
131
|
+
const cachedStatus = todoHashes[key];
|
|
132
|
+
// Send if: new todo, or status changed
|
|
133
|
+
return cachedStatus === undefined || cachedStatus !== todo.status;
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (changedTodos.length === 0) {
|
|
138
|
+
// Nothing changed — skip API call entirely
|
|
139
|
+
process.exit(0);
|
|
140
|
+
}
|
|
114
141
|
|
|
115
|
-
// Send to API for matching and storage
|
|
142
|
+
// Send changed todos to API for matching and storage
|
|
116
143
|
const response = await fetch(\`\${API_URL}/api/session/sync-todos\`, {
|
|
117
144
|
method: 'POST',
|
|
118
145
|
headers: {
|
|
@@ -121,9 +148,10 @@ async function main() {
|
|
|
121
148
|
},
|
|
122
149
|
body: JSON.stringify({
|
|
123
150
|
projectId,
|
|
124
|
-
todos,
|
|
151
|
+
todos: changedTodos,
|
|
125
152
|
sessionId: process.env.SESSION_ID || null,
|
|
126
153
|
lastSyncedAt,
|
|
154
|
+
fullSync: isFullSync,
|
|
127
155
|
}),
|
|
128
156
|
});
|
|
129
157
|
|
|
@@ -136,11 +164,18 @@ async function main() {
|
|
|
136
164
|
// Parse response for two-way sync
|
|
137
165
|
const data = await response.json();
|
|
138
166
|
|
|
139
|
-
//
|
|
167
|
+
// Update hash cache with ALL current todos (not just changed ones)
|
|
168
|
+
const newHashes = {};
|
|
169
|
+
for (const todo of todos) {
|
|
170
|
+
newHashes[normalizeTitle(todo.content)] = todo.status;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Save sync state
|
|
140
174
|
try {
|
|
141
175
|
fs.mkdirSync(path.dirname(syncStatePath), { recursive: true });
|
|
142
176
|
fs.writeFileSync(syncStatePath, JSON.stringify({
|
|
143
177
|
lastSyncedAt: data.syncedAt || new Date().toISOString(),
|
|
178
|
+
todoHashes: newHashes,
|
|
144
179
|
}));
|
|
145
180
|
} catch {}
|
|
146
181
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/setup/hooks/templates.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAOH,
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/setup/hooks/templates.ts"],"names":[],"mappings":"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"}
|
package/dist/setup/types.js
CHANGED
|
@@ -39,7 +39,7 @@ function c(color, text) {
|
|
|
39
39
|
exports.HOOK_VERSIONS = {
|
|
40
40
|
sessionStart: '1.1.0',
|
|
41
41
|
sessionEnd: '1.1.0',
|
|
42
|
-
syncTodos: '
|
|
42
|
+
syncTodos: '7.0.0', // Hash-cache dedup: only sends changed todos, prevents duplicate task creation
|
|
43
43
|
preCompact: '2.0.0', // Re-injects critical context (gotchas, decisions, tasks) before compaction
|
|
44
44
|
subagentContext: '1.0.0', // Injects project context when subagents spawn
|
|
45
45
|
};
|
package/dist/setup/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/setup/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA0JH,sCAQC;AAED,cAEC;AAgBD,0CAEC;AAED,kDAEC;AAED,gEAOC;AAED,kDAEC;AAED,sDAEC;AA9DY,QAAA,MAAM,GAAW;IAC5B,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;IACf,GAAG,EAAE,SAAS;CACf,CAAC;AAEF,SAAgB,aAAa;IAC3B,OAAO,CACL,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;QAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG;QAC/B,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB;YACrC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED,SAAgB,CAAC,CAAC,KAAmB,EAAE,IAAY;IACjD,OAAO,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,cAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAElE,QAAA,aAAa,GAAG;IAC3B,YAAY,EAAE,OAAO;IACrB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,OAAO,EAAG
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/setup/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA0JH,sCAQC;AAED,cAEC;AAgBD,0CAEC;AAED,kDAEC;AAED,gEAOC;AAED,kDAEC;AAED,sDAEC;AA9DY,QAAA,MAAM,GAAW;IAC5B,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;IACf,GAAG,EAAE,SAAS;CACf,CAAC;AAEF,SAAgB,aAAa;IAC3B,OAAO,CACL,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI;QAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG;QAC/B,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB;YACrC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED,SAAgB,CAAC,CAAC,KAAmB,EAAE,IAAY;IACjD,OAAO,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,cAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAElE,QAAA,aAAa,GAAG;IAC3B,YAAY,EAAE,OAAO;IACrB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,OAAO,EAAG,+EAA+E;IACpG,UAAU,EAAE,OAAO,EAAE,4EAA4E;IACjG,eAAe,EAAE,OAAO,EAAE,+CAA+C;CAC1E,CAAC;AAEW,QAAA,iBAAiB,GAAG,0BAA0B,CAAC;AAE5D,SAAgB,eAAe;IAC7B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC;AAC1C,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC;AAC5C,CAAC;AAED,SAAgB,0BAA0B;IACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,gEAAgE,CAAC;IAC7F,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,oCAAoC,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,CAAC,CAAC,2CAA2C;AACxD,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,mBAAmB,CAAC;AAChD,CAAC;AAED,SAAgB,qBAAqB;IACnC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,oCAAoC,CAAC;AACjE,CAAC"}
|
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AA+gCH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,iBA6J5C"}
|
package/dist/setup.js
CHANGED
|
@@ -507,6 +507,76 @@ async function installHooks(projectDir, force = false) {
|
|
|
507
507
|
logSuccess("Everstate tools added to approved commands");
|
|
508
508
|
}
|
|
509
509
|
// ============================================================================
|
|
510
|
+
// Stack detection
|
|
511
|
+
// ============================================================================
|
|
512
|
+
const STACK_DETECT = [
|
|
513
|
+
{
|
|
514
|
+
id: 'react',
|
|
515
|
+
name: 'React',
|
|
516
|
+
checks: [
|
|
517
|
+
{ file: 'package.json', contains: '"react"' },
|
|
518
|
+
{ file: 'vite.config.ts' },
|
|
519
|
+
{ file: 'vite.config.js' },
|
|
520
|
+
{ file: 'next.config.js' },
|
|
521
|
+
{ file: 'next.config.mjs' },
|
|
522
|
+
{ file: 'next.config.ts' },
|
|
523
|
+
],
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
id: 'node',
|
|
527
|
+
name: 'Node.js',
|
|
528
|
+
checks: [
|
|
529
|
+
{ file: 'package.json', contains: '"express"' },
|
|
530
|
+
{ file: 'package.json', contains: '"fastify"' },
|
|
531
|
+
{ file: 'package.json', contains: '"@nestjs/core"' },
|
|
532
|
+
],
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
id: 'python',
|
|
536
|
+
name: 'Python',
|
|
537
|
+
checks: [
|
|
538
|
+
{ file: 'pyproject.toml' },
|
|
539
|
+
{ file: 'requirements.txt' },
|
|
540
|
+
{ file: 'setup.py' },
|
|
541
|
+
{ file: 'Pipfile' },
|
|
542
|
+
{ file: 'manage.py' },
|
|
543
|
+
],
|
|
544
|
+
},
|
|
545
|
+
];
|
|
546
|
+
function detectProjectStack(projectDir) {
|
|
547
|
+
for (const stack of STACK_DETECT) {
|
|
548
|
+
for (const check of stack.checks) {
|
|
549
|
+
const filePath = path.join(projectDir, check.file);
|
|
550
|
+
if (!fs.existsSync(filePath))
|
|
551
|
+
continue;
|
|
552
|
+
if (check.contains) {
|
|
553
|
+
try {
|
|
554
|
+
const content = fs.readFileSync(filePath, 'utf8');
|
|
555
|
+
if (content.includes(check.contains)) {
|
|
556
|
+
return { id: stack.id, name: stack.name };
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
catch {
|
|
560
|
+
continue;
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
else {
|
|
564
|
+
return { id: stack.id, name: stack.name };
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
return null;
|
|
569
|
+
}
|
|
570
|
+
async function applyStackTemplate(apiKey, projectId, stackId) {
|
|
571
|
+
try {
|
|
572
|
+
const response = await httpPost("https://www.everstate.ai/api/projects/apply-stack-template", { projectId, stack: stackId }, apiKey);
|
|
573
|
+
return response && !response.error;
|
|
574
|
+
}
|
|
575
|
+
catch {
|
|
576
|
+
return false;
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
// ============================================================================
|
|
510
580
|
// Project config
|
|
511
581
|
// ============================================================================
|
|
512
582
|
async function createProjectConfig(projectDir, apiKey, existingProjectId) {
|
|
@@ -529,14 +599,22 @@ async function createProjectConfig(projectDir, apiKey, existingProjectId) {
|
|
|
529
599
|
logWarning("Could not create project via API, creating local config");
|
|
530
600
|
}
|
|
531
601
|
}
|
|
602
|
+
// Detect project stack
|
|
603
|
+
const detectedStack = detectProjectStack(projectDir);
|
|
532
604
|
const config = {
|
|
533
605
|
projectId: projectId || `proj_${Date.now()}`,
|
|
534
606
|
projectName,
|
|
535
607
|
createdAt: new Date().toISOString(),
|
|
536
608
|
version: "1.0.0",
|
|
537
609
|
};
|
|
610
|
+
if (detectedStack) {
|
|
611
|
+
config.stack = detectedStack.id;
|
|
612
|
+
}
|
|
538
613
|
writeJsonFile(configPath, config);
|
|
539
614
|
logSuccess(`Project configured: ${config.projectName}`);
|
|
615
|
+
if (detectedStack) {
|
|
616
|
+
logSuccess(`Detected stack: ${detectedStack.name}`);
|
|
617
|
+
}
|
|
540
618
|
return config;
|
|
541
619
|
}
|
|
542
620
|
// ============================================================================
|
|
@@ -544,7 +622,7 @@ async function createProjectConfig(projectDir, apiKey, existingProjectId) {
|
|
|
544
622
|
// ============================================================================
|
|
545
623
|
function updateGitignore(projectDir) {
|
|
546
624
|
const gitignorePath = path.join(projectDir, ".gitignore");
|
|
547
|
-
const entries = ["# Everstate", ".claude/settings.local.json", ".claude/hooks/", ".claude/rules/"];
|
|
625
|
+
const entries = ["# Everstate", ".claude/settings.local.json", ".claude/hooks/", ".claude/rules/", ".cursor/rules/everstate.mdc", ".windsurf/rules/everstate.md"];
|
|
548
626
|
let content = fs.existsSync(gitignorePath) ? fs.readFileSync(gitignorePath, "utf8") : "";
|
|
549
627
|
const toAdd = entries.filter((e) => !content.includes(e.replace("# Everstate", "")));
|
|
550
628
|
if (toAdd.length > 0) {
|
|
@@ -598,9 +676,98 @@ function ensureClaudeMd(projectDir) {
|
|
|
598
676
|
}
|
|
599
677
|
}
|
|
600
678
|
// ============================================================================
|
|
679
|
+
// Cursor Rules (.cursor/rules/everstate.mdc)
|
|
680
|
+
// ============================================================================
|
|
681
|
+
const CURSOR_RULES_CONTENT = `---
|
|
682
|
+
description: Everstate project memory - persistent context across sessions
|
|
683
|
+
globs: "**/*"
|
|
684
|
+
alwaysApply: true
|
|
685
|
+
---
|
|
686
|
+
|
|
687
|
+
# Everstate - Project Memory
|
|
688
|
+
|
|
689
|
+
This project uses [Everstate](https://www.everstate.ai) for persistent memory across sessions.
|
|
690
|
+
|
|
691
|
+
## MCP Tools Available
|
|
692
|
+
|
|
693
|
+
You have Everstate MCP tools. Use them:
|
|
694
|
+
|
|
695
|
+
| Tool | When to Use |
|
|
696
|
+
|------|-------------|
|
|
697
|
+
| \`sync\` | **Call at the START of every conversation** to load project context |
|
|
698
|
+
| \`done\` | **Call BEFORE ending** to save session summary for next time |
|
|
699
|
+
| \`recall\` | Search past sessions: \`recall({ query: "what did we try for X?" })\` |
|
|
700
|
+
| \`log\` | Record progress: \`log({ type: "achievement", message: "..." })\` |
|
|
701
|
+
| \`everstate\` | All 100+ actions: \`everstate({ action: "help" })\` |
|
|
702
|
+
|
|
703
|
+
## Session Workflow
|
|
704
|
+
|
|
705
|
+
1. **Start**: Call \`sync()\` first thing to load context (gotchas, tasks, last session)
|
|
706
|
+
2. **During**: Use \`log()\` for progress, \`recall()\` to search memory
|
|
707
|
+
3. **End**: Call \`done({ summary: "...", nextSteps: [...] })\` to save context
|
|
708
|
+
`;
|
|
709
|
+
function ensureCursorRules(projectDir) {
|
|
710
|
+
const rulesDir = path.join(projectDir, ".cursor", "rules");
|
|
711
|
+
const rulesPath = path.join(rulesDir, "everstate.mdc");
|
|
712
|
+
if (!fs.existsSync(rulesDir)) {
|
|
713
|
+
fs.mkdirSync(rulesDir, { recursive: true });
|
|
714
|
+
}
|
|
715
|
+
fs.writeFileSync(rulesPath, CURSOR_RULES_CONTENT);
|
|
716
|
+
logSuccess("Created .cursor/rules/everstate.mdc");
|
|
717
|
+
}
|
|
718
|
+
// ============================================================================
|
|
719
|
+
// Windsurf Rules (.windsurf/rules/everstate.md)
|
|
720
|
+
// ============================================================================
|
|
721
|
+
const WINDSURF_RULES_CONTENT = `# Everstate - Project Memory
|
|
722
|
+
|
|
723
|
+
This project uses [Everstate](https://www.everstate.ai) for persistent memory across sessions.
|
|
724
|
+
|
|
725
|
+
## MCP Tools Available
|
|
726
|
+
|
|
727
|
+
You have Everstate MCP tools. Use them:
|
|
728
|
+
|
|
729
|
+
| Tool | When to Use |
|
|
730
|
+
|------|-------------|
|
|
731
|
+
| \`sync\` | **Call at the START of every conversation** to load project context |
|
|
732
|
+
| \`done\` | **Call BEFORE ending** to save session summary for next time |
|
|
733
|
+
| \`recall\` | Search past sessions: \`recall({ query: "what did we try for X?" })\` |
|
|
734
|
+
| \`log\` | Record progress: \`log({ type: "achievement", message: "..." })\` |
|
|
735
|
+
| \`everstate\` | All 100+ actions: \`everstate({ action: "help" })\` |
|
|
736
|
+
|
|
737
|
+
## Session Workflow
|
|
738
|
+
|
|
739
|
+
1. **Start**: Call \`sync()\` first thing to load context (gotchas, tasks, last session)
|
|
740
|
+
2. **During**: Use \`log()\` for progress, \`recall()\` to search memory
|
|
741
|
+
3. **End**: Call \`done({ summary: "...", nextSteps: [...] })\` to save context
|
|
742
|
+
`;
|
|
743
|
+
function ensureWindsurfRules(projectDir) {
|
|
744
|
+
const rulesDir = path.join(projectDir, ".windsurf", "rules");
|
|
745
|
+
const rulesPath = path.join(rulesDir, "everstate.md");
|
|
746
|
+
if (!fs.existsSync(rulesDir)) {
|
|
747
|
+
fs.mkdirSync(rulesDir, { recursive: true });
|
|
748
|
+
}
|
|
749
|
+
fs.writeFileSync(rulesPath, WINDSURF_RULES_CONTENT);
|
|
750
|
+
logSuccess("Created .windsurf/rules/everstate.md");
|
|
751
|
+
}
|
|
752
|
+
// ============================================================================
|
|
753
|
+
// Install rules for detected non-Claude tools
|
|
754
|
+
// ============================================================================
|
|
755
|
+
function installToolRules(projectDir, configResults) {
|
|
756
|
+
for (const result of configResults) {
|
|
757
|
+
if (result.status !== "configured")
|
|
758
|
+
continue;
|
|
759
|
+
if (result.id === "cursor") {
|
|
760
|
+
ensureCursorRules(projectDir);
|
|
761
|
+
}
|
|
762
|
+
else if (result.id === "windsurf") {
|
|
763
|
+
ensureWindsurfRules(projectDir);
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
// ============================================================================
|
|
601
768
|
// Setup summary
|
|
602
769
|
// ============================================================================
|
|
603
|
-
function printSetupSummary(configResults, projectDir, apiKey) {
|
|
770
|
+
function printSetupSummary(configResults, projectDir, apiKey, detectedStack) {
|
|
604
771
|
console.log("");
|
|
605
772
|
console.log(c("green", "╔═══════════════════════════════════════════════════════════╗"));
|
|
606
773
|
console.log(c("green", "║") + " " + c("bold", "Everstate Setup Complete!") + " " + c("green", "║"));
|
|
@@ -634,6 +801,21 @@ function printSetupSummary(configResults, projectDir, apiKey) {
|
|
|
634
801
|
console.log(c("green", " ✓ ") + "Project config".padEnd(22) + c("dim", ".everstate.json"));
|
|
635
802
|
console.log(c("green", " ✓ ") + "Session hooks".padEnd(22) + c("dim", ".claude/hooks/"));
|
|
636
803
|
console.log(c("green", " ✓ ") + "Permissions".padEnd(22) + c("dim", ".claude/settings.local.json"));
|
|
804
|
+
// Show rules files for detected tools
|
|
805
|
+
for (const result of configResults) {
|
|
806
|
+
if (result.status !== "configured")
|
|
807
|
+
continue;
|
|
808
|
+
if (result.id === "cursor") {
|
|
809
|
+
console.log(c("green", " ✓ ") + "Cursor rules".padEnd(22) + c("dim", ".cursor/rules/everstate.mdc"));
|
|
810
|
+
}
|
|
811
|
+
else if (result.id === "windsurf") {
|
|
812
|
+
console.log(c("green", " ✓ ") + "Windsurf rules".padEnd(22) + c("dim", ".windsurf/rules/everstate.md"));
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
if (detectedStack) {
|
|
816
|
+
const stackName = STACK_DETECT.find(s => s.id === detectedStack)?.name || detectedStack;
|
|
817
|
+
console.log(c("green", " ✓ ") + "Stack template".padEnd(22) + c("dim", `${stackName} (gotchas + tasks)`));
|
|
818
|
+
}
|
|
637
819
|
console.log("");
|
|
638
820
|
// Next steps
|
|
639
821
|
console.log(c("cyan", " Add another project:"));
|
|
@@ -690,8 +872,9 @@ async function runUpgrade(args) {
|
|
|
690
872
|
logSuccess(`${result.tool} → ${shortenPath(result.path)}`);
|
|
691
873
|
}
|
|
692
874
|
}
|
|
693
|
-
logInfo("Updating hooks...");
|
|
875
|
+
logInfo("Updating hooks and rules...");
|
|
694
876
|
await installHooks(projectDir, true);
|
|
877
|
+
installToolRules(projectDir, configResults);
|
|
695
878
|
// Also run auto-update to install any new hook types (gotcha-check, implicit-progress)
|
|
696
879
|
try {
|
|
697
880
|
const { checkAndApplyUpdates } = await import('./setup/auto-update.js');
|
|
@@ -831,14 +1014,34 @@ async function runSetup(argv) {
|
|
|
831
1014
|
// ── Step 5: Create project config ────────────────────────────────
|
|
832
1015
|
logInfo(`Project directory: ${shortenPath(projectDir)}`);
|
|
833
1016
|
const projectConfig = await createProjectConfig(projectDir, apiKey, args.projectId);
|
|
1017
|
+
// ── Step 5b: Apply stack template if detected ──────────────────
|
|
1018
|
+
if (projectConfig.stack) {
|
|
1019
|
+
const stackName = STACK_DETECT.find(s => s.id === projectConfig.stack)?.name || projectConfig.stack;
|
|
1020
|
+
let shouldApply = true;
|
|
1021
|
+
if (!args.nonInteractive) {
|
|
1022
|
+
const answer = await askQuestion(` Apply ${c("bold", stackName)} starter template (gotchas + tasks)? [Y/n] `, "y");
|
|
1023
|
+
shouldApply = answer.toLowerCase() !== "n";
|
|
1024
|
+
}
|
|
1025
|
+
if (shouldApply) {
|
|
1026
|
+
logInfo(`Applying ${stackName} stack template...`);
|
|
1027
|
+
const applied = await applyStackTemplate(apiKey, projectConfig.projectId, projectConfig.stack);
|
|
1028
|
+
if (applied) {
|
|
1029
|
+
logSuccess(`${stackName} gotchas and task template seeded`);
|
|
1030
|
+
}
|
|
1031
|
+
else {
|
|
1032
|
+
logSkip("Stack template will be available via: everstate({ action: 'project.apply_stack_template', params: { stack: '" + projectConfig.stack + "' } })");
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
1035
|
+
}
|
|
834
1036
|
// ── Step 6: Install hooks ────────────────────────────────────────
|
|
835
1037
|
if (!args.skipHooks) {
|
|
836
1038
|
await installHooks(projectDir, args.force);
|
|
837
1039
|
}
|
|
838
1040
|
// ── Step 7: Update .gitignore ────────────────────────────────────
|
|
839
1041
|
updateGitignore(projectDir);
|
|
840
|
-
// ── Step 8: Create
|
|
1042
|
+
// ── Step 8: Create rules files for detected tools ──────────────────
|
|
841
1043
|
ensureClaudeMd(projectDir);
|
|
1044
|
+
installToolRules(projectDir, configResults);
|
|
842
1045
|
// ── Step 9: Write version file ───────────────────────────────────
|
|
843
1046
|
const versionFile = (0, version_js_1.createVersionFile)("setup");
|
|
844
1047
|
versionFile.projects[projectConfig.projectId] = {
|
|
@@ -863,7 +1066,7 @@ async function runSetup(argv) {
|
|
|
863
1066
|
logSuccess("All checks passed!");
|
|
864
1067
|
}
|
|
865
1068
|
// ── Summary ──────────────────────────────────────────────────────
|
|
866
|
-
printSetupSummary(configResults, projectDir, apiKey);
|
|
1069
|
+
printSetupSummary(configResults, projectDir, apiKey, projectConfig.stack);
|
|
867
1070
|
}
|
|
868
1071
|
catch (error) {
|
|
869
1072
|
logError(`Setup failed: ${error.message}`);
|