@stackguide/mcp-server 2.4.0 → 3.1.0
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/README.md +82 -16
- package/dist/config/healthWeights.d.ts +87 -0
- package/dist/config/healthWeights.d.ts.map +1 -0
- package/dist/config/healthWeights.js +238 -0
- package/dist/config/healthWeights.js.map +1 -0
- package/dist/config/types.d.ts +150 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/handlers/generate.d.ts +6 -0
- package/dist/handlers/generate.d.ts.map +1 -1
- package/dist/handlers/generate.js +81 -5
- package/dist/handlers/generate.js.map +1 -1
- package/dist/handlers/health.d.ts +7 -0
- package/dist/handlers/health.d.ts.map +1 -1
- package/dist/handlers/health.js +151 -69
- package/dist/handlers/health.js.map +1 -1
- package/dist/handlers/review.d.ts +12 -0
- package/dist/handlers/review.d.ts.map +1 -1
- package/dist/handlers/review.js +220 -21
- package/dist/handlers/review.js.map +1 -1
- package/dist/services/analysisCache.d.ts +110 -0
- package/dist/services/analysisCache.d.ts.map +1 -0
- package/dist/services/analysisCache.js +233 -0
- package/dist/services/analysisCache.js.map +1 -0
- package/dist/services/astAnalyzer.d.ts +21 -0
- package/dist/services/astAnalyzer.d.ts.map +1 -0
- package/dist/services/astAnalyzer.js +593 -0
- package/dist/services/astAnalyzer.js.map +1 -0
- package/dist/services/codeAnalyzer.d.ts +109 -30
- package/dist/services/codeAnalyzer.d.ts.map +1 -1
- package/dist/services/codeAnalyzer.js +519 -36
- package/dist/services/codeAnalyzer.js.map +1 -1
- package/dist/services/conventionDetector.d.ts +40 -0
- package/dist/services/conventionDetector.d.ts.map +1 -0
- package/dist/services/conventionDetector.js +465 -0
- package/dist/services/conventionDetector.js.map +1 -0
- package/dist/services/cursorDirectory.d.ts +29 -2
- package/dist/services/cursorDirectory.d.ts.map +1 -1
- package/dist/services/cursorDirectory.js +260 -9
- package/dist/services/cursorDirectory.js.map +1 -1
- package/dist/utils/validation.d.ts +2 -2
- package/package.json +2 -1
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This service fetches and parses rules from cursor.directory,
|
|
5
5
|
* a popular community-driven repository of cursor rules for AI coding assistants.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Persistent disk cache for offline access
|
|
9
|
+
* - Automatic fallback to cached rules when offline
|
|
10
|
+
* - TTL-based cache invalidation
|
|
6
11
|
*/
|
|
7
12
|
export interface CursorDirectoryRule {
|
|
8
13
|
id: string;
|
|
@@ -19,12 +24,34 @@ export declare const CURSOR_DIRECTORY_CATEGORIES: readonly ["typescript", "pytho
|
|
|
19
24
|
export type CursorDirectoryCategory = typeof CURSOR_DIRECTORY_CATEGORIES[number];
|
|
20
25
|
/**
|
|
21
26
|
* Fetch a single rule from cursor.directory
|
|
27
|
+
* Falls back to cached version if offline
|
|
22
28
|
*/
|
|
23
29
|
export declare function fetchCursorDirectoryRule(slug: string, category?: string): Promise<CursorDirectoryRule | null>;
|
|
24
30
|
/**
|
|
25
31
|
* Browse rules by category
|
|
32
|
+
* Falls back to cached rules if offline
|
|
26
33
|
*/
|
|
27
34
|
export declare function browseCursorDirectoryCategory(category: string): Promise<CursorDirectoryRule[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Sync cache - fetch and cache popular rules for offline use
|
|
37
|
+
*/
|
|
38
|
+
export declare function syncCursorDirectoryCache(): Promise<{
|
|
39
|
+
synced: number;
|
|
40
|
+
errors: number;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* Check if we're currently online
|
|
44
|
+
*/
|
|
45
|
+
export declare function isCurrentlyOnline(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Get persistent cache statistics
|
|
48
|
+
*/
|
|
49
|
+
export declare function getPersistentCacheStats(): {
|
|
50
|
+
rules: number;
|
|
51
|
+
categories: number;
|
|
52
|
+
lastSync: string | null;
|
|
53
|
+
isOnline: boolean;
|
|
54
|
+
};
|
|
28
55
|
/**
|
|
29
56
|
* Search for rules across cursor.directory
|
|
30
57
|
*/
|
|
@@ -42,11 +69,11 @@ export declare function getPopularCursorDirectoryRules(): Promise<CursorDirector
|
|
|
42
69
|
*/
|
|
43
70
|
export declare function formatRuleForImport(rule: CursorDirectoryRule): string;
|
|
44
71
|
/**
|
|
45
|
-
* Clear the cursor directory cache
|
|
72
|
+
* Clear the cursor directory cache (both in-memory and persistent)
|
|
46
73
|
*/
|
|
47
74
|
export declare function clearCursorDirectoryCache(): void;
|
|
48
75
|
/**
|
|
49
|
-
* Get cache stats
|
|
76
|
+
* Get cache stats (in-memory)
|
|
50
77
|
*/
|
|
51
78
|
export declare function getCacheStats(): {
|
|
52
79
|
rules: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursorDirectory.d.ts","sourceRoot":"","sources":["../../src/services/cursorDirectory.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cursorDirectory.d.ts","sourceRoot":"","sources":["../../src/services/cursorDirectory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAgBD,eAAO,MAAM,2BAA2B,oaAuC9B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC;AAgUjF;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkB,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA4D9H;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAmEpG;AAED;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAsC5F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAQA;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA6BzF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,EAAE,CAEvD;AAED;;GAEG;AACH,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAsBrF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAerE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAKhD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAKrE"}
|
|
@@ -3,7 +3,19 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This service fetches and parses rules from cursor.directory,
|
|
5
5
|
* a popular community-driven repository of cursor rules for AI coding assistants.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Persistent disk cache for offline access
|
|
9
|
+
* - Automatic fallback to cached rules when offline
|
|
10
|
+
* - TTL-based cache invalidation
|
|
6
11
|
*/
|
|
12
|
+
import * as fs from 'fs';
|
|
13
|
+
import * as path from 'path';
|
|
14
|
+
import { logger } from '../utils/logger.js';
|
|
15
|
+
const CACHE_VERSION = '1.0.0';
|
|
16
|
+
const CACHE_DIR = '.stackguide';
|
|
17
|
+
const CACHE_FILE = 'cursor-rules-cache.json';
|
|
18
|
+
const CACHE_TTL = 7 * 24 * 60 * 60 * 1000; // 7 days
|
|
7
19
|
// Categories available on cursor.directory
|
|
8
20
|
export const CURSOR_DIRECTORY_CATEGORIES = [
|
|
9
21
|
'typescript',
|
|
@@ -45,11 +57,140 @@ export const CURSOR_DIRECTORY_CATEGORIES = [
|
|
|
45
57
|
'docker',
|
|
46
58
|
'kubernetes'
|
|
47
59
|
];
|
|
48
|
-
// Cache for fetched rules
|
|
60
|
+
// Cache for fetched rules (in-memory)
|
|
49
61
|
const rulesCache = new Map();
|
|
50
62
|
const categoryCache = new Map();
|
|
63
|
+
// Persistent cache state
|
|
64
|
+
let persistentCache = null;
|
|
65
|
+
let isOnline = true;
|
|
51
66
|
// Base URL for cursor.directory
|
|
52
67
|
const BASE_URL = 'https://cursor.directory';
|
|
68
|
+
/**
|
|
69
|
+
* Get the path to the persistent cache file
|
|
70
|
+
*/
|
|
71
|
+
function getCacheFilePath() {
|
|
72
|
+
const homeDir = process.env.HOME || process.env.USERPROFILE || '.';
|
|
73
|
+
return path.join(homeDir, CACHE_DIR, CACHE_FILE);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Load persistent cache from disk
|
|
77
|
+
*/
|
|
78
|
+
function loadPersistentCache() {
|
|
79
|
+
if (persistentCache) {
|
|
80
|
+
return persistentCache;
|
|
81
|
+
}
|
|
82
|
+
const cachePath = getCacheFilePath();
|
|
83
|
+
try {
|
|
84
|
+
if (fs.existsSync(cachePath)) {
|
|
85
|
+
const data = fs.readFileSync(cachePath, 'utf-8');
|
|
86
|
+
const cache = JSON.parse(data);
|
|
87
|
+
if (cache.version === CACHE_VERSION) {
|
|
88
|
+
persistentCache = cache;
|
|
89
|
+
logger.debug('Loaded cursor directory cache', {
|
|
90
|
+
rules: Object.keys(cache.rules).length,
|
|
91
|
+
categories: Object.keys(cache.categories).length
|
|
92
|
+
});
|
|
93
|
+
return cache;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
catch (error) {
|
|
98
|
+
logger.debug('Failed to load cursor directory cache', { error });
|
|
99
|
+
}
|
|
100
|
+
persistentCache = createEmptyCache();
|
|
101
|
+
return persistentCache;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Save persistent cache to disk
|
|
105
|
+
*/
|
|
106
|
+
function savePersistentCache() {
|
|
107
|
+
if (!persistentCache)
|
|
108
|
+
return;
|
|
109
|
+
const cachePath = getCacheFilePath();
|
|
110
|
+
const cacheDir = path.dirname(cachePath);
|
|
111
|
+
try {
|
|
112
|
+
if (!fs.existsSync(cacheDir)) {
|
|
113
|
+
fs.mkdirSync(cacheDir, { recursive: true });
|
|
114
|
+
}
|
|
115
|
+
persistentCache.lastSync = new Date().toISOString();
|
|
116
|
+
fs.writeFileSync(cachePath, JSON.stringify(persistentCache, null, 2));
|
|
117
|
+
logger.debug('Saved cursor directory cache');
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
logger.debug('Failed to save cursor directory cache', { error });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Create empty persistent cache
|
|
125
|
+
*/
|
|
126
|
+
function createEmptyCache() {
|
|
127
|
+
return {
|
|
128
|
+
version: CACHE_VERSION,
|
|
129
|
+
lastSync: new Date().toISOString(),
|
|
130
|
+
rules: {},
|
|
131
|
+
categories: {}
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Check if we have internet connectivity
|
|
136
|
+
*/
|
|
137
|
+
async function checkConnectivity() {
|
|
138
|
+
try {
|
|
139
|
+
const controller = new AbortController();
|
|
140
|
+
const timeout = setTimeout(() => controller.abort(), 3000);
|
|
141
|
+
const response = await fetch(`${BASE_URL}/robots.txt`, {
|
|
142
|
+
method: 'HEAD',
|
|
143
|
+
signal: controller.signal
|
|
144
|
+
});
|
|
145
|
+
clearTimeout(timeout);
|
|
146
|
+
isOnline = response.ok;
|
|
147
|
+
return isOnline;
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
isOnline = false;
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Get rule from persistent cache
|
|
156
|
+
*/
|
|
157
|
+
function getCachedRule(slug, category) {
|
|
158
|
+
const cache = loadPersistentCache();
|
|
159
|
+
const cacheKey = `${category}-${slug}`;
|
|
160
|
+
const cached = cache.rules[cacheKey];
|
|
161
|
+
if (cached) {
|
|
162
|
+
// Check if cache is still valid (within TTL)
|
|
163
|
+
const fetchedAt = new Date(cached.fetchedAt).getTime();
|
|
164
|
+
if (Date.now() - fetchedAt < CACHE_TTL) {
|
|
165
|
+
return cached;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Store rule in persistent cache
|
|
172
|
+
*/
|
|
173
|
+
function cacheRule(rule) {
|
|
174
|
+
const cache = loadPersistentCache();
|
|
175
|
+
const cacheKey = `${rule.category}-${rule.slug}`;
|
|
176
|
+
cache.rules[cacheKey] = rule;
|
|
177
|
+
savePersistentCache();
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Store category slugs in persistent cache
|
|
181
|
+
*/
|
|
182
|
+
function cacheCategory(category, slugs) {
|
|
183
|
+
const cache = loadPersistentCache();
|
|
184
|
+
cache.categories[category] = slugs;
|
|
185
|
+
savePersistentCache();
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Get cached slugs for a category
|
|
189
|
+
*/
|
|
190
|
+
function getCachedCategorySlugs(category) {
|
|
191
|
+
const cache = loadPersistentCache();
|
|
192
|
+
return cache.categories[category] || null;
|
|
193
|
+
}
|
|
53
194
|
/**
|
|
54
195
|
* Extract rule content from cursor.directory HTML page
|
|
55
196
|
*/
|
|
@@ -203,13 +344,27 @@ function parseCategoryPage(html) {
|
|
|
203
344
|
}
|
|
204
345
|
/**
|
|
205
346
|
* Fetch a single rule from cursor.directory
|
|
347
|
+
* Falls back to cached version if offline
|
|
206
348
|
*/
|
|
207
349
|
export async function fetchCursorDirectoryRule(slug, category = 'general') {
|
|
208
|
-
// Check cache first
|
|
350
|
+
// Check in-memory cache first
|
|
209
351
|
const cacheKey = `${category}-${slug}`;
|
|
210
352
|
if (rulesCache.has(cacheKey)) {
|
|
211
353
|
return rulesCache.get(cacheKey);
|
|
212
354
|
}
|
|
355
|
+
// Check persistent cache
|
|
356
|
+
const cachedRule = getCachedRule(slug, category);
|
|
357
|
+
// Check connectivity
|
|
358
|
+
const online = await checkConnectivity();
|
|
359
|
+
if (!online) {
|
|
360
|
+
if (cachedRule) {
|
|
361
|
+
logger.debug('Offline: using cached rule', { slug });
|
|
362
|
+
rulesCache.set(cacheKey, cachedRule);
|
|
363
|
+
return cachedRule;
|
|
364
|
+
}
|
|
365
|
+
logger.debug('Offline: no cached rule available', { slug });
|
|
366
|
+
return null;
|
|
367
|
+
}
|
|
213
368
|
try {
|
|
214
369
|
const url = `${BASE_URL}/${slug}`;
|
|
215
370
|
const response = await fetch(url, {
|
|
@@ -219,29 +374,63 @@ export async function fetchCursorDirectoryRule(slug, category = 'general') {
|
|
|
219
374
|
}
|
|
220
375
|
});
|
|
221
376
|
if (!response.ok) {
|
|
222
|
-
|
|
377
|
+
logger.debug(`Failed to fetch rule ${slug}: ${response.status}`);
|
|
378
|
+
// Return cached version if available
|
|
379
|
+
if (cachedRule) {
|
|
380
|
+
rulesCache.set(cacheKey, cachedRule);
|
|
381
|
+
return cachedRule;
|
|
382
|
+
}
|
|
223
383
|
return null;
|
|
224
384
|
}
|
|
225
385
|
const html = await response.text();
|
|
226
386
|
const rule = extractRuleFromHtml(html, slug, category);
|
|
227
387
|
if (rule) {
|
|
228
388
|
rulesCache.set(cacheKey, rule);
|
|
389
|
+
cacheRule(rule); // Persist to disk
|
|
229
390
|
}
|
|
230
391
|
return rule;
|
|
231
392
|
}
|
|
232
393
|
catch (error) {
|
|
233
|
-
|
|
394
|
+
logger.debug(`Error fetching cursor directory rule: ${error}`);
|
|
395
|
+
// Return cached version on error
|
|
396
|
+
if (cachedRule) {
|
|
397
|
+
rulesCache.set(cacheKey, cachedRule);
|
|
398
|
+
return cachedRule;
|
|
399
|
+
}
|
|
234
400
|
return null;
|
|
235
401
|
}
|
|
236
402
|
}
|
|
237
403
|
/**
|
|
238
404
|
* Browse rules by category
|
|
405
|
+
* Falls back to cached rules if offline
|
|
239
406
|
*/
|
|
240
407
|
export async function browseCursorDirectoryCategory(category) {
|
|
241
|
-
// Check cache
|
|
408
|
+
// Check in-memory cache
|
|
242
409
|
if (categoryCache.has(category)) {
|
|
243
410
|
return categoryCache.get(category);
|
|
244
411
|
}
|
|
412
|
+
// Check connectivity
|
|
413
|
+
const online = await checkConnectivity();
|
|
414
|
+
if (!online) {
|
|
415
|
+
// Try to load from persistent cache
|
|
416
|
+
const cachedSlugs = getCachedCategorySlugs(category);
|
|
417
|
+
if (cachedSlugs) {
|
|
418
|
+
const rules = [];
|
|
419
|
+
for (const slug of cachedSlugs) {
|
|
420
|
+
const rule = getCachedRule(slug, category);
|
|
421
|
+
if (rule) {
|
|
422
|
+
rules.push(rule);
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
if (rules.length > 0) {
|
|
426
|
+
logger.debug('Offline: using cached category rules', { category, count: rules.length });
|
|
427
|
+
categoryCache.set(category, rules);
|
|
428
|
+
return rules;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
logger.debug('Offline: no cached rules for category', { category });
|
|
432
|
+
return [];
|
|
433
|
+
}
|
|
245
434
|
try {
|
|
246
435
|
const url = `${BASE_URL}/rules/${category}`;
|
|
247
436
|
const response = await fetch(url, {
|
|
@@ -251,11 +440,13 @@ export async function browseCursorDirectoryCategory(category) {
|
|
|
251
440
|
}
|
|
252
441
|
});
|
|
253
442
|
if (!response.ok) {
|
|
254
|
-
|
|
443
|
+
logger.debug(`Failed to fetch category ${category}: ${response.status}`);
|
|
255
444
|
return [];
|
|
256
445
|
}
|
|
257
446
|
const html = await response.text();
|
|
258
447
|
const slugs = parseCategoryPage(html);
|
|
448
|
+
// Cache the slugs
|
|
449
|
+
cacheCategory(category, slugs);
|
|
259
450
|
// Fetch first 10 rules to avoid too many requests
|
|
260
451
|
const rules = [];
|
|
261
452
|
for (const slug of slugs.slice(0, 10)) {
|
|
@@ -270,10 +461,68 @@ export async function browseCursorDirectoryCategory(category) {
|
|
|
270
461
|
return rules;
|
|
271
462
|
}
|
|
272
463
|
catch (error) {
|
|
273
|
-
|
|
464
|
+
logger.debug(`Error browsing cursor directory category: ${error}`);
|
|
274
465
|
return [];
|
|
275
466
|
}
|
|
276
467
|
}
|
|
468
|
+
/**
|
|
469
|
+
* Sync cache - fetch and cache popular rules for offline use
|
|
470
|
+
*/
|
|
471
|
+
export async function syncCursorDirectoryCache() {
|
|
472
|
+
const online = await checkConnectivity();
|
|
473
|
+
if (!online) {
|
|
474
|
+
return { synced: 0, errors: 0 };
|
|
475
|
+
}
|
|
476
|
+
let synced = 0;
|
|
477
|
+
let errors = 0;
|
|
478
|
+
// Sync popular rules
|
|
479
|
+
const popularSlugs = [
|
|
480
|
+
{ slug: 'nextjs-react-typescript-cursor-rules', category: 'typescript' },
|
|
481
|
+
{ slug: 'react-native-cursor-rules', category: 'react-native' },
|
|
482
|
+
{ slug: 'python-django-cursor-rules', category: 'python' },
|
|
483
|
+
{ slug: 'fastapi-python-cursor-rules', category: 'python' },
|
|
484
|
+
{ slug: 'vuejs-typescript-best-practices', category: 'vue' },
|
|
485
|
+
{ slug: 'tailwind-css-cursor-rules', category: 'tailwindcss' },
|
|
486
|
+
{ slug: 'prisma-orm-cursor-rules', category: 'prisma' },
|
|
487
|
+
{ slug: 'nestjs-clean-typescript-cursor-rules', category: 'typescript' }
|
|
488
|
+
];
|
|
489
|
+
for (const { slug, category } of popularSlugs) {
|
|
490
|
+
try {
|
|
491
|
+
const rule = await fetchCursorDirectoryRule(slug, category);
|
|
492
|
+
if (rule) {
|
|
493
|
+
synced++;
|
|
494
|
+
}
|
|
495
|
+
else {
|
|
496
|
+
errors++;
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
catch {
|
|
500
|
+
errors++;
|
|
501
|
+
}
|
|
502
|
+
// Small delay to be respectful
|
|
503
|
+
await new Promise(resolve => setTimeout(resolve, 200));
|
|
504
|
+
}
|
|
505
|
+
logger.debug('Cursor directory cache synced', { synced, errors });
|
|
506
|
+
return { synced, errors };
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Check if we're currently online
|
|
510
|
+
*/
|
|
511
|
+
export function isCurrentlyOnline() {
|
|
512
|
+
return isOnline;
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Get persistent cache statistics
|
|
516
|
+
*/
|
|
517
|
+
export function getPersistentCacheStats() {
|
|
518
|
+
const cache = loadPersistentCache();
|
|
519
|
+
return {
|
|
520
|
+
rules: Object.keys(cache.rules).length,
|
|
521
|
+
categories: Object.keys(cache.categories).length,
|
|
522
|
+
lastSync: cache.lastSync,
|
|
523
|
+
isOnline
|
|
524
|
+
};
|
|
525
|
+
}
|
|
277
526
|
/**
|
|
278
527
|
* Search for rules across cursor.directory
|
|
279
528
|
*/
|
|
@@ -349,14 +598,16 @@ ${rule.content}
|
|
|
349
598
|
`;
|
|
350
599
|
}
|
|
351
600
|
/**
|
|
352
|
-
* Clear the cursor directory cache
|
|
601
|
+
* Clear the cursor directory cache (both in-memory and persistent)
|
|
353
602
|
*/
|
|
354
603
|
export function clearCursorDirectoryCache() {
|
|
355
604
|
rulesCache.clear();
|
|
356
605
|
categoryCache.clear();
|
|
606
|
+
persistentCache = createEmptyCache();
|
|
607
|
+
savePersistentCache();
|
|
357
608
|
}
|
|
358
609
|
/**
|
|
359
|
-
* Get cache stats
|
|
610
|
+
* Get cache stats (in-memory)
|
|
360
611
|
*/
|
|
361
612
|
export function getCacheStats() {
|
|
362
613
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursorDirectory.js","sourceRoot":"","sources":["../../src/services/cursorDirectory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,2CAA2C;AAC3C,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,OAAO;IACP,KAAK;IACL,YAAY;IACZ,aAAa;IACb,SAAS;IACT,GAAG;IACH,iBAAiB;IACjB,kBAAkB;IAClB,MAAM;IACN,cAAc;IACd,SAAS;IACT,UAAU;IACV,SAAS;IACT,MAAM;IACN,UAAU;IACV,KAAK;IACL,QAAQ;IACR,MAAM;IACN,IAAI;IACJ,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,SAAS;IACT,KAAK;IACL,QAAQ;IACR,YAAY;CACJ,CAAC;AAIX,0BAA0B;AAC1B,MAAM,UAAU,GAAqC,IAAI,GAAG,EAAE,CAAC;AAC/D,MAAM,aAAa,GAAuC,IAAI,GAAG,EAAE,CAAC;AAEpE,gCAAgC;AAChC,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AAE5C;;GAEG;AACH,SAAS,mBAAmB,CAAC,IAAY,EAAE,IAAY,EAAE,QAAgB;IACvE,IAAI,CAAC;QACH,gBAAgB;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC;eACnD,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1F,8DAA8D;QAC9D,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC/E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACnF,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEpC,mDAAmD;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,iDAAiD,CAAC;eAC1E,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,eAAe,CAAC;QAE9E,4BAA4B;QAC5B,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEvD,OAAO;YACL,EAAE,EAAE,oBAAoB,QAAQ,IAAI,IAAI,EAAE;YAC1C,IAAI;YACJ,KAAK;YACL,WAAW;YACX,OAAO;YACP,QAAQ;YACR,IAAI;YACJ,GAAG,EAAE,GAAG,QAAQ,IAAI,IAAI,EAAE;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI;QACT,6BAA6B;SAC5B,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;QACxB,kBAAkB;SACjB,OAAO,CAAC,wBAAwB,EAAE,UAAU,CAAC;SAC7C,OAAO,CAAC,wBAAwB,EAAE,WAAW,CAAC;SAC9C,OAAO,CAAC,wBAAwB,EAAE,YAAY,CAAC;SAC/C,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC;QACjD,gBAAgB;SACf,OAAO,CAAC,wBAAwB,EAAE,QAAQ,CAAC;SAC3C,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC;QACnC,qBAAqB;SACpB,OAAO,CAAC,sBAAsB,EAAE,QAAQ,CAAC;QAC1C,sBAAsB;SACrB,OAAO,CAAC,kDAAkD,EAAE,kBAAkB,CAAC;SAC/E,OAAO,CAAC,4BAA4B,EAAE,MAAM,CAAC;QAC9C,mBAAmB;SAClB,OAAO,CAAC,4CAA4C,EAAE,QAAQ,CAAC;SAC/D,OAAO,CAAC,oCAAoC,EAAE,MAAM,CAAC;QACtD,sBAAsB;SACrB,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;QAC9B,wBAAwB;SACvB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QACxB,mBAAmB;SAClB,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC;SAChC,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,OAAe,EAAE,QAAgB;IAC/D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzC,uCAAuC;IACvC,MAAM,QAAQ,GAA2B;QACvC,YAAY,EAAE,oBAAoB;QAClC,YAAY,EAAE,oBAAoB;QAClC,OAAO,EAAE,oBAAoB;QAC7B,SAAS,EAAE,mBAAmB;QAC9B,KAAK,EAAE,gBAAgB;QACvB,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,oBAAoB;QAC9B,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,cAAc;QACzB,OAAO,EAAE,YAAY;QACrB,aAAa,EAAE,WAAW;QAC1B,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,qBAAqB;QACjC,SAAS,EAAE,0CAA0C;QACrD,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE,qBAAqB;QACnC,KAAK,EAAE,8BAA8B;QACrC,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,sBAAsB;QACjC,YAAY,EAAE,4BAA4B;QAC1C,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,wCAAwC;QACpD,aAAa,EAAE,mCAAmC;QAClD,eAAe,EAAE,0BAA0B;QAC3C,KAAK,EAAE,wBAAwB;KAChC,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,2CAA2C;IAC3C,MAAM,WAAW,GAAG,yBAAyB,CAAC;IAC9C,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,4BAA4B;QAC5B,IAAI,IAAI;YACJ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC1B,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjF,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAY,EAAE,WAAmB,SAAS;IACvF,oBAAoB;IACpB,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IACvC,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,OAAO,EAAE;gBACP,YAAY,EAAE,+CAA+C;gBAC7D,QAAQ,EAAE,iEAAiE;aAC5E;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEvD,IAAI,IAAI,EAAE,CAAC;YACT,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,QAAgB;IAClE,cAAc;IACd,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACtC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,QAAQ,UAAU,QAAQ,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,OAAO,EAAE;gBACP,YAAY,EAAE,+CAA+C;gBAC7D,QAAQ,EAAE,iEAAiE;aAC5E;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,4BAA4B,QAAQ,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1E,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEtC,kDAAkD;QAClD,MAAM,KAAK,GAA0B,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5D,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;YACD,+BAA+B;YAC/B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,KAAK,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,KAAa;IACvD,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvC,uBAAuB;IACvB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC7C,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gDAAgD;IAChD,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClE,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CACnE,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,MAAM,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,CAAC,GAAG,2BAA2B,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B;IAClD,MAAM,YAAY,GAAG;QACnB,EAAE,IAAI,EAAE,sCAAsC,EAAE,QAAQ,EAAE,YAAY,EAAE;QACxE,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,cAAc,EAAE;QAC/D,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAC1D,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,QAAQ,EAAE;QAC3D,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC5D,EAAE,IAAI,EAAE,2BAA2B,EAAE,QAAQ,EAAE,aAAa,EAAE;QAC9D,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACvD,EAAE,IAAI,EAAE,sCAAsC,EAAE,QAAQ,EAAE,YAAY,EAAE;KACzE,CAAC;IAEF,MAAM,KAAK,GAA0B,EAAE,CAAC;IAExC,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAyB;IAC3D,OAAO,KAAK,IAAI,CAAC,KAAK;;;SAGf,IAAI,CAAC,GAAG;cACH,IAAI,CAAC,QAAQ;UACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAI5B,IAAI,CAAC,OAAO;;;YAGF,IAAI,CAAC,SAAS;CACzB,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACvC,UAAU,CAAC,KAAK,EAAE,CAAC;IACnB,aAAa,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,IAAI;QACtB,UAAU,EAAE,aAAa,CAAC,IAAI;KAC/B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"cursorDirectory.js","sourceRoot":"","sources":["../../src/services/cursorDirectory.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,13 +58,13 @@ export declare const ReviewInputSchema: z.ZodObject<{
|
|
|
58
58
|
focus: z.ZodDefault<z.ZodOptional<z.ZodEnum<["all", "security", "performance", "architecture", "coding-standards"]>>>;
|
|
59
59
|
}, "strip", z.ZodTypeAny, {
|
|
60
60
|
focus: "coding-standards" | "security" | "performance" | "architecture" | "all";
|
|
61
|
+
project?: boolean | undefined;
|
|
61
62
|
url?: string | undefined;
|
|
62
63
|
file?: string | undefined;
|
|
63
|
-
project?: boolean | undefined;
|
|
64
64
|
}, {
|
|
65
|
+
project?: boolean | undefined;
|
|
65
66
|
url?: string | undefined;
|
|
66
67
|
file?: string | undefined;
|
|
67
|
-
project?: boolean | undefined;
|
|
68
68
|
focus?: "coding-standards" | "security" | "performance" | "architecture" | "all" | undefined;
|
|
69
69
|
}>;
|
|
70
70
|
export declare const CursorInputSchema: z.ZodObject<{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stackguide/mcp-server",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "MCP Server for dynamic language and framework context loading - Compatible with Cursor and GitHub Copilot",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"license": "GPL-3.0",
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
37
|
+
"ts-morph": "^27.0.2",
|
|
37
38
|
"zod": "^3.23.8"
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|