@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/README.md CHANGED
@@ -22,46 +22,112 @@ Dynamic context loading for AI coding assistants. Works with **Cursor** and **Gi
22
22
 
23
23
  Just talk naturally:
24
24
 
25
- - *"Set up my project"* → Auto-configures everything
26
- - *"Review my code"* → Analyzes against active rules
25
+ - *"Set up my project"* → Auto-configures with interactive wizard
26
+ - *"Review my code"* → Analyzes with Quick Fix suggestions
27
+ - *"Generate a component"* → Creates boilerplate code
28
+ - *"Check project health"* → Returns health score (A-F)
27
29
  - *"Browse React rules"* → Shows community rules
28
30
 
29
- ## Tools (10 simplified)
31
+ ## Tools (12 total)
30
32
 
33
+ ### Core Tools
31
34
  | Tool | Description | Example |
32
35
  |------|-------------|---------|
33
- | `setup` | Configure project (auto or manual) | `setup` or `setup type:"react-typescript"` |
36
+ | `setup` | Configure project with wizard | `setup` or `setup type:"react-typescript"` |
34
37
  | `context` | View current configuration | `context` or `context full:true` |
35
38
  | `rules` | List, search, get rules | `rules action:"search" query:"security"` |
36
39
  | `knowledge` | Access patterns & solutions | `knowledge action:"get" query:"architecture"` |
37
- | `review` | Review code against rules | `review file:"src/index.ts"` or `review project:true` |
40
+ | `review` | Review code with Quick Fixes | `review file:"src/index.ts" focus:"security"` |
41
+
42
+ ### Advanced Features (NEW in v2.4.0)
43
+ | Tool | Description | Example |
44
+ |------|-------------|---------|
45
+ | `generate` | Generate boilerplate code | `generate type:"component" name:"UserCard"` |
46
+ | `health` | Project health score (A-F) | `health detailed:true` |
47
+
48
+ ### Integration Tools
49
+ | Tool | Description | Example |
50
+ |------|-------------|---------|
38
51
  | `cursor` | Browse cursor.directory | `cursor action:"browse" query:"react"` |
39
52
  | `docs` | Fetch web documentation | `docs action:"fetch" url:"https://..."` |
40
53
  | `config` | Save/load configurations | `config action:"save" name:"my-project"` |
41
54
  | `custom_rule` | Create custom rules | `custom_rule action:"create" name:"..." content:"..."` |
