@stackguide/mcp-server 2.3.2 → 3.0.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.
Files changed (56) hide show
  1. package/README.md +82 -16
  2. package/dist/config/healthWeights.d.ts +87 -0
  3. package/dist/config/healthWeights.d.ts.map +1 -0
  4. package/dist/config/healthWeights.js +238 -0
  5. package/dist/config/healthWeights.js.map +1 -0
  6. package/dist/config/types.d.ts +104 -0
  7. package/dist/config/types.d.ts.map +1 -1
  8. package/dist/config/types.js.map +1 -1
  9. package/dist/handlers/generate.d.ts +24 -0
  10. package/dist/handlers/generate.d.ts.map +1 -0
  11. package/dist/handlers/generate.js +845 -0
  12. package/dist/handlers/generate.js.map +1 -0
  13. package/dist/handlers/health.d.ts +19 -0
  14. package/dist/handlers/health.d.ts.map +1 -0
  15. package/dist/handlers/health.js +401 -0
  16. package/dist/handlers/health.js.map +1 -0
  17. package/dist/handlers/help.d.ts +1 -1
  18. package/dist/handlers/help.d.ts.map +1 -1
  19. package/dist/handlers/help.js +70 -10
  20. package/dist/handlers/help.js.map +1 -1
  21. package/dist/handlers/index.d.ts +2 -0
  22. package/dist/handlers/index.d.ts.map +1 -1
  23. package/dist/handlers/index.js +2 -0
  24. package/dist/handlers/index.js.map +1 -1
  25. package/dist/handlers/review.d.ts +12 -0
  26. package/dist/handlers/review.d.ts.map +1 -1
  27. package/dist/handlers/review.js +220 -21
  28. package/dist/handlers/review.js.map +1 -1
  29. package/dist/handlers/setup.d.ts +1 -0
  30. package/dist/handlers/setup.d.ts.map +1 -1
  31. package/dist/handlers/setup.js +102 -5
  32. package/dist/handlers/setup.js.map +1 -1
  33. package/dist/index.js +6 -2
  34. package/dist/index.js.map +1 -1
  35. package/dist/services/analysisCache.d.ts +110 -0
  36. package/dist/services/analysisCache.d.ts.map +1 -0
  37. package/dist/services/analysisCache.js +233 -0
  38. package/dist/services/analysisCache.js.map +1 -0
  39. package/dist/services/codeAnalyzer.d.ts +73 -22
  40. package/dist/services/codeAnalyzer.d.ts.map +1 -1
  41. package/dist/services/codeAnalyzer.js +462 -44
  42. package/dist/services/codeAnalyzer.js.map +1 -1
  43. package/dist/services/conventionDetector.d.ts +40 -0
  44. package/dist/services/conventionDetector.d.ts.map +1 -0
  45. package/dist/services/conventionDetector.js +465 -0
  46. package/dist/services/conventionDetector.js.map +1 -0
  47. package/dist/services/cursorDirectory.d.ts +29 -2
  48. package/dist/services/cursorDirectory.d.ts.map +1 -1
  49. package/dist/services/cursorDirectory.js +260 -9
  50. package/dist/services/cursorDirectory.js.map +1 -1
  51. package/dist/tools/definitions.d.ts +125 -0
  52. package/dist/tools/definitions.d.ts.map +1 -1
  53. package/dist/tools/definitions.js +62 -1
  54. package/dist/tools/definitions.js.map +1 -1
  55. package/dist/utils/validation.d.ts +2 -2
  56. package/package.json +1 -1
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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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Analysis Cache Service
3
+ * Caches code analysis results by file hash to avoid re-analyzing unchanged files
4
+ */
5
+ import { AnalysisResult } from './codeAnalyzer.js';
6
+ interface CacheEntry {
7
+ hash: string;
8
+ result: AnalysisResult;
9
+ timestamp: number;
10
+ version: string;
11
+ }
12
+ interface CacheStore {
13
+ version: string;
14
+ entries: Record<string, CacheEntry>;
15
+ }
16
+ /**
17
+ * Compute SHA256 hash of file content
18
+ */
19
+ export declare function computeFileHash(content: string): string;
20
+ /**
21
+ * Get cache directory path for a project
22
+ */
23
+ export declare function getCacheDir(projectPath: string): string;
24
+ /**
25
+ * Get cache file path for a project
26
+ */
27
+ export declare function getCacheFilePath(projectPath: string): string;
28
+ /**
29
+ * Load cache from disk
30
+ */
31
+ export declare function loadCache(projectPath: string): CacheStore;
32
+ /**
33
+ * Save cache to disk
34
+ */
35
+ export declare function saveCache(projectPath: string, cache: CacheStore): void;
36
+ /**
37
+ * Create empty cache store
38
+ */
39
+ export declare function createEmptyCache(): CacheStore;
40
+ /**
41
+ * Clean expired entries from cache
42
+ */
43
+ export declare function cleanExpiredEntries(cache: CacheStore): CacheStore;
44
+ /**
45
+ * Get cached analysis result if valid
46
+ */
47
+ export declare function getCachedResult(cache: CacheStore, filePath: string, content: string): AnalysisResult | null;
48
+ /**
49
+ * Store analysis result in cache
50
+ */
51
+ export declare function setCachedResult(cache: CacheStore, filePath: string, content: string, result: AnalysisResult): void;
52
+ /**
53
+ * Invalidate cache entry for a file
54
+ */
55
+ export declare function invalidateCacheEntry(cache: CacheStore, filePath: string): void;
56
+ /**
57
+ * Clear all cache entries
58
+ */
59
+ export declare function clearCache(projectPath: string): void;
60
+ /**
61
+ * Get cache statistics
62
+ */
63
+ export declare function getCacheStats(cache: CacheStore): {
64
+ totalEntries: number;
65
+ validEntries: number;
66
+ expiredEntries: number;
67
+ oldestEntry: number | null;
68
+ newestEntry: number | null;
69
+ };
70
+ /**
71
+ * AnalysisCacheManager - High-level API for managing analysis cache
72
+ */
73
+ export declare class AnalysisCacheManager {
74
+ private projectPath;
75
+ private cache;
76
+ private dirty;
77
+ constructor(projectPath: string);
78
+ /**
79
+ * Get cached result or null if not found/invalid
80
+ */
81
+ get(filePath: string, content: string): AnalysisResult | null;
82
+ /**
83
+ * Store result in cache
84
+ */
85
+ set(filePath: string, content: string, result: AnalysisResult): void;
86
+ /**
87
+ * Invalidate a specific file
88
+ */
89
+ invalidate(filePath: string): void;
90
+ /**
91
+ * Save cache to disk if modified
92
+ */
93
+ save(): void;
94
+ /**
95
+ * Get cache statistics
96
+ */
97
+ getStats(): {
98
+ totalEntries: number;
99
+ validEntries: number;
100
+ expiredEntries: number;
101
+ oldestEntry: number | null;
102
+ newestEntry: number | null;
103
+ };
104
+ /**
105
+ * Clear all cache
106
+ */
107
+ clear(): void;
108
+ }
109
+ export {};
110
+ //# sourceMappingURL=analysisCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysisCache.d.ts","sourceRoot":"","sources":["../../src/services/analysisCache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACrC;AAOD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAqBzD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAkBtE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAK7C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAcjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,cAAc,GAAG,IAAI,CAiBvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,GACrB,IAAI,CAON;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAWpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CA6BA;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAkB;gBAEnB,WAAW,EAAE,MAAM;IAK/B;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAI7D;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAKpE;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,QAAQ;sBArFM,MAAM;sBACN,MAAM;wBACJ,MAAM;qBACT,MAAM,GAAG,IAAI;qBACb,MAAM,GAAG,IAAI;;IAqF1B;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Analysis Cache Service
3
+ * Caches code analysis results by file hash to avoid re-analyzing unchanged files
4
+ */
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import * as crypto from 'crypto';
8
+ import { logger } from '../utils/logger.js';
9
+ const CACHE_VERSION = '1.0.0';
10
+ const CACHE_TTL = 24 * 60 * 60 * 1000; // 24 hours
11
+ const CACHE_DIR = '.stackguide';
12
+ const CACHE_FILE = 'analysis-cache.json';
13
+ /**
14
+ * Compute SHA256 hash of file content
15
+ */
16
+ export function computeFileHash(content) {
17
+ return crypto.createHash('sha256').update(content).digest('hex').slice(0, 16);
18
+ }
19
+ /**
20
+ * Get cache directory path for a project
21
+ */
22
+ export function getCacheDir(projectPath) {
23
+ return path.join(projectPath, CACHE_DIR);
24
+ }
25
+ /**
26
+ * Get cache file path for a project
27
+ */
28
+ export function getCacheFilePath(projectPath) {
29
+ return path.join(getCacheDir(projectPath), CACHE_FILE);
30
+ }
31
+ /**
32
+ * Load cache from disk
33
+ */
34
+ export function loadCache(projectPath) {
35
+ const cachePath = getCacheFilePath(projectPath);
36
+ try {
37
+ if (fs.existsSync(cachePath)) {
38
+ const data = fs.readFileSync(cachePath, 'utf-8');
39
+ const cache = JSON.parse(data);
40
+ // Invalidate cache if version mismatch
41
+ if (cache.version !== CACHE_VERSION) {
42
+ logger.debug('Cache version mismatch, starting fresh');
43
+ return createEmptyCache();
44
+ }
45
+ return cache;
46
+ }
47
+ }
48
+ catch (error) {
49
+ logger.debug('Failed to load cache, starting fresh', { error });
50
+ }
51
+ return createEmptyCache();
52
+ }
53
+ /**
54
+ * Save cache to disk
55
+ */
56
+ export function saveCache(projectPath, cache) {
57
+ const cacheDir = getCacheDir(projectPath);
58
+ const cachePath = getCacheFilePath(projectPath);
59
+ try {
60
+ // Ensure cache directory exists
61
+ if (!fs.existsSync(cacheDir)) {
62
+ fs.mkdirSync(cacheDir, { recursive: true });
63
+ }
64
+ // Clean expired entries before saving
65
+ const cleanedCache = cleanExpiredEntries(cache);
66
+ fs.writeFileSync(cachePath, JSON.stringify(cleanedCache, null, 2));
67
+ logger.debug('Cache saved', { entries: Object.keys(cleanedCache.entries).length });
68
+ }
69
+ catch (error) {
70
+ logger.debug('Failed to save cache', { error });
71
+ }
72
+ }
73
+ /**
74
+ * Create empty cache store
75
+ */
76
+ export function createEmptyCache() {
77
+ return {
78
+ version: CACHE_VERSION,
79
+ entries: {}
80
+ };
81
+ }
82
+ /**
83
+ * Clean expired entries from cache
84
+ */
85
+ export function cleanExpiredEntries(cache) {
86
+ const now = Date.now();
87
+ const cleanedEntries = {};
88
+ for (const [filePath, entry] of Object.entries(cache.entries)) {
89
+ if (now - entry.timestamp < CACHE_TTL) {
90
+ cleanedEntries[filePath] = entry;
91
+ }
92
+ }
93
+ return {
94
+ version: cache.version,
95
+ entries: cleanedEntries
96
+ };
97
+ }
98
+ /**
99
+ * Get cached analysis result if valid
100
+ */
101
+ export function getCachedResult(cache, filePath, content) {
102
+ const entry = cache.entries[filePath];
103
+ if (!entry) {
104
+ return null;
105
+ }
106
+ const currentHash = computeFileHash(content);
107
+ // Check if hash matches and entry is not expired
108
+ if (entry.hash === currentHash && Date.now() - entry.timestamp < CACHE_TTL) {
109
+ logger.debug('Cache hit', { filePath });
110
+ return entry.result;
111
+ }
112
+ logger.debug('Cache miss', { filePath, reason: entry.hash !== currentHash ? 'hash mismatch' : 'expired' });
113
+ return null;
114
+ }
115
+ /**
116
+ * Store analysis result in cache
117
+ */
118
+ export function setCachedResult(cache, filePath, content, result) {
119
+ cache.entries[filePath] = {
120
+ hash: computeFileHash(content),
121
+ result,
122
+ timestamp: Date.now(),
123
+ version: CACHE_VERSION
124
+ };
125
+ }
126
+ /**
127
+ * Invalidate cache entry for a file
128
+ */
129
+ export function invalidateCacheEntry(cache, filePath) {
130
+ delete cache.entries[filePath];
131
+ }
132
+ /**
133
+ * Clear all cache entries
134
+ */
135
+ export function clearCache(projectPath) {
136
+ const cachePath = getCacheFilePath(projectPath);
137
+ try {
138
+ if (fs.existsSync(cachePath)) {
139
+ fs.unlinkSync(cachePath);
140
+ logger.debug('Cache cleared');
141
+ }
142
+ }
143
+ catch (error) {
144
+ logger.debug('Failed to clear cache', { error });
145
+ }
146
+ }
147
+ /**
148
+ * Get cache statistics
149
+ */
150
+ export function getCacheStats(cache) {
151
+ const now = Date.now();
152
+ let validEntries = 0;
153
+ let expiredEntries = 0;
154
+ let oldestEntry = null;
155
+ let newestEntry = null;
156
+ for (const entry of Object.values(cache.entries)) {
157
+ if (now - entry.timestamp < CACHE_TTL) {
158
+ validEntries++;
159
+ }
160
+ else {
161
+ expiredEntries++;
162
+ }
163
+ if (oldestEntry === null || entry.timestamp < oldestEntry) {
164
+ oldestEntry = entry.timestamp;
165
+ }
166
+ if (newestEntry === null || entry.timestamp > newestEntry) {
167
+ newestEntry = entry.timestamp;
168
+ }
169
+ }
170
+ return {
171
+ totalEntries: Object.keys(cache.entries).length,
172
+ validEntries,
173
+ expiredEntries,
174
+ oldestEntry,
175
+ newestEntry
176
+ };
177
+ }
178
+ /**
179
+ * AnalysisCacheManager - High-level API for managing analysis cache
180
+ */
181
+ export class AnalysisCacheManager {
182
+ projectPath;
183
+ cache;
184
+ dirty = false;
185
+ constructor(projectPath) {
186
+ this.projectPath = projectPath;
187
+ this.cache = loadCache(projectPath);
188
+ }
189
+ /**
190
+ * Get cached result or null if not found/invalid
191
+ */
192
+ get(filePath, content) {
193
+ return getCachedResult(this.cache, filePath, content);
194
+ }
195
+ /**
196
+ * Store result in cache
197
+ */
198
+ set(filePath, content, result) {
199
+ setCachedResult(this.cache, filePath, content, result);
200
+ this.dirty = true;
201
+ }
202
+ /**
203
+ * Invalidate a specific file
204
+ */
205
+ invalidate(filePath) {
206
+ invalidateCacheEntry(this.cache, filePath);
207
+ this.dirty = true;
208
+ }
209
+ /**
210
+ * Save cache to disk if modified
211
+ */
212
+ save() {
213
+ if (this.dirty) {
214
+ saveCache(this.projectPath, this.cache);
215
+ this.dirty = false;
216
+ }
217
+ }
218
+ /**
219
+ * Get cache statistics
220
+ */
221
+ getStats() {
222
+ return getCacheStats(this.cache);
223
+ }
224
+ /**
225
+ * Clear all cache
226
+ */
227
+ clear() {
228
+ clearCache(this.projectPath);
229
+ this.cache = createEmptyCache();
230
+ this.dirty = false;
231
+ }
232
+ }
233
+ //# sourceMappingURL=analysisCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysisCache.js","sourceRoot":"","sources":["../../src/services/analysisCache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAc5C,MAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;AAClD,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,WAAmB;IAC3C,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;YAE7C,uCAAuC;YACvC,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBACvD,OAAO,gBAAgB,EAAE,CAAC;YAC5B,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,gBAAgB,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,WAAmB,EAAE,KAAiB;IAC9D,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,gCAAgC;QAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,sCAAsC;QACtC,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEhD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAiB;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,cAAc,GAA+B,EAAE,CAAC;IAEtD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;YACtC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,cAAc;KACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAiB,EACjB,QAAgB,EAChB,OAAe;IAEf,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE7C,iDAAiD;IACjD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;QAC3E,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3G,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,MAAsB;IAEtB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG;QACxB,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC;QAC9B,MAAM;QACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,OAAO,EAAE,aAAa;KACvB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAiB,EAAE,QAAgB;IACtE,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB;IAO7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,WAAW,GAAkB,IAAI,CAAC;IAEtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;YACtC,YAAY,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,cAAc,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,GAAG,WAAW,EAAE,CAAC;YAC1D,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;QAChC,CAAC;QACD,IAAI,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,GAAG,WAAW,EAAE,CAAC;YAC1D,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM;QAC/C,YAAY;QACZ,cAAc;QACd,WAAW;QACX,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACvB,WAAW,CAAS;IACpB,KAAK,CAAa;IAClB,KAAK,GAAY,KAAK,CAAC;IAE/B,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,QAAgB,EAAE,OAAe;QACnC,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,QAAgB,EAAE,OAAe,EAAE,MAAsB;QAC3D,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,QAAgB;QACzB,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,gBAAgB,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
@@ -1,29 +1,74 @@
1
1
  /**
2
- * Code Analyzer Service
3
- * Analyzes code against rules and patterns to find issues
2
+ * Code Analyzer Service - v3.0.0
3
+ * Unified rule pipeline that supports builtin, user, and project rules
4
4
  */
