@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
|
@@ -1,37 +1,110 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Code Analyzer Service
|
|
3
|
-
*
|
|
2
|
+
* Code Analyzer Service - v3.1.0
|
|
3
|
+
* Unified rule pipeline that supports builtin, user, and project rules
|
|
4
|
+
* Now with AST-based analysis using ts-morph
|
|
4
5
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
6
|
+
import { PatternRule, ASTRule, CodeIssue, AnalysisResult, QuickFix } from '../config/types.js';
|
|
7
|
+
import { clearASTCache } from './astAnalyzer.js';
|
|
8
|
+
export type { QuickFix, CodeIssue, AnalysisResult };
|
|
9
|
+
export { clearASTCache };
|
|
10
|
+
/**
|
|
11
|
+
* In-memory registry of all active rules (Pattern + AST)
|
|
12
|
+
*/
|
|
13
|
+
declare class RuleRegistry {
|
|
14
|
+
private builtinPatternRules;
|
|
15
|
+
private builtinASTRules;
|
|
16
|
+
private userPatternRules;
|
|
17
|
+
private userASTRules;
|
|
18
|
+
private projectPatternRules;
|
|
19
|
+
private projectASTRules;
|
|
20
|
+
private get builtinRules();
|
|
21
|
+
private get userRules();
|
|
22
|
+
private set userRules(value);
|
|
23
|
+
private get projectRules();
|
|
24
|
+
private set projectRules(value);
|
|
25
|
+
/**
|
|
26
|
+
* Get all builtin pattern rules
|
|
27
|
+
*/
|
|
28
|
+
getBuiltinRules(): PatternRule[];
|
|
29
|
+
/**
|
|
30
|
+
* Get all builtin AST rules
|
|
31
|
+
*/
|
|
32
|
+
getBuiltinASTRules(): ASTRule[];
|
|
33
|
+
/**
|
|
34
|
+
* Get all user-defined pattern rules
|
|
35
|
+
*/
|
|
36
|
+
getUserRules(): PatternRule[];
|
|
37
|
+
/**
|
|
38
|
+
* Get all user-defined AST rules
|
|
39
|
+
*/
|
|
40
|
+
getUserASTRules(): ASTRule[];
|
|
41
|
+
/**
|
|
42
|
+
* Get all project-specific pattern rules
|
|
43
|
+
*/
|
|
44
|
+
getProjectRules(): PatternRule[];
|
|
45
|
+
/**
|
|
46
|
+
* Get all project-specific AST rules
|
|
47
|
+
*/
|
|
48
|
+
getProjectASTRules(): ASTRule[];
|
|
49
|
+
/**
|
|
50
|
+
* Get all active pattern rules, sorted by priority (highest first)
|
|
51
|
+
*/
|
|
52
|
+
getAllRules(): PatternRule[];
|
|
53
|
+
/**
|
|
54
|
+
* Get all active AST rules, sorted by priority (highest first)
|
|
55
|
+
*/
|
|
56
|
+
getAllASTRules(): ASTRule[];
|
|
57
|
+
/**
|
|
58
|
+
* Register a user-defined pattern rule
|
|
59
|
+
*/
|
|
60
|
+
registerUserRule(rule: Omit<PatternRule, 'source' | 'type'>): void;
|
|
61
|
+
/**
|
|
62
|
+
* Register a project-specific pattern rule
|
|
63
|
+
*/
|
|
64
|
+
registerProjectRule(rule: Omit<PatternRule, 'source' | 'type'>): void;
|
|
65
|
+
/**
|
|
66
|
+
* Register multiple project rules at once
|
|
67
|
+
*/
|
|
68
|
+
registerProjectRules(rules: Array<Omit<PatternRule, 'source' | 'type'>>): void;
|
|
69
|
+
/**
|
|
70
|
+
* Register a user-defined AST rule
|
|
71
|
+
*/
|
|
72
|
+
registerUserASTRule(rule: Omit<ASTRule, 'source' | 'type'>): void;
|
|
73
|
+
/**
|
|
74
|
+
* Register a project-specific AST rule
|
|
75
|
+
*/
|
|
76
|
+
registerProjectASTRule(rule: Omit<ASTRule, 'source' | 'type'>): void;
|
|
77
|
+
/**
|
|
78
|
+
* Clear all user rules (pattern + AST)
|
|
79
|
+
*/
|
|
80
|
+
clearUserRules(): void;
|
|
81
|
+
/**
|
|
82
|
+
* Clear all project rules (pattern + AST)
|
|
83
|
+
*/
|
|
84
|
+
clearProjectRules(): void;
|
|
85
|
+
/**
|
|
86
|
+
* Disable a builtin rule by ID (pattern or AST)
|
|
87
|
+
*/
|
|
88
|
+
disableBuiltinRule(ruleId: string): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Enable a builtin rule by ID (pattern or AST)
|
|
91
|
+
*/
|
|
92
|
+
enableBuiltinRule(ruleId: string): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Get statistics about registered rules
|
|
95
|
+
*/
|
|
96
|
+
getStats(): {
|
|
97
|
+
builtin: number;
|
|
98
|
+
user: number;
|
|
99
|
+
project: number;
|
|
100
|
+
total: number;
|
|
101
|
+
ast: number;
|
|
32
102
|
};
|
|
33
|
-
quickFixes?: QuickFix[];
|
|
34
103
|
}
|
|
104
|
+
export declare const ruleRegistry: RuleRegistry;
|
|
105
|
+
/**
|
|
106
|
+
* Analyze code using the unified rule pipeline
|
|
107
|
+
*/
|
|
35
108
|
export declare function analyzeCode(file: string, content: string, focus?: 'all' | 'security' | 'performance' | 'architecture' | 'coding-standards'): AnalysisResult;
|
|
36
109
|
export declare function analyzeMultipleFiles(files: Array<{
|
|
37
110
|
path: string;
|
|
@@ -43,7 +116,13 @@ export declare function analyzeMultipleFiles(files: Array<{
|
|
|
43
116
|
totalIssues: number;
|
|
44
117
|
averageScore: number;
|
|
45
118
|
summary: AnalysisResult['summary'];
|
|
119
|
+
rulesApplied: AnalysisResult['rulesApplied'];
|
|
46
120
|
};
|
|
47
121
|
};
|
|
48
122
|
export declare function formatAnalysisReport(result: AnalysisResult): string;
|
|
123
|
+
/**
|
|
124
|
+
* Parse a user-defined rule content to extract pattern rules
|
|
125
|
+
* This bridges the gap between RuleManager's documentation rules and analysis rules
|
|
126
|
+
*/
|
|
127
|
+
export declare function parseUserRuleToPatternRule(ruleId: string, content: string, category: string): PatternRule | null;
|
|
49
128
|
//# sourceMappingURL=codeAnalyzer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeAnalyzer.d.ts","sourceRoot":"","sources":["../../src/services/codeAnalyzer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"codeAnalyzer.d.ts","sourceRoot":"","sources":["../../src/services/codeAnalyzer.ts"],"names":[],"mappings":"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"}
|