42
- | `help` | Get help | `help` or `help topic:"review"` |
55
+ | `help` | Get help | `help` or `help topic:"generate"` |
56
+
57
+ ## New in v2.4.0: Advanced Features
58
+
59
+ ### 🏭 Template Generator
60
+ Generate boilerplate for components, hooks, services, tests, API routes, models, and utilities:
61
+
62
+ ```bash
63
+ generate type:"component" name:"UserCard"
64
+ generate type:"hook" name:"useAuth"
65
+ generate type:"service" name:"ApiService"
66
+ generate type:"test" name:"UserCard" options:{"framework":"vitest"}
67
+ generate type:"api" name:"Users" options:{"framework":"nextjs"}
68
+ ```
69
+
70
+ ### 🔧 Quick Fix Suggestions
71
+ Code review now includes actionable Quick Fixes:
72
+
73
+ ```
74
+ 🔴 [SEC001] Avoid using eval() - it can execute arbitrary code
75
+ - Line: 15
76
+ - Code: `eval(userInput)`
77
+ - 🔧 Quick Fix: Replace eval() with JSON.parse()
78
+ - Replace: `eval(` → With: `JSON.parse(`
79
+ ```
80
+
81
+ ### 🏥 Project Health Score
82
+ Get a comprehensive health analysis with grade (A-F):
83
+
84
+ ```bash
85
+ health detailed:true
86
+ ```
87
+
88
+ Returns:
89
+ - Overall score (0-100) with grade
90
+ - Category breakdown (Configuration, Code Quality, Structure, Docs, Testing)
91
+ - Critical issues and recommendations
92
+
93
+ ### 🧙 Interactive Setup Wizard
94
+ Setup now provides tailored recommendations:
95
+
96
+ ```json
97
+ {
98
+ "wizard": {
99
+ "recommendations": {
100
+ "suggestedTools": ["ESLint", "Prettier", "TypeScript strict mode"],
101
+ "vsCodeExtensions": ["ES7+ React snippets", "Error Lens"],
102
+ "tips": ["Use functional components", "Memoize with useMemo"]
103
+ },
104
+ "nextSteps": ["Run `context`", "Run `review`", "Run `health`"]
105
+ }
106
+ }
107
+ ```
43
108
 
44
109
  ## Supported Stacks
45
110
 
46
- `python-django` · `python-fastapi` · `react-node` · `react-typescript` · `vue-node` · `nextjs` · `express` · `nestjs` · `laravel` · `rails` · `golang` · `rust`
111
+ `python-django` · `python-fastapi` · `python-flask` · `react-node` · `react-typescript` · `vue-node` · `nextjs` · `express` · `nestjs` · `laravel` · `rails` · `golang` · `rust`
47
112
 
48
113
  ## Examples
49
114
 
50
115
  ```bash
51
- # Auto-setup (detects project type)
116
+ # Auto-setup with wizard
52
117
  setup
53
118
 
54
- # Review a file
55
- review file:"src/components/App.tsx"
119
+ # Generate React component
120
+ generate type:"component" name:"Dashboard"
56
121
 
57
- # Review entire project for security
58
- review project:true focus:"security"
122
+ # Review with Quick Fixes
123
+ review file:"src/App.tsx" focus:"performance"
59
124
 
60
- # Browse cursor.directory
61
- cursor action:"browse" query:"typescript"
125
+ # Check project health
126
+ health
62
127
 
63
- # Import a community rule
64
- cursor action:"import" slug:"react-best-practices"
128
+ # Browse and import community rules
129
+ cursor action:"popular"
130
+ cursor action:"import" slug:"typescript-best-practices"
65
131
  ```
66
132
 
67
133
  ## License
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Health Weights Configuration
3
+ *
4
+ * Externalized scoring weights for project health analysis.
5
+ * Can be overridden per-project via stackguide.config.json
6
+ */
7
+ export interface CategoryWeight {
8
+ name: string;
9
+ maxScore: number;
10
+ description: string;
11
+ }
12
+ export interface IssueWeights {
13
+ critical: number;
14
+ error: number;
15
+ warning: number;
16
+ info: number;
17
+ suggestion: number;
18
+ }
19
+ export interface HealthWeightsConfig {
20
+ version: string;
21
+ categories: {
22
+ configuration: CategoryWeight;
23
+ codeQuality: CategoryWeight;
24
+ structure: CategoryWeight;
25
+ documentation: CategoryWeight;
26
+ testing: CategoryWeight;
27
+ };
28
+ issueWeights: IssueWeights;
29
+ gradeThresholds: {
30
+ A: number;
31
+ B: number;
32
+ C: number;
33
+ D: number;
34
+ F: number;
35
+ };
36
+ bonuses: {
37
+ hasTypeScript: number;
38
+ hasLinter: number;
39
+ hasPrettier: number;
40
+ hasCI: number;
41
+ hasTests: number;
42
+ hasReadme: number;
43
+ hasLicense: number;
44
+ hasContributing: number;
45
+ };
46
+ penalties: {
47
+ noPackageLock: number;
48
+ hasSecurityIssues: number;
49
+ outdatedDependencies: number;
50
+ };
51
+ }
52
+ /**
53
+ * Default health weights configuration
54
+ */
55
+ export declare const DEFAULT_HEALTH_WEIGHTS: HealthWeightsConfig;
56
+ /**
57
+ * Read project-specific weight overrides
58
+ */
59
+ export declare function loadProjectWeights(projectPath: string): Partial<HealthWeightsConfig> | null;
60
+ /**
61
+ * Merge default weights with project overrides
62
+ */
63
+ export declare function getHealthWeights(projectPath: string): HealthWeightsConfig;
64
+ /**
65
+ * Validate that category weights sum to 100
66
+ */
67
+ export declare function validateWeights(weights: HealthWeightsConfig): {
68
+ valid: boolean;
69
+ errors: string[];
70
+ };
71
+ /**
72
+ * Get grade from score using weights config
73
+ */
74
+ export declare function getGradeFromScore(score: number, weights: HealthWeightsConfig): string;
75
+ /**
76
+ * Calculate issue deduction based on weights
77
+ */
78
+ export declare function calculateIssueDeduction(issueType: keyof IssueWeights, count: number, weights: HealthWeightsConfig): number;
79
+ /**
80
+ * Generate sample config file content
81
+ */
82
+ export declare function generateSampleConfig(): string;
83
+ /**
84
+ * Get weights documentation as markdown
85
+ */
86
+ export declare function getWeightsDocumentation(weights: HealthWeightsConfig): string;
87
+ //# sourceMappingURL=healthWeights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"healthWeights.d.ts","sourceRoot":"","sources":["../../src/config/healthWeights.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAGhB,UAAU,EAAE;QACV,aAAa,EAAE,cAAc,CAAC;QAC9B,WAAW,EAAE,cAAc,CAAC;QAC5B,SAAS,EAAE,cAAc,CAAC;QAC1B,aAAa,EAAE,cAAc,CAAC;QAC9B,OAAO,EAAE,cAAc,CAAC;KACzB,CAAC;IAGF,YAAY,EAAE,YAAY,CAAC;IAG3B,eAAe,EAAE;QACf,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IAGF,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IAGF,SAAS,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,mBA+DpC,CAAC;AAIF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAkB3F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,CAgCzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAgClG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAQrF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,YAAY,EAC7B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mBAAmB,GAC3B,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAqB7C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAuC5E"}
@@ -0,0 +1,238 @@
1
+ /**
2
+ * Health Weights Configuration
3
+ *
4
+ * Externalized scoring weights for project health analysis.
5
+ * Can be overridden per-project via stackguide.config.json
6
+ */
7
+ import * as fs from 'fs';
8
+ import * as path from 'path';
9
+ import { logger } from '../utils/logger.js';
10
+ /**
11
+ * Default health weights configuration
12
+ */
13
+ export const DEFAULT_HEALTH_WEIGHTS = {
14
+ version: '1.0.0',
15
+ categories: {
16
+ configuration: {
17
+ name: 'Configuration',
18
+ maxScore: 20,
19
+ description: 'Project setup, dependencies, and tooling configuration'
20
+ },
21
+ codeQuality: {
22
+ name: 'Code Quality',
23
+ maxScore: 30,
24
+ description: 'Code analysis results, patterns, and best practices'
25
+ },
26
+ structure: {
27
+ name: 'Structure',
28
+ maxScore: 20,
29
+ description: 'Project organization, file structure, and architecture'
30
+ },
31
+ documentation: {
32
+ name: 'Documentation',
33
+ maxScore: 15,
34
+ description: 'README, inline docs, and API documentation'
35
+ },
36
+ testing: {
37
+ name: 'Testing',
38
+ maxScore: 15,
39
+ description: 'Test coverage, test structure, and test quality'
40
+ }
41
+ },
42
+ issueWeights: {
43
+ critical: 10,
44
+ error: 5,
45
+ warning: 2,
46
+ info: 0.5,
47
+ suggestion: 0.25
48
+ },
49
+ gradeThresholds: {
50
+ A: 90,
51
+ B: 80,
52
+ C: 70,
53
+ D: 60,
54
+ F: 0
55
+ },
56
+ bonuses: {
57
+ hasTypeScript: 5,
58
+ hasLinter: 3,
59
+ hasPrettier: 2,
60
+ hasCI: 3,
61
+ hasTests: 5,
62
+ hasReadme: 2,
63
+ hasLicense: 1,
64
+ hasContributing: 1
65
+ },
66
+ penalties: {
67
+ noPackageLock: 2,
68
+ hasSecurityIssues: 10,
69
+ outdatedDependencies: 3
70
+ }
71
+ };
72
+ const CONFIG_FILE_NAME = 'stackguide.config.json';
73
+ /**
74
+ * Read project-specific weight overrides
75
+ */
76
+ export function loadProjectWeights(projectPath) {
77
+ const configPath = path.join(projectPath, CONFIG_FILE_NAME);
78
+ try {
79
+ if (fs.existsSync(configPath)) {
80
+ const content = fs.readFileSync(configPath, 'utf-8');
81
+ const config = JSON.parse(content);
82
+ if (config.healthWeights) {
83
+ logger.debug('Loaded project health weights', { projectPath });
84
+ return config.healthWeights;
85
+ }
86
+ }
87
+ }
88
+ catch (error) {
89
+ logger.debug('Failed to load project health weights', { error });
90
+ }
91
+ return null;
92
+ }
93
+ /**
94
+ * Merge default weights with project overrides
95
+ */
96
+ export function getHealthWeights(projectPath) {
97
+ const projectWeights = loadProjectWeights(projectPath);
98
+ if (!projectWeights) {
99
+ return DEFAULT_HEALTH_WEIGHTS;
100
+ }
101
+ // Deep merge with defaults
102
+ return {
103
+ ...DEFAULT_HEALTH_WEIGHTS,
104
+ ...projectWeights,
105
+ categories: {
106
+ ...DEFAULT_HEALTH_WEIGHTS.categories,
107
+ ...projectWeights.categories
108
+ },
109
+ issueWeights: {
110
+ ...DEFAULT_HEALTH_WEIGHTS.issueWeights,
111
+ ...projectWeights.issueWeights
112
+ },
113
+ gradeThresholds: {
114
+ ...DEFAULT_HEALTH_WEIGHTS.gradeThresholds,
115
+ ...projectWeights.gradeThresholds
116
+ },
117
+ bonuses: {
118
+ ...DEFAULT_HEALTH_WEIGHTS.bonuses,
119
+ ...projectWeights.bonuses
120
+ },
121
+ penalties: {
122
+ ...DEFAULT_HEALTH_WEIGHTS.penalties,
123
+ ...projectWeights.penalties
124
+ }
125
+ };
126
+ }
127
+ /**
128
+ * Validate that category weights sum to 100
129
+ */
130
+ export function validateWeights(weights) {
131
+ const errors = [];
132
+ // Check category sum
133
+ const categorySum = Object.values(weights.categories).reduce((sum, cat) => sum + cat.maxScore, 0);
134
+ if (categorySum !== 100) {
135
+ errors.push(`Category weights must sum to 100, got ${categorySum}`);
136
+ }
137
+ // Check grade thresholds are in descending order
138
+ const thresholds = weights.gradeThresholds;
139
+ if (thresholds.A <= thresholds.B ||
140
+ thresholds.B <= thresholds.C ||
141
+ thresholds.C <= thresholds.D) {
142
+ errors.push('Grade thresholds must be in descending order (A > B > C > D > F)');
143
+ }
144
+ // Check for negative values
145
+ for (const [key, value] of Object.entries(weights.issueWeights)) {
146
+ if (value < 0) {
147
+ errors.push(`Issue weight "${key}" cannot be negative`);
148
+ }
149
+ }
150
+ return {
151
+ valid: errors.length === 0,
152
+ errors
153
+ };
154
+ }
155
+ /**
156
+ * Get grade from score using weights config
157
+ */
158
+ export function getGradeFromScore(score, weights) {
159
+ const { gradeThresholds } = weights;
160
+ if (score >= gradeThresholds.A)
161
+ return 'A';
162
+ if (score >= gradeThresholds.B)
163
+ return 'B';
164
+ if (score >= gradeThresholds.C)
165
+ return 'C';
166
+ if (score >= gradeThresholds.D)
167
+ return 'D';
168
+ return 'F';
169
+ }
170
+ /**
171
+ * Calculate issue deduction based on weights
172
+ */
173
+ export function calculateIssueDeduction(issueType, count, weights) {
174
+ return weights.issueWeights[issueType] * count;
175
+ }
176
+ /**
177
+ * Generate sample config file content
178
+ */
179
+ export function generateSampleConfig() {
180
+ const sample = {
181
+ "$schema": "https://stackguide.dev/schema/config.json",
182
+ "healthWeights": {
183
+ "categories": {
184
+ "testing": {
185
+ "maxScore": 20,
186
+ "description": "Increased testing weight for this project"
187
+ }
188
+ },
189
+ "issueWeights": {
190
+ "critical": 15,
191
+ "error": 7
192
+ },
193
+ "gradeThresholds": {
194
+ "A": 95
195
+ }
196
+ }
197
+ };
198
+ return JSON.stringify(sample, null, 2);
199
+ }
200
+ /**
201
+ * Get weights documentation as markdown
202
+ */
203
+ export function getWeightsDocumentation(weights) {
204
+ const lines = [
205
+ '# Health Score Weights',
206
+ '',
207
+ '## Categories',
208
+ ''
209
+ ];
210
+ for (const [key, cat] of Object.entries(weights.categories)) {
211
+ lines.push(`### ${cat.name} (${cat.maxScore} points)`);
212
+ lines.push(cat.description);
213
+ lines.push('');
214
+ }
215
+ lines.push('## Issue Deductions');
216
+ lines.push('');
217
+ lines.push('| Severity | Points Deducted |');
218
+ lines.push('|----------|-----------------|');
219
+ for (const [key, value] of Object.entries(weights.issueWeights)) {
220
+ lines.push(`| ${key} | -${value} |`);
221
+ }
222
+ lines.push('');
223
+ lines.push('## Grade Thresholds');
224
+ lines.push('');
225
+ lines.push('| Grade | Minimum Score |');
226
+ lines.push('|-------|---------------|');
227
+ for (const [grade, threshold] of Object.entries(weights.gradeThresholds)) {
228
+ lines.push(`| ${grade} | ${threshold}+ |`);
229
+ }
230
+ lines.push('');
231
+ lines.push('## Bonuses');
232
+ lines.push('');
233
+ for (const [key, value] of Object.entries(weights.bonuses)) {
234
+ lines.push(`- ${key}: +${value} points`);
235
+ }
236
+ return lines.join('\n');
237
+ }
238
+ //# sourceMappingURL=healthWeights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"healthWeights.js","sourceRoot":"","sources":["../../src/config/healthWeights.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA4D5C;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD,OAAO,EAAE,OAAO;IAEhB,UAAU,EAAE;QACV,aAAa,EAAE;YACb,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,wDAAwD;SACtE;QACD,WAAW,EAAE;YACX,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,qDAAqD;SACnE;QACD,SAAS,EAAE;YACT,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,wDAAwD;SACtE;QACD,aAAa,EAAE;YACb,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,4CAA4C;SAC1D;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,iDAAiD;SAC/D;KACF;IAED,YAAY,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,GAAG;QACT,UAAU,EAAE,IAAI;KACjB;IAED,eAAe,EAAE;QACf,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,CAAC;KACL;IAED,OAAO,EAAE;QACP,aAAa,EAAE,CAAC;QAChB,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;QACd,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;QACb,eAAe,EAAE,CAAC;KACnB;IAED,SAAS,EAAE;QACT,aAAa,EAAE,CAAC;QAChB,iBAAiB,EAAE,EAAE;QACrB,oBAAoB,EAAE,CAAC;KACxB;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAElD;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAE5D,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC/D,OAAO,MAAM,CAAC,aAAa,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,cAAc,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAEvD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,2BAA2B;IAC3B,OAAO;QACL,GAAG,sBAAsB;QACzB,GAAG,cAAc;QACjB,UAAU,EAAE;YACV,GAAG,sBAAsB,CAAC,UAAU;YACpC,GAAG,cAAc,CAAC,UAAU;SAC7B;QACD,YAAY,EAAE;YACZ,GAAG,sBAAsB,CAAC,YAAY;YACtC,GAAG,cAAc,CAAC,YAAY;SAC/B;QACD,eAAe,EAAE;YACf,GAAG,sBAAsB,CAAC,eAAe;YACzC,GAAG,cAAc,CAAC,eAAe;SAClC;QACD,OAAO,EAAE;YACP,GAAG,sBAAsB,CAAC,OAAO;YACjC,GAAG,cAAc,CAAC,OAAO;SAC1B;QACD,SAAS,EAAE;YACT,GAAG,sBAAsB,CAAC,SAAS;YACnC,GAAG,cAAc,CAAC,SAAS;SAC5B;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAA4B;IAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,qBAAqB;IACrB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAC1D,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,EAChC,CAAC,CACF,CAAC;IAEF,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,yCAAyC,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,iDAAiD;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;IAC3C,IAAI,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC;QAC5B,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC;QAC5B,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;IAClF,CAAC;IAED,4BAA4B;IAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,iBAAiB,GAAG,sBAAsB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,OAA4B;IAC3E,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAEpC,IAAI,KAAK,IAAI,eAAe,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3C,IAAI,KAAK,IAAI,eAAe,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3C,IAAI,KAAK,IAAI,eAAe,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3C,IAAI,KAAK,IAAI,eAAe,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC;IAC3C,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAA6B,EAC7B,KAAa,EACb,OAA4B;IAE5B,OAAO,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,2CAA2C;QACtD,eAAe,EAAE;YACf,YAAY,EAAE;gBACZ,SAAS,EAAE;oBACT,UAAU,EAAE,EAAE;oBACd,aAAa,EAAE,2CAA2C;iBAC3D;aACF;YACD,cAAc,EAAE;gBACd,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,CAAC;aACX;YACD,iBAAiB,EAAE;gBACjB,GAAG,EAAE,EAAE;aACR;SACF;KACF,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA4B;IAClE,MAAM,KAAK,GAAG;QACZ,wBAAwB;QACxB,EAAE;QACF,eAAe;QACf,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,UAAU,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,SAAS,KAAK,CAAC,CAAC;IAC7C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -16,6 +16,110 @@ export interface Rule {
16
16
  enabled: boolean;
17
17
  priority: number;
18
18
  }
19
+ /**
20
+ * Severity levels for code analysis issues
21
+ */
22
+ export type IssueSeverity = 'error' | 'warning' | 'info' | 'suggestion';
23
+ /**
24
+ * Quick fix definition for auto-corrections
25
+ */
26
+ export interface QuickFix {
27
+ description: string;
28
+ before: string;
29
+ after: string;
30
+ isRegex?: boolean;
31
+ }
32
+ /**
33
+ * Base interface for all analysis rules
34
+ */
35
+ export interface BaseAnalysisRule {
36
+ id: string;
37
+ category: AnalysisCategory;
38
+ severity: IssueSeverity;
39
+ message: string;
40
+ suggestion?: string;
41
+ languages?: string[];
42
+ enabled: boolean;
43
+ priority: number;
44
+ source: 'builtin' | 'user' | 'project';
45
+ }
46
+ /**
47
+ * Regex-based pattern matching rule (current implementation)
48
+ */
49
+ export interface PatternRule extends BaseAnalysisRule {
50
+ type: 'pattern';
51
+ pattern: RegExp;
52
+ quickFix?: (match: string) => QuickFix | undefined;
53
+ }
54
+ /**
55
+ * AST-based rule (future implementation - Phase 2)
56
+ */
57
+ export interface ASTRule extends BaseAnalysisRule {
58
+ type: 'ast';
59
+ nodeType: string;
60
+ check: (node: unknown) => boolean;
61
+ quickFix?: (node: unknown) => QuickFix | undefined;
62
+ }
63
+ /**
64
+ * External linter rule (future implementation - Phase 3)
65
+ */
66
+ export interface LinterRule extends BaseAnalysisRule {
67
+ type: 'linter';
68
+ linter: 'eslint' | 'prettier' | 'biome' | 'ruff' | 'pylint';
69
+ linterRule: string;
70
+ }
71
+ /**
72
+ * Union type for all analysis rules
73
+ */
74
+ export type AnalysisRule = PatternRule | ASTRule | LinterRule;
75
+ /**
76
+ * Analysis categories (more specific than RuleCategory)
77
+ */
78
+ export type AnalysisCategory = 'security' | 'performance' | 'coding-standards' | 'architecture' | 'best-practices' | 'testing' | 'accessibility' | 'react' | 'node' | 'python' | 'go' | 'rust';
79
+ /**
80
+ * Analysis rule registry for managing all rules
81
+ */
82
+ export interface AnalysisRuleRegistry {
83
+ builtin: AnalysisRule[];
84
+ user: AnalysisRule[];
85
+ project: AnalysisRule[];
86
+ }
87
+ /**
88
+ * Code issue found during analysis
89
+ */
90
+ export interface CodeIssue {
91
+ severity: IssueSeverity;
92
+ rule: string;
93
+ category: string;
94
+ message: string;
95
+ line?: number;
96
+ column?: number;
97
+ code?: string;
98
+ suggestion?: string;
99
+ quickFix?: QuickFix;
100
+ source: 'builtin' | 'user' | 'project';
101
+ }
102
+ /**
103
+ * Analysis result for a single file
104
+ */
105
+ export interface AnalysisResult {
106
+ file: string;
107
+ language: string;
108
+ issues: CodeIssue[];
109
+ score: number;
110
+ summary: {
111
+ errors: number;
112
+ warnings: number;
113
+ info: number;
114
+ suggestions: number;
115
+ };
116
+ quickFixes?: QuickFix[];
117
+ rulesApplied: {
118
+ builtin: number;
119
+ user: number;
120
+ project: number;
121
+ };
122
+ }
19
123
  export type RuleCategory = 'coding-standards' | 'best-practices' | 'security' | 'performance' | 'architecture' | 'testing' | 'documentation' | 'naming-conventions';
20
124
  export interface KnowledgeFile {
21
125
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,WAAW,GACnB,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,UAAU,GACV,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,MAAM,GACN,QAAQ,CAAC;AAGb,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAGD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,MAAM,YAAY,GACpB,kBAAkB,GAClB,gBAAgB,GAChB,UAAU,GACV,aAAa,GACb,cAAc,GACd,SAAS,GACT,eAAe,GACf,oBAAoB,CAAC;AAGzB,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,eAAe,GACf,cAAc,GACd,UAAU,GACV,WAAW,GACX,iBAAiB,CAAC;AAGtB,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,IAAI,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,WAAW,GAAG,IAAI,CAAC;IACtC,mBAAmB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC9C,WAAW,EAAE,IAAI,EAAE,CAAC;IACpB,eAAe,EAAE,aAAa,EAAE,CAAC;CAClC;AAGD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,CAiH/D,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Generate handler - Generate boilerplate code from templates
3
+ * Phase 6: Advanced Features
4
+ *
5
+ * Improvements:
6
+ * - Detects project conventions (quotes, semicolons, indentation)
7
+ * - Adapts templates based on state management in use
8
+ * - Respects existing code patterns
9
+ */
10
+ import { ServerState, ToolResponse } from './types.js';
11
+ interface GenerateArgs {
12
+ type: 'component' | 'hook' | 'service' | 'test' | 'api' | 'model' | 'util';
13
+ name: string;
14
+ options?: {
15
+ typescript?: boolean;
16
+ withTests?: boolean;
17
+ withStyles?: boolean;
18
+ framework?: string;
19
+ scanProject?: boolean;
20
+ };
21
+ }
22
+ export declare function handleGenerate(args: GenerateArgs, state: ServerState): Promise<ToolResponse>;
23
+ export {};
24
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/handlers/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAA8B,MAAM,YAAY,CAAC;AAInF,UAAU,YAAY;IACpB,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;CACH;AA8xBD,wBAAsB,cAAc,CAClC,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CA0EvB"}