5
- export interface CodeIssue {
6
- severity: 'error' | 'warning' | 'info' | 'suggestion';
7
- rule: string;
8
- category: string;
9
- message: string;
10
- line?: number;
11
- column?: number;
12
- code?: string;
13
- suggestion?: string;
14
- }
15
- export interface AnalysisResult {
16
- file: string;
17
- language: string;
18
- issues: CodeIssue[];
19
- score: number;
20
- summary: {
21
- errors: number;
22
- warnings: number;
23
- info: number;
24
- suggestions: number;
5
+ import { PatternRule, CodeIssue, AnalysisResult, QuickFix } from '../config/types.js';
6
+ export type { QuickFix, CodeIssue, AnalysisResult };
7
+ /**
8
+ * In-memory registry of all active rules
9
+ */
10
+ declare class RuleRegistry {
11
+ private builtinRules;
12
+ private userRules;
13
+ private projectRules;
14
+ /**
15
+ * Get all builtin rules
16
+ */
17
+ getBuiltinRules(): PatternRule[];
18
+ /**
19
+ * Get all user-defined rules
20
+ */
21
+ getUserRules(): PatternRule[];
22
+ /**
23
+ * Get all project-specific rules
24
+ */
25
+ getProjectRules(): PatternRule[];
26
+ /**
27
+ * Get all active rules, sorted by priority (highest first)
28
+ */
29
+ getAllRules(): PatternRule[];
30
+ /**
31
+ * Register a user-defined pattern rule
32
+ */
33
+ registerUserRule(rule: Omit<PatternRule, 'source' | 'type'>): void;
34
+ /**
35
+ * Register a project-specific pattern rule
36
+ */
37
+ registerProjectRule(rule: Omit<PatternRule, 'source' | 'type'>): void;
38
+ /**
39
+ * Register multiple project rules at once
40
+ */
41
+ registerProjectRules(rules: Array<Omit<PatternRule, 'source' | 'type'>>): void;
42
+ /**
43
+ * Clear all user rules
44
+ */
45
+ clearUserRules(): void;
46
+ /**
47
+ * Clear all project rules
48
+ */
49
+ clearProjectRules(): void;
50
+ /**
51
+ * Disable a builtin rule by ID
52
+ */
53
+ disableBuiltinRule(ruleId: string): boolean;
54
+ /**
55
+ * Enable a builtin rule by ID
56
+ */
57
+ enableBuiltinRule(ruleId: string): boolean;
58
+ /**
59
+ * Get statistics about registered rules
60
+ */
61
+ getStats(): {
62
+ builtin: number;
63
+ user: number;
64
+ project: number;
65
+ total: number;
25
66
  };
26
67
  }
68
+ export declare const ruleRegistry: RuleRegistry;
69
+ /**
70
+ * Analyze code using the unified rule pipeline
71
+ */
27
72
  export declare function analyzeCode(file: string, content: string, focus?: 'all' | 'security' | 'performance' | 'architecture' | 'coding-standards'): AnalysisResult;
28
73
  export declare function analyzeMultipleFiles(files: Array<{
29
74
  path: string;
@@ -35,7 +80,13 @@ export declare function analyzeMultipleFiles(files: Array<{
35
80
  totalIssues: number;
36
81
  averageScore: number;
37
82
  summary: AnalysisResult['summary'];
83
+ rulesApplied: AnalysisResult['rulesApplied'];
38
84
  };
39
85
  };
40
86
  export declare function formatAnalysisReport(result: AnalysisResult): string;
87
+ /**
88
+ * Parse a user-defined rule content to extract pattern rules
89
+ * This bridges the gap between RuleManager's documentation rules and analysis rules
90
+ */
91
+ export declare function parseUserRuleToPatternRule(ruleId: string, content: string, category: string): PatternRule | null;
41
92
  //# sourceMappingURL=codeAnalyzer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codeAnalyzer.d.ts","sourceRoot":"","sources":["../../src/services/codeAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAuVD,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,KAAK,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,kBAA0B,GACtF,cAAc,CAuEhB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAC/C,KAAK,GAAE,KAAK,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,kBAA0B,GACtF;IACD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;KACpC,CAAC;CACH,CAwBA;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAgCnE"}
1
+ {"version":3,"file":"codeAnalyzer.d.ts","sourceRoot":"","sources":["../../src/services/codeAnalyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,WAAW,EACX,SAAS,EACT,cAAc,EACd,QAAQ,EAGT,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;AAifpD;;GAEG;AACH,cAAM,YAAY;IAChB,OAAO,CAAC,YAAY,CAA6C;IACjE,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,YAAY,CAAqB;IAEzC;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC;;OAEG;IACH,YAAY,IAAI,WAAW,EAAE;IAI7B;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC;;OAEG;IACH,WAAW,IAAI,WAAW,EAAE;IAW5B;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG,IAAI;IAclE;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG,IAAI;IAcrE;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI;IAM9E;;OAEG;IACH,cAAc,IAAI,IAAI;IAKtB;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAKzB;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAU3C;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAU1C;;OAEG;IACH,QAAQ,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;CAM9E;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC;AA8B/C;;GAEG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,KAAK,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,kBAA0B,GACtF,cAAc,CA8GhB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAC/C,KAAK,GAAE,KAAK,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,kBAA0B,GACtF;IACD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;QACnC,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;KAC9C,CAAC;CACH,CA+BA;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAmDnE;AAMD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,WAAW,GAAG,IAAI,CA6CpB"}