@stackguide/mcp-server 3.2.0 → 3.3.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 (49) hide show
  1. package/README.md +59 -2
  2. package/dist/handlers/analyze.d.ts +11 -0
  3. package/dist/handlers/analyze.d.ts.map +1 -0
  4. package/dist/handlers/analyze.js +274 -0
  5. package/dist/handlers/analyze.js.map +1 -0
  6. package/dist/handlers/index.d.ts +1 -0
  7. package/dist/handlers/index.d.ts.map +1 -1
  8. package/dist/handlers/index.js +1 -0
  9. package/dist/handlers/index.js.map +1 -1
  10. package/dist/handlers/setup.d.ts +1 -0
  11. package/dist/handlers/setup.d.ts.map +1 -1
  12. package/dist/handlers/setup.js +42 -0
  13. package/dist/handlers/setup.js.map +1 -1
  14. package/dist/index.js +4 -2
  15. package/dist/index.js.map +1 -1
  16. package/dist/services/intelligence/configGenerator.d.ts +28 -0
  17. package/dist/services/intelligence/configGenerator.d.ts.map +1 -0
  18. package/dist/services/intelligence/configGenerator.js +404 -0
  19. package/dist/services/intelligence/configGenerator.js.map +1 -0
  20. package/dist/services/intelligence/dependencyAdvisor.d.ts +24 -0
  21. package/dist/services/intelligence/dependencyAdvisor.d.ts.map +1 -0
  22. package/dist/services/intelligence/dependencyAdvisor.js +404 -0
  23. package/dist/services/intelligence/dependencyAdvisor.js.map +1 -0
  24. package/dist/services/intelligence/index.d.ts +12 -0
  25. package/dist/services/intelligence/index.d.ts.map +1 -0
  26. package/dist/services/intelligence/index.js +16 -0
  27. package/dist/services/intelligence/index.js.map +1 -0
  28. package/dist/services/intelligence/projectIntelligence.d.ts +26 -0
  29. package/dist/services/intelligence/projectIntelligence.d.ts.map +1 -0
  30. package/dist/services/intelligence/projectIntelligence.js +344 -0
  31. package/dist/services/intelligence/projectIntelligence.js.map +1 -0
  32. package/dist/services/intelligence/structureAnalyzer.d.ts +27 -0
  33. package/dist/services/intelligence/structureAnalyzer.d.ts.map +1 -0
  34. package/dist/services/intelligence/structureAnalyzer.js +286 -0
  35. package/dist/services/intelligence/structureAnalyzer.js.map +1 -0
  36. package/dist/services/intelligence/templates.d.ts +22 -0
  37. package/dist/services/intelligence/templates.d.ts.map +1 -0
  38. package/dist/services/intelligence/templates.js +521 -0
  39. package/dist/services/intelligence/templates.js.map +1 -0
  40. package/dist/services/intelligence/types.d.ts +222 -0
  41. package/dist/services/intelligence/types.d.ts.map +1 -0
  42. package/dist/services/intelligence/types.js +7 -0
  43. package/dist/services/intelligence/types.js.map +1 -0
  44. package/dist/tools/definitions.d.ts +87 -0
  45. package/dist/tools/definitions.d.ts.map +1 -1
  46. package/dist/tools/definitions.js +34 -0
  47. package/dist/tools/definitions.js.map +1 -1
  48. package/dist/utils/validation.d.ts +2 -2
  49. package/package.json +1 -1
package/README.md CHANGED
@@ -26,9 +26,10 @@ Just talk naturally:
26
26
  - *"Review my code"* → Analyzes with Quick Fix suggestions
27
27
  - *"Generate a component"* → Creates boilerplate code
28
28
  - *"Check project health"* → Returns health score (A-F)
29
+ - *"Analyze my project"* → **NEW!** Auto-configuration intelligence
29
30
  - *"Browse React rules"* → Shows community rules
30
31
 
31
- ## Tools (12 total)
32
+ ## Tools (13 total)
32
33
 
33
34
  ### Core Tools
34
35
  | Tool | Description | Example |
@@ -39,11 +40,12 @@ Just talk naturally:
39
40
  | `knowledge` | Access patterns & solutions | `knowledge action:"get" query:"architecture"` |
40
41
  | `review` | Review code with Quick Fixes | `review file:"src/index.ts" focus:"security"` |
41
42
 
42
- ### Advanced Features (NEW in v2.4.0)
43
+ ### Advanced Features
43
44
  | Tool | Description | Example |
44
45
  |------|-------------|---------|
45
46
  | `generate` | Generate boilerplate code | `generate type:"component" name:"UserCard"` |
46
47
  | `health` | Project health score (A-F) | `health detailed:true` |
48
+ | `analyze` | **NEW!** Project intelligence | `analyze action:"full" path:"./my-project"` |
47
49
 
48
50
  ### Integration Tools
49
51
  | Tool | Description | Example |
@@ -106,6 +108,57 @@ Setup now provides tailored recommendations:
106
108
  }
107
109
  ```
108
110
 
111
+ ## New in v3.3.0: Auto-Configuration Intelligence 🧠
112
+
113
+ ### Project Intelligence Analysis
114
+ Get comprehensive analysis with actionable recommendations:
115
+
116
+ ```bash
117
+ analyze action:"full" path:"./my-project"
118
+ analyze action:"structure" # Analyze only project structure
119
+ analyze action:"config" # Analyze only configurations
120
+ analyze action:"dependencies" # Analyze only dependencies
121
+ analyze action:"generate" configType:"eslint" # Generate optimal config
122
+ analyze action:"apply" # Apply all auto-fixes
123
+ ```
124
+
125
+ Returns:
126
+ - **Overall Score (0-100)** with grade (A-F)
127
+ - **Structure Analysis**: Missing dirs/files, directory organization
128
+ - **Configuration Analysis**: Missing ESLint, Prettier, TSConfig recommendations
129
+ - **Dependency Analysis**: Missing packages, security advisories
130
+ - **Priority Actions**: Sorted by impact with estimated effort
131
+ - **Suggested Workflow**: Step-by-step improvement plan
132
+
133
+ ```json
134
+ {
135
+ "overallScore": 72,
136
+ "grade": "C",
137
+ "priorityActions": [
138
+ { "action": "Add ESLint configuration", "priority": "high", "impact": "Improves code quality" },
139
+ { "action": "Add tests directory", "priority": "medium", "impact": "Enables testing" }
140
+ ],
141
+ "suggestedWorkflow": [
142
+ { "step": 1, "action": "Run `analyze action:generate configType:eslint`" },
143
+ { "step": 2, "action": "Run `analyze action:generate configType:prettier`" }
144
+ ]
145
+ }
146
+ ```
147
+
148
+ ### Enhanced Setup with Intelligence
149
+ Setup now includes quick intelligence analysis:
150
+
151
+ ```json
152
+ {
153
+ "intelligence": {
154
+ "structureScore": 85,
155
+ "configScore": 60,
156
+ "dependencyScore": 90,
157
+ "quickWins": ["Add .prettierrc for consistent formatting"]
158
+ }
159
+ }
160
+ ```
161
+
109
162
  ## Supported Stacks
110
163
 
111
164
  `python-django` · `python-fastapi` · `python-flask` · `react-node` · `react-typescript` · `vue-node` · `nextjs` · `express` · `nestjs` · `laravel` · `rails` · `golang` · `rust`
@@ -125,6 +178,10 @@ review file:"src/App.tsx" focus:"performance"
125
178
  # Check project health
126
179
  health
127
180
 
181
+ # NEW: Analyze project intelligence
182
+ analyze action:"full"
183
+ analyze action:"generate" configType:"prettier"
184
+
128
185
  # Browse and import community rules
129
186
  cursor action:"popular"
130
187
  cursor action:"import" slug:"typescript-best-practices"
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Analyze handler - Project Intelligence Analysis
3
+ * Provides comprehensive project analysis and recommendations
4
+ * @version 3.3.0
5
+ */
6
+ import { ServerState, ToolResponse } from './types.js';
7
+ /**
8
+ * Handle analyze tool requests
9
+ */
10
+ export declare function handleAnalyze(args: unknown, state: ServerState): Promise<ToolResponse>;
11
+ //# sourceMappingURL=analyze.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/handlers/analyze.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,YAAY,EAA+B,MAAM,YAAY,CAAC;AA6BpF;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CAyCvB"}
@@ -0,0 +1,274 @@
1
+ /**
2
+ * Analyze handler - Project Intelligence Analysis
3
+ * Provides comprehensive project analysis and recommendations
4
+ * @version 3.3.0
5
+ */
6
+ import * as path from 'path';
7
+ import { jsonResponse, errorResponse } from './types.js';
8
+ import { logger } from '../utils/logger.js';
9
+ import { z } from 'zod';
10
+ import { validate } from '../utils/validation.js';
11
+ import { generateIntelligenceReport, formatIntelligenceReport, analyzeStructure, analyzeConfigurations, analyzeDependencies, generateSmartConfig, applyAutoFixes, getFrameworkTemplate } from '../services/intelligence/index.js';
12
+ /**
13
+ * Input schema for analyze tool
14
+ */
15
+ const AnalyzeInputSchema = z.object({
16
+ action: z.enum(['full', 'structure', 'config', 'dependencies', 'generate', 'apply']).optional().default('full'),
17
+ path: z.string().optional(),
18
+ configType: z.string().optional(),
19
+ autoFix: z.boolean().optional().default(false),
20
+ format: z.enum(['json', 'markdown']).optional().default('markdown')
21
+ }).strict();
22
+ /**
23
+ * Handle analyze tool requests
24
+ */
25
+ export async function handleAnalyze(args, state) {
26
+ const startTime = Date.now();
27
+ // Validate input
28
+ const validationResult = validate(AnalyzeInputSchema, args || {});
29
+ if (!validationResult.success) {
30
+ return errorResponse(validationResult.error || 'Invalid input');
31
+ }
32
+ const input = validationResult.data;
33
+ const projectPath = input.path || process.cwd();
34
+ const absolutePath = path.resolve(projectPath);
35
+ const projectType = state.activeProjectType || 'react-typescript';
36
+ try {
37
+ switch (input.action) {
38
+ case 'full':
39
+ return await handleFullAnalysis(absolutePath, input.format, state, startTime);
40
+ case 'structure':
41
+ return await handleStructureAnalysis(absolutePath, projectType, input.format, startTime);
42
+ case 'config':
43
+ return await handleConfigAnalysis(absolutePath, projectType, input.format, startTime);
44
+ case 'dependencies':
45
+ return await handleDependencyAnalysis(absolutePath, projectType, input.format, startTime);
46
+ case 'generate':
47
+ return await handleGenerateConfig(absolutePath, projectType, input.configType, startTime);
48
+ case 'apply':
49
+ return await handleApplyFixes(absolutePath, state, startTime);
50
+ default:
51
+ return errorResponse(`Unknown action: ${input.action}`);
52
+ }
53
+ }
54
+ catch (error) {
55
+ logger.error('Analyze error', { error: String(error) });
56
+ return errorResponse(`Analysis failed: ${error instanceof Error ? error.message : String(error)}`);
57
+ }
58
+ }
59
+ /**
60
+ * Full project analysis
61
+ */
62
+ async function handleFullAnalysis(projectPath, format, state, startTime) {
63
+ const report = await generateIntelligenceReport(projectPath);
64
+ logger.tool('analyze', { action: 'full', path: projectPath, score: report.overallScore }, startTime);
65
+ if (format === 'markdown') {
66
+ return jsonResponse({
67
+ success: true,
68
+ report: formatIntelligenceReport(report),
69
+ summary: {
70
+ score: report.overallScore,
71
+ grade: report.grade,
72
+ projectType: report.projectType,
73
+ confidence: report.confidence,
74
+ estimatedEffort: report.estimatedEffort,
75
+ actionCount: report.priorityActions.length
76
+ }
77
+ });
78
+ }
79
+ return jsonResponse({
80
+ success: true,
81
+ report
82
+ });
83
+ }
84
+ /**
85
+ * Structure-only analysis
86
+ */
87
+ async function handleStructureAnalysis(projectPath, projectType, format, startTime) {
88
+ const analysis = analyzeStructure(projectPath, projectType);
89
+ logger.tool('analyze', { action: 'structure', path: projectPath, score: analysis.structureScore }, startTime);
90
+ if (format === 'markdown') {
91
+ const lines = [];
92
+ lines.push('# 📁 Structure Analysis');
93
+ lines.push('');
94
+ lines.push(`**Score:** ${analysis.structureScore}/100`);
95
+ lines.push('');
96
+ if (analysis.missingDirs.length > 0) {
97
+ lines.push('## Missing Directories');
98
+ for (const dir of analysis.missingDirs) {
99
+ const priority = dir.priority === 'high' ? '🔴' : dir.priority === 'medium' ? '🟡' : '🟢';
100
+ lines.push(`- ${priority} \`${dir.path}\` - ${dir.purpose}`);
101
+ }
102
+ lines.push('');
103
+ }
104
+ if (analysis.missingFiles.length > 0) {
105
+ lines.push('## Missing Files');
106
+ for (const file of analysis.missingFiles.filter(f => f.priority === 'high')) {
107
+ lines.push(`- 🔴 \`${file.path}\` - ${file.purpose}`);
108
+ }
109
+ lines.push('');
110
+ }
111
+ if (analysis.improvements.length > 0) {
112
+ lines.push('## Suggested Improvements');
113
+ for (const imp of analysis.improvements) {
114
+ lines.push(`- ${imp.description}`);
115
+ }
116
+ }
117
+ return jsonResponse({
118
+ success: true,
119
+ report: lines.join('\n'),
120
+ score: analysis.structureScore
121
+ });
122
+ }
123
+ return jsonResponse({
124
+ success: true,
125
+ analysis
126
+ });
127
+ }
128
+ /**
129
+ * Configuration-only analysis
130
+ */
131
+ async function handleConfigAnalysis(projectPath, projectType, format, startTime) {
132
+ const analysis = analyzeConfigurations(projectPath, projectType);
133
+ logger.tool('analyze', { action: 'config', path: projectPath, score: analysis.configScore }, startTime);
134
+ if (format === 'markdown') {
135
+ const lines = [];
136
+ lines.push('# ⚙️ Configuration Analysis');
137
+ lines.push('');
138
+ lines.push(`**Score:** ${analysis.configScore}/100`);
139
+ lines.push('');
140
+ if (analysis.existingConfigs.length > 0) {
141
+ lines.push('## Existing Configurations');
142
+ for (const config of analysis.existingConfigs) {
143
+ const status = config.isValid ? '✅' : '❌';
144
+ lines.push(`- ${status} \`${path.basename(config.path)}\` (${config.type})`);
145
+ }
146
+ lines.push('');
147
+ }
148
+ if (analysis.recommendedConfigs.length > 0) {
149
+ lines.push('## Recommended Configurations');
150
+ for (const rec of analysis.recommendedConfigs) {
151
+ const priority = rec.priority === 'critical' ? '🚨' : rec.priority === 'high' ? '⚡' : '💡';
152
+ lines.push(`- ${priority} \`${rec.filename}\` - ${rec.description}`);
153
+ lines.push(` - Reason: ${rec.reason}`);
154
+ }
155
+ lines.push('');
156
+ }
157
+ if (analysis.issues.length > 0) {
158
+ lines.push('## Configuration Issues');
159
+ for (const issue of analysis.issues) {
160
+ const severity = issue.severity === 'error' ? '🔴' : issue.severity === 'warning' ? '🟡' : '🔵';
161
+ lines.push(`- ${severity} ${issue.message}`);
162
+ lines.push(` - Suggestion: ${issue.suggestion}`);
163
+ if (issue.autoFixable)
164
+ lines.push(` - ✨ Auto-fixable`);
165
+ }
166
+ }
167
+ return jsonResponse({
168
+ success: true,
169
+ report: lines.join('\n'),
170
+ score: analysis.configScore
171
+ });
172
+ }
173
+ return jsonResponse({
174
+ success: true,
175
+ analysis
176
+ });
177
+ }
178
+ /**
179
+ * Dependencies-only analysis
180
+ */
181
+ async function handleDependencyAnalysis(projectPath, projectType, format, startTime) {
182
+ const analysis = analyzeDependencies(projectPath, projectType);
183
+ logger.tool('analyze', { action: 'dependencies', path: projectPath, score: analysis.dependencyScore }, startTime);
184
+ if (format === 'markdown') {
185
+ const lines = [];
186
+ lines.push('# 📦 Dependency Analysis');
187
+ lines.push('');
188
+ lines.push(`**Score:** ${analysis.dependencyScore}/100`);
189
+ lines.push(`**Package Manager:** ${analysis.packageManager}`);
190
+ lines.push(`**Total Dependencies:** ${analysis.totalDependencies}`);
191
+ lines.push('');
192
+ if (analysis.recommendedAdditions.length > 0) {
193
+ lines.push('## Recommended Additions');
194
+ for (const rec of analysis.recommendedAdditions) {
195
+ const priority = rec.priority === 'high' ? '⚡' : '💡';
196
+ lines.push(`- ${priority} \`${rec.name}\` - ${rec.reason} (${rec.category})`);
197
+ }
198
+ lines.push('');
199
+ }
200
+ if (analysis.unnecessaryDependencies.length > 0) {
201
+ lines.push('## Consider Removing');
202
+ for (const dep of analysis.unnecessaryDependencies) {
203
+ lines.push(`- ⚠️ ${dep}`);
204
+ }
205
+ lines.push('');
206
+ }
207
+ if (analysis.vulnerabilities.length > 0) {
208
+ lines.push('## Security Vulnerabilities');
209
+ for (const vuln of analysis.vulnerabilities) {
210
+ const severity = vuln.severity === 'critical' ? '🚨' : vuln.severity === 'high' ? '🔴' : '🟡';
211
+ lines.push(`- ${severity} \`${vuln.package}\`: ${vuln.title}`);
212
+ if (vuln.fixedIn)
213
+ lines.push(` - Fixed in: ${vuln.fixedIn}`);
214
+ }
215
+ }
216
+ return jsonResponse({
217
+ success: true,
218
+ report: lines.join('\n'),
219
+ score: analysis.dependencyScore
220
+ });
221
+ }
222
+ return jsonResponse({
223
+ success: true,
224
+ analysis
225
+ });
226
+ }
227
+ /**
228
+ * Generate a configuration file
229
+ */
230
+ async function handleGenerateConfig(projectPath, projectType, configType, startTime) {
231
+ if (!configType) {
232
+ // List available config types
233
+ const template = getFrameworkTemplate(projectType);
234
+ const availableConfigs = template?.configTemplates.map(c => c.type) || [];
235
+ return jsonResponse({
236
+ success: true,
237
+ message: 'Specify configType to generate a configuration',
238
+ availableConfigs: ['eslint', 'prettier', 'tsconfig', 'editorconfig', 'gitignore', ...availableConfigs],
239
+ example: 'analyze action:"generate" configType:"eslint"'
240
+ });
241
+ }
242
+ const config = generateSmartConfig(configType, projectType);
243
+ if (!config) {
244
+ return errorResponse(`No template available for config type: ${configType}`);
245
+ }
246
+ logger.tool('analyze', { action: 'generate', configType }, startTime);
247
+ return jsonResponse({
248
+ success: true,
249
+ config: {
250
+ filename: config.filename,
251
+ description: config.description,
252
+ content: config.content,
253
+ customizations: config.customizations
254
+ },
255
+ instruction: `Save this content to ${config.filename} in your project root`
256
+ });
257
+ }
258
+ /**
259
+ * Apply auto-fixes
260
+ */
261
+ async function handleApplyFixes(projectPath, state, startTime) {
262
+ const report = await generateIntelligenceReport(projectPath);
263
+ const result = await applyAutoFixes(report);
264
+ logger.tool('analyze', { action: 'apply', applied: result.applied.length, failed: result.failed.length }, startTime);
265
+ return jsonResponse({
266
+ success: true,
267
+ applied: result.applied,
268
+ failed: result.failed,
269
+ message: result.applied.length > 0
270
+ ? `Applied ${result.applied.length} fix(es). ${result.failed.length} failed.`
271
+ : 'No auto-fixes were applied. Manual intervention may be required.'
272
+ });
273
+ }
274
+ //# sourceMappingURL=analyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../src/handlers/analyze.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,6 @@ export { handleCustomRule } from './custom-rule.js';
13
13
  export { handleHelp } from './help.js';
