@stackguide/mcp-server 3.2.0 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +315 -9
  2. package/dist/config/persistence.d.ts +16 -0
  3. package/dist/config/persistence.d.ts.map +1 -1
  4. package/dist/config/persistence.js +53 -0
  5. package/dist/config/persistence.js.map +1 -1
  6. package/dist/handlers/analyze.d.ts +11 -0
  7. package/dist/handlers/analyze.d.ts.map +1 -0
  8. package/dist/handlers/analyze.js +274 -0
  9. package/dist/handlers/analyze.js.map +1 -0
  10. package/dist/handlers/config.d.ts +1 -8
  11. package/dist/handlers/config.d.ts.map +1 -1
  12. package/dist/handlers/config.js +7 -1
  13. package/dist/handlers/config.js.map +1 -1
  14. package/dist/handlers/context.d.ts +1 -5
  15. package/dist/handlers/context.d.ts.map +1 -1
  16. package/dist/handlers/context.js +7 -1
  17. package/dist/handlers/context.js.map +1 -1
  18. package/dist/handlers/cursor.d.ts +1 -7
  19. package/dist/handlers/cursor.d.ts.map +1 -1
  20. package/dist/handlers/cursor.js +7 -1
  21. package/dist/handlers/cursor.js.map +1 -1
  22. package/dist/handlers/custom-rule.d.ts +1 -11
  23. package/dist/handlers/custom-rule.d.ts.map +1 -1
  24. package/dist/handlers/custom-rule.js +7 -1
  25. package/dist/handlers/custom-rule.js.map +1 -1
  26. package/dist/handlers/docs.d.ts +1 -8
  27. package/dist/handlers/docs.d.ts.map +1 -1
  28. package/dist/handlers/docs.js +7 -1
  29. package/dist/handlers/docs.js.map +1 -1
  30. package/dist/handlers/generate.d.ts +1 -13
  31. package/dist/handlers/generate.d.ts.map +1 -1
  32. package/dist/handlers/generate.js +6 -3
  33. package/dist/handlers/generate.js.map +1 -1
  34. package/dist/handlers/health.d.ts +1 -8
  35. package/dist/handlers/health.d.ts.map +1 -1
  36. package/dist/handlers/health.js +11 -3
  37. package/dist/handlers/health.js.map +1 -1
  38. package/dist/handlers/help.d.ts +1 -5
  39. package/dist/handlers/help.d.ts.map +1 -1
  40. package/dist/handlers/help.js +7 -1
  41. package/dist/handlers/help.js.map +1 -1
  42. package/dist/handlers/index.d.ts +1 -0
  43. package/dist/handlers/index.d.ts.map +1 -1
  44. package/dist/handlers/index.js +1 -0
  45. package/dist/handlers/index.js.map +1 -1
  46. package/dist/handlers/knowledge.d.ts +1 -8
  47. package/dist/handlers/knowledge.d.ts.map +1 -1
  48. package/dist/handlers/knowledge.js +7 -1
  49. package/dist/handlers/knowledge.js.map +1 -1
  50. package/dist/handlers/prompts.d.ts +31 -0
  51. package/dist/handlers/prompts.d.ts.map +1 -0
  52. package/dist/handlers/prompts.js +225 -0
  53. package/dist/handlers/prompts.js.map +1 -0
  54. package/dist/handlers/resources.d.ts +27 -0
  55. package/dist/handlers/resources.d.ts.map +1 -0
  56. package/dist/handlers/resources.js +210 -0
  57. package/dist/handlers/resources.js.map +1 -0
  58. package/dist/handlers/review.d.ts.map +1 -1
  59. package/dist/handlers/review.js +18 -1
  60. package/dist/handlers/review.js.map +1 -1
  61. package/dist/handlers/rules.d.ts +1 -9
  62. package/dist/handlers/rules.d.ts.map +1 -1
  63. package/dist/handlers/rules.js +7 -1
  64. package/dist/handlers/rules.js.map +1 -1
  65. package/dist/handlers/setup.d.ts +1 -0
  66. package/dist/handlers/setup.d.ts.map +1 -1
  67. package/dist/handlers/setup.js +42 -0
  68. package/dist/handlers/setup.js.map +1 -1
  69. package/dist/index.d.ts +4 -2
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +29 -417
  72. package/dist/index.js.map +1 -1
  73. package/dist/router/index.d.ts +69 -0
  74. package/dist/router/index.d.ts.map +1 -0
  75. package/dist/router/index.js +151 -0
  76. package/dist/router/index.js.map +1 -0
  77. package/dist/services/ast/analyzer.d.ts +55 -0
  78. package/dist/services/ast/analyzer.d.ts.map +1 -0
  79. package/dist/services/ast/analyzer.js +268 -0
  80. package/dist/services/ast/analyzer.js.map +1 -0
  81. package/dist/services/ast/index.d.ts +10 -0
  82. package/dist/services/ast/index.d.ts.map +1 -0
  83. package/dist/services/ast/index.js +12 -0
  84. package/dist/services/ast/index.js.map +1 -0
  85. package/dist/services/ast/rules.d.ts +13 -0
  86. package/dist/services/ast/rules.d.ts.map +1 -0
  87. package/dist/services/ast/rules.js +358 -0
  88. package/dist/services/ast/rules.js.map +1 -0
  89. package/dist/services/ast/treeSitterParser.d.ts +54 -0
  90. package/dist/services/ast/treeSitterParser.d.ts.map +1 -0
  91. package/dist/services/ast/treeSitterParser.js +394 -0
  92. package/dist/services/ast/treeSitterParser.js.map +1 -0
  93. package/dist/services/ast/types.d.ts +167 -0
  94. package/dist/services/ast/types.d.ts.map +1 -0
  95. package/dist/services/ast/types.js +35 -0
  96. package/dist/services/ast/types.js.map +1 -0
  97. package/dist/services/codeAnalyzer.d.ts.map +1 -1
  98. package/dist/services/codeAnalyzer.js +43 -3
  99. package/dist/services/codeAnalyzer.js.map +1 -1
  100. package/dist/services/httpClient.d.ts +45 -0
  101. package/dist/services/httpClient.d.ts.map +1 -0
  102. package/dist/services/httpClient.js +309 -0
  103. package/dist/services/httpClient.js.map +1 -0
  104. package/dist/services/intelligence/configGenerator.d.ts +28 -0
  105. package/dist/services/intelligence/configGenerator.d.ts.map +1 -0
  106. package/dist/services/intelligence/configGenerator.js +404 -0
  107. package/dist/services/intelligence/configGenerator.js.map +1 -0
  108. package/dist/services/intelligence/dependencyAdvisor.d.ts +24 -0
  109. package/dist/services/intelligence/dependencyAdvisor.d.ts.map +1 -0
  110. package/dist/services/intelligence/dependencyAdvisor.js +404 -0
  111. package/dist/services/intelligence/dependencyAdvisor.js.map +1 -0
  112. package/dist/services/intelligence/index.d.ts +12 -0
  113. package/dist/services/intelligence/index.d.ts.map +1 -0
  114. package/dist/services/intelligence/index.js +16 -0
  115. package/dist/services/intelligence/index.js.map +1 -0
  116. package/dist/services/intelligence/projectFs.d.ts +11 -0
  117. package/dist/services/intelligence/projectFs.d.ts.map +1 -0
  118. package/dist/services/intelligence/projectFs.js +30 -0
  119. package/dist/services/intelligence/projectFs.js.map +1 -0
  120. package/dist/services/intelligence/projectIntelligence.d.ts +26 -0
  121. package/dist/services/intelligence/projectIntelligence.d.ts.map +1 -0
  122. package/dist/services/intelligence/projectIntelligence.js +344 -0
  123. package/dist/services/intelligence/projectIntelligence.js.map +1 -0
  124. package/dist/services/intelligence/structureAnalyzer.d.ts +27 -0
  125. package/dist/services/intelligence/structureAnalyzer.d.ts.map +1 -0
  126. package/dist/services/intelligence/structureAnalyzer.js +286 -0
  127. package/dist/services/intelligence/structureAnalyzer.js.map +1 -0
  128. package/dist/services/intelligence/templates.d.ts +22 -0
  129. package/dist/services/intelligence/templates.d.ts.map +1 -0
  130. package/dist/services/intelligence/templates.js +521 -0
  131. package/dist/services/intelligence/templates.js.map +1 -0
  132. package/dist/services/intelligence/types.d.ts +222 -0
  133. package/dist/services/intelligence/types.d.ts.map +1 -0
  134. package/dist/services/intelligence/types.js +7 -0
  135. package/dist/services/intelligence/types.js.map +1 -0
  136. package/dist/services/projectFs.d.ts +85 -0
  137. package/dist/services/projectFs.d.ts.map +1 -0
  138. package/dist/services/projectFs.js +287 -0
  139. package/dist/services/projectFs.js.map +1 -0
  140. package/dist/services/rulesEngine.d.ts +255 -0
  141. package/dist/services/rulesEngine.d.ts.map +1 -0
  142. package/dist/services/rulesEngine.js +483 -0
  143. package/dist/services/rulesEngine.js.map +1 -0
  144. package/dist/services/webDocumentation.d.ts +9 -0
  145. package/dist/services/webDocumentation.d.ts.map +1 -1
  146. package/dist/services/webDocumentation.js +144 -1
  147. package/dist/services/webDocumentation.js.map +1 -1
  148. package/dist/storage/index.d.ts +7 -0
  149. package/dist/storage/index.d.ts.map +1 -0
  150. package/dist/storage/index.js +7 -0
  151. package/dist/storage/index.js.map +1 -0
  152. package/dist/storage/sqlite.d.ts +92 -0
  153. package/dist/storage/sqlite.d.ts.map +1 -0
  154. package/dist/storage/sqlite.js +471 -0
  155. package/dist/storage/sqlite.js.map +1 -0
  156. package/dist/storage/types.d.ts +147 -0
  157. package/dist/storage/types.d.ts.map +1 -0
  158. package/dist/storage/types.js +13 -0
  159. package/dist/storage/types.js.map +1 -0
  160. package/dist/tools/definitions.d.ts +87 -0
  161. package/dist/tools/definitions.d.ts.map +1 -1
  162. package/dist/tools/definitions.js +34 -0
  163. package/dist/tools/definitions.js.map +1 -1
  164. package/dist/utils/logger.d.ts +11 -2
  165. package/dist/utils/logger.d.ts.map +1 -1
  166. package/dist/utils/logger.js +30 -2
  167. package/dist/utils/logger.js.map +1 -1
  168. package/dist/utils/validation.d.ts +3 -3
  169. package/dist/validation/index.d.ts +8 -0
  170. package/dist/validation/index.d.ts.map +1 -0
  171. package/dist/validation/index.js +19 -0
  172. package/dist/validation/index.js.map +1 -0
  173. package/dist/validation/schemas.d.ts +341 -0
  174. package/dist/validation/schemas.d.ts.map +1 -0
  175. package/dist/validation/schemas.js +244 -0
  176. package/dist/validation/schemas.js.map +1 -0
  177. package/package.json +9 -2
@@ -0,0 +1,255 @@
1
+ /**
2
+ * Configurable Rules Engine
3
+ * Dynamic rule loading, validation, and configuration
4
+ * @version 3.7.0
5
+ */
6
+ import { z } from 'zod';
7
+ /** Rule severity levels */
8
+ export declare const RuleSeveritySchema: z.ZodEnum<["error", "warning", "info", "suggestion"]>;
9
+ export type RuleSeverity = z.infer<typeof RuleSeveritySchema>;
10
+ /** Rule categories */
11
+ export declare const RuleCategorySchema: z.ZodEnum<["security", "performance", "best-practices", "maintainability", "architecture", "accessibility", "code-style"]>;
12
+ export type RuleCategory = z.infer<typeof RuleCategorySchema>;
13
+ /** Full rule definition schema */
14
+ export declare const RuleDefinitionSchema: z.ZodObject<{
15
+ id: z.ZodString;
16
+ name: z.ZodString;
17
+ description: z.ZodString;
18
+ category: z.ZodEnum<["security", "performance", "best-practices", "maintainability", "architecture", "accessibility", "code-style"]>;
19
+ severity: z.ZodEnum<["error", "warning", "info", "suggestion"]>;
20
+ enabled: z.ZodDefault<z.ZodBoolean>;
21
+ languages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
22
+ filePatterns: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
23
+ pattern: z.ZodOptional<z.ZodString>;
24
+ astQuery: z.ZodOptional<z.ZodString>;
25
+ message: z.ZodString;
26
+ suggestion: z.ZodOptional<z.ZodString>;
27
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
28
+ source: z.ZodDefault<z.ZodEnum<["builtin", "custom", "plugin"]>>;
29
+ version: z.ZodOptional<z.ZodString>;
30
+ autoFix: z.ZodOptional<z.ZodObject<{
31
+ replacement: z.ZodString;
32
+ description: z.ZodString;
33
+ }, "strip", z.ZodTypeAny, {
34
+ description: string;
35
+ replacement: string;
36
+ }, {
37
+ description: string;
38
+ replacement: string;
39
+ }>>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ id: string;
42
+ name: string;
43
+ category: "best-practices" | "security" | "performance" | "architecture" | "accessibility" | "maintainability" | "code-style";
44
+ description: string;
45
+ enabled: boolean;
46
+ message: string;
47
+ source: "custom" | "builtin" | "plugin";
48
+ severity: "error" | "warning" | "info" | "suggestion";
49
+ suggestion?: string | undefined;
50
+ pattern?: string | undefined;
51
+ version?: string | undefined;
52
+ languages?: string[] | undefined;
53
+ tags?: string[] | undefined;
54
+ autoFix?: {
55
+ description: string;
56
+ replacement: string;
57
+ } | undefined;
58
+ filePatterns?: string[] | undefined;
59
+ astQuery?: string | undefined;
60
+ }, {
61
+ id: string;
62
+ name: string;
63
+ category: "best-practices" | "security" | "performance" | "architecture" | "accessibility" | "maintainability" | "code-style";
64
+ description: string;
65
+ message: string;
66
+ severity: "error" | "warning" | "info" | "suggestion";
67
+ suggestion?: string | undefined;
68
+ pattern?: string | undefined;
69
+ enabled?: boolean | undefined;
70
+ version?: string | undefined;
71
+ languages?: string[] | undefined;
72
+ source?: "custom" | "builtin" | "plugin" | undefined;
73
+ tags?: string[] | undefined;
74
+ autoFix?: {
75
+ description: string;
76
+ replacement: string;
77
+ } | undefined;
78
+ filePatterns?: string[] | undefined;
79
+ astQuery?: string | undefined;
80
+ }>;
81
+ export type RuleDefinition = z.infer<typeof RuleDefinitionSchema>;
82
+ /** Rule override (partial update) */
83
+ export declare const RuleOverrideSchema: z.ZodObject<{
84
+ enabled: z.ZodOptional<z.ZodBoolean>;
85
+ severity: z.ZodOptional<z.ZodEnum<["error", "warning", "info", "suggestion"]>>;
86
+ message: z.ZodOptional<z.ZodString>;
87
+ }, "strict", z.ZodTypeAny, {
88
+ enabled?: boolean | undefined;
89
+ message?: string | undefined;
90
+ severity?: "error" | "warning" | "info" | "suggestion" | undefined;
91
+ }, {
92
+ enabled?: boolean | undefined;
93
+ message?: string | undefined;
94
+ severity?: "error" | "warning" | "info" | "suggestion" | undefined;
95
+ }>;
96
+ export type RuleOverride = z.infer<typeof RuleOverrideSchema>;
97
+ export interface RuleConfig {
98
+ version: string;
99
+ rules: RuleDefinition[];
100
+ overrides: Record<string, RuleOverride>;
101
+ disabledCategories: RuleCategory[];
102
+ disabledRules: string[];
103
+ settings: RuleEngineSettings;
104
+ }
105
+ export interface RuleEngineSettings {
106
+ maxIssuesPerFile: number;
107
+ maxIssuesTotal: number;
108
+ failOnError: boolean;
109
+ failOnWarning: boolean;
110
+ autoFix: boolean;
111
+ verboseOutput: boolean;
112
+ }
113
+ declare class RulesRegistry {
114
+ private builtinRules;
115
+ private customRules;
116
+ private overrides;
117
+ private disabledCategories;
118
+ private disabledRules;
119
+ private settings;
120
+ constructor();
121
+ /**
122
+ * Register a builtin rule
123
+ */
124
+ registerBuiltin(rule: RuleDefinition): this;
125
+ /**
126
+ * Register multiple builtin rules
127
+ */
128
+ registerBuiltinRules(rules: RuleDefinition[]): this;
129
+ /**
130
+ * Add a custom rule
131
+ */
132
+ addCustomRule(rule: RuleDefinition): {
133
+ success: boolean;
134
+ error?: string;
135
+ };
136
+ /**
137
+ * Remove a custom rule
138
+ */
139
+ removeCustomRule(ruleId: string): boolean;
140
+ /**
141
+ * Override a rule's properties
142
+ */
143
+ setOverride(ruleId: string, override: RuleOverride): {
144
+ success: boolean;
145
+ error?: string;
146
+ };
147
+ /**
148
+ * Remove a rule override
149
+ */
150
+ removeOverride(ruleId: string): boolean;
151
+ /**
152
+ * Enable/disable a specific rule
153
+ */
154
+ setRuleEnabled(ruleId: string, enabled: boolean): boolean;
155
+ /**
156
+ * Enable/disable a category
157
+ */
158
+ setCategoryEnabled(category: RuleCategory, enabled: boolean): boolean;
159
+ /**
160
+ * Update settings
161
+ */
162
+ updateSettings(settings: Partial<RuleEngineSettings>): void;
163
+ /**
164
+ * Get a rule by ID (with overrides applied)
165
+ */
166
+ getRule(ruleId: string): RuleDefinition | null;
167
+ /**
168
+ * Get all rules (with filters)
169
+ */
170
+ getRules(options?: {
171
+ category?: RuleCategory;
172
+ severity?: RuleSeverity;
173
+ language?: string;
174
+ enabledOnly?: boolean;
175
+ source?: 'builtin' | 'custom' | 'all';
176
+ }): RuleDefinition[];
177
+ /**
178
+ * Get rules for a specific file
179
+ */
180
+ getRulesForFile(filePath: string, language?: string): RuleDefinition[];
181
+ /**
182
+ * Get settings
183
+ */
184
+ getSettings(): RuleEngineSettings;
185
+ /**
186
+ * Get statistics
187
+ */
188
+ getStats(): {
189
+ totalBuiltin: number;
190
+ totalCustom: number;
191
+ enabled: number;
192
+ disabled: number;
193
+ overridden: number;
194
+ byCategory: Record<string, number>;
195
+ bySeverity: Record<string, number>;
196
+ };
197
+ private saveToStorage;
198
+ private loadFromStorage;
199
+ /**
200
+ * Reset to defaults
201
+ */
202
+ reset(): void;
203
+ /**
204
+ * Full reset including builtin rules (for testing)
205
+ */
206
+ resetAll(): void;
207
+ /**
208
+ * Export configuration
209
+ */
210
+ exportConfig(): RuleConfig;
211
+ /**
212
+ * Import configuration
213
+ */
214
+ importConfig(config: RuleConfig): {
215
+ success: boolean;
216
+ imported: number;
217
+ errors: string[];
218
+ };
219
+ }
220
+ export declare const rulesRegistry: RulesRegistry;
221
+ export declare function registerBuiltinRule(rule: RuleDefinition): void;
222
+ export declare function registerBuiltinRules(rules: RuleDefinition[]): void;
223
+ export declare function addCustomRule(rule: RuleDefinition): {
224
+ success: boolean;
225
+ error?: string;
226
+ };
227
+ export declare function removeCustomRule(ruleId: string): boolean;
228
+ export declare function getRule(ruleId: string): RuleDefinition | null;
229
+ export declare function getRules(options?: Parameters<RulesRegistry['getRules']>[0]): RuleDefinition[];
230
+ export declare function getRulesForFile(filePath: string, language?: string): RuleDefinition[];
231
+ export declare function setRuleEnabled(ruleId: string, enabled: boolean): boolean;
232
+ export declare function setRuleOverride(ruleId: string, override: RuleOverride): {
233
+ success: boolean;
234
+ error?: string;
235
+ };
236
+ export declare function getRuleSettings(): RuleEngineSettings;
237
+ export declare function updateRuleSettings(settings: Partial<RuleEngineSettings>): void;
238
+ export declare function getRuleStats(): {
239
+ totalBuiltin: number;
240
+ totalCustom: number;
241
+ enabled: number;
242
+ disabled: number;
243
+ overridden: number;
244
+ byCategory: Record<string, number>;
245
+ bySeverity: Record<string, number>;
246
+ };
247
+ export declare function resetRulesEngine(): void;
248
+ export declare function exportRulesConfig(): RuleConfig;
249
+ export declare function importRulesConfig(config: RuleConfig): {
250
+ success: boolean;
251
+ imported: number;
252
+ errors: string[];
253
+ };
254
+ export {};
255
+ //# sourceMappingURL=rulesEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rulesEngine.d.ts","sourceRoot":"","sources":["../../src/services/rulesEngine.ts"],"names":[],"mappings":"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"}