14
14
  export { handleGenerate } from './generate.js';
15
15
  export { handleHealth } from './health.js';
16
+ export { handleAnalyze } from './analyze.js';
16
17
  export * from './types.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,cAAc,YAAY,CAAC"}
@@ -13,5 +13,6 @@ export { handleCustomRule } from './custom-rule.js';
13
13
  export { handleHelp } from './help.js';
14
14
  export { handleGenerate } from './generate.js';
15
15
  export { handleHealth } from './health.js';
16
+ export { handleAnalyze } from './analyze.js';
16
17
  export * from './types.js';
17
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,cAAc,YAAY,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Setup handler - configures StackGuide for a project
3
3
  * Includes interactive wizard with recommendations
4
+ * Enhanced with Project Intelligence in v3.3.0
4
5
  */
5
6
  import { ServerState, ToolResponse } from './types.js';
6
7
  export declare function handleSetup(args: unknown, state: ServerState): Promise<ToolResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/handlers/setup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,WAAW,EAAE,YAAY,EAA+B,MAAM,YAAY,CAAC;AAmEpF,wBAAsB,WAAW,CAC/B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CAgIvB"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/handlers/setup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,WAAW,EAAE,YAAY,EAA+B,MAAM,YAAY,CAAC;AAoEpF,wBAAsB,WAAW,CAC/B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,YAAY,CAAC,CAkLvB"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Setup handler - configures StackGuide for a project
3
3
  * Includes interactive wizard with recommendations
4
+ * Enhanced with Project Intelligence in v3.3.0
4
5
  */
5
6
  import { SUPPORTED_PROJECTS } from '../config/types.js';
6
7
  import * as rulesProvider from '../resources/rulesProvider.js';
@@ -9,6 +10,7 @@ import * as autoDetect from '../services/autoDetect.js';
9
10
  import { jsonResponse, errorResponse } from './types.js';
10
11
  import { logger } from '../utils/logger.js';
11
12
  import { SetupInputSchema, validate } from '../utils/validation.js';
13
+ import { analyzeStructure, analyzeConfigurations, analyzeDependencies } from '../services/intelligence/index.js';
12
14
  // Recommendations based on project type
13
15
  const PROJECT_RECOMMENDATIONS = {
14
16
  'react-typescript': {
@@ -152,6 +154,33 @@ export async function handleSetup(args, state) {
152
154
  updatedAt: new Date().toISOString()
153
155
  };
154
156
  const recommendations = getRecommendations(detectedType);
157
+ // Run quick intelligence analysis for enhanced setup (v3.3.0)
158
+ let intelligence;
159
+ try {
160
+ const structure = analyzeStructure(resolvedPath, detectedType);
161
+ const config = analyzeConfigurations(resolvedPath, detectedType);
162
+ const deps = analyzeDependencies(resolvedPath, detectedType);
163
+ const quickWins = [];
164
+ // Add quick wins from missing high-priority items
165
+ for (const dir of structure.missingDirs.filter(d => d.priority === 'high').slice(0, 2)) {
166
+ quickWins.push(`Create \`${dir.path}/\` directory`);
167
+ }
168
+ for (const cfg of config.recommendedConfigs.filter(c => c.priority === 'critical' || c.priority === 'high').slice(0, 2)) {
169
+ quickWins.push(`Add \`${cfg.filename}\` configuration`);
170
+ }
171
+ for (const dep of deps.recommendedAdditions.filter(d => d.priority === 'high').slice(0, 2)) {
172
+ quickWins.push(`Install \`${dep.name}\` (${dep.reason})`);
173
+ }
174
+ intelligence = {
175
+ structureScore: structure.structureScore,
176
+ configScore: config.configScore,
177
+ dependencyScore: deps.dependencyScore,
178
+ quickWins
179
+ };
180
+ }
181
+ catch {
182
+ // Intelligence analysis is optional, don't fail setup
183
+ }
155
184
  logger.tool('setup', { path: projectPath, type: projectType, detected: detectedType }, startTime);
156
185
  return jsonResponse({
157
186
  success: true,
@@ -164,6 +193,18 @@ export async function handleSetup(args, state) {
164
193
  },
165
194
  rulesLoaded: state.loadedRules.length,
166
195
  knowledgeLoaded: state.loadedKnowledge.length,
196
+ intelligence: intelligence ? {
197
+ scores: {
198
+ structure: intelligence.structureScore,
199
+ configuration: intelligence.configScore,
200
+ dependencies: intelligence.dependencyScore,
201
+ average: Math.round((intelligence.structureScore + intelligence.configScore + intelligence.dependencyScore) / 3)
202
+ },
203
+ quickWins: intelligence.quickWins.length > 0 ? intelligence.quickWins : undefined,
204
+ tip: intelligence.quickWins.length > 0
205
+ ? 'Run `analyze` for detailed project intelligence report'
206
+ : 'Your project structure looks good! Run `analyze` for details'
207
+ } : undefined,
167
208
  wizard: {
168
209
  step: '1/3 - Setup Complete ✓',
169
210
  detectedAs: project.name,
@@ -176,6 +217,7 @@ export async function handleSetup(args, state) {
176
217
  nextSteps: [
177
218
  `📋 Run \`context\` to see ${state.loadedRules.length} loaded rules`,
178
219
  `🔍 Run \`review\` to analyze your code`,
220
+ `🧠 Run \`analyze\` for project intelligence`,
179
221
  `🏥 Run \`health\` to check project health`,
180
222
  ...recommendations.commands.map(cmd => `💡 Try: \`${cmd}\``)
181
223
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/handlers/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/handlers/setup.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ import * as ruleManager from './services/ruleManager.js';
24
24
  import * as webDocs from './services/webDocumentation.js';
25
25
  import * as autoDetect from './services/autoDetect.js';
26
26
  import { toolDefinitions } from './tools/definitions.js';
27
- import { handleSetup, handleContext, handleRules, handleKnowledge, handleReview, handleCursor, handleDocs, handleConfig, handleCustomRule, handleHelp, handleGenerate, handleHealth, textResponse } from './handlers/index.js';
27
+ import { handleSetup, handleContext, handleRules, handleKnowledge, handleReview, handleCursor, handleDocs, handleConfig, handleCustomRule, handleHelp, handleGenerate, handleHealth, handleAnalyze, textResponse } from './handlers/index.js';
28
28
  import { logger } from './utils/logger.js';
29
29
  // ==================== SERVER STATE ====================
30
30
  const serverState = {
@@ -36,7 +36,7 @@ const serverState = {
36
36
  // ==================== CREATE SERVER ====================
37
37
  const server = new Server({
38
38
  name: 'stackguide-mcp',
39
- version: '2.4.0',
39
+ version: '3.3.0',
40
40
  }, {
41
41
  capabilities: {
42
42
  tools: {},
@@ -78,6 +78,8 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
78
78
  return await handleGenerate(args, serverState);
79
79
  case 'health':
80
80
  return await handleHealth(args, serverState);
81
+ case 'analyze':
82
+ return await handleAnalyze(args, serverState);
81
83
  default:
82
84
  logger.warn(`Unknown tool: ${name}`);
83
85
  return textResponse(`Unknown tool: ${name}`);