@stackguide/mcp-server 3.1.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 (80) hide show
  1. package/README.md +59 -2
  2. package/dist/config/types.d.ts +1 -0
  3. package/dist/config/types.d.ts.map +1 -1
  4. package/dist/config/types.js.map +1 -1
  5. package/dist/handlers/analyze.d.ts +11 -0
  6. package/dist/handlers/analyze.d.ts.map +1 -0
  7. package/dist/handlers/analyze.js +274 -0
  8. package/dist/handlers/analyze.js.map +1 -0
  9. package/dist/handlers/index.d.ts +1 -0
  10. package/dist/handlers/index.d.ts.map +1 -1
  11. package/dist/handlers/index.js +1 -0
  12. package/dist/handlers/index.js.map +1 -1
  13. package/dist/handlers/setup.d.ts +1 -0
  14. package/dist/handlers/setup.d.ts.map +1 -1
  15. package/dist/handlers/setup.js +42 -0
  16. package/dist/handlers/setup.js.map +1 -1
  17. package/dist/index.js +4 -2
  18. package/dist/index.js.map +1 -1
  19. package/dist/services/codeAnalyzer.d.ts +5 -1
  20. package/dist/services/codeAnalyzer.d.ts.map +1 -1
  21. package/dist/services/codeAnalyzer.js +39 -2
  22. package/dist/services/codeAnalyzer.js.map +1 -1
  23. package/dist/services/intelligence/configGenerator.d.ts +28 -0
  24. package/dist/services/intelligence/configGenerator.d.ts.map +1 -0
  25. package/dist/services/intelligence/configGenerator.js +404 -0
  26. package/dist/services/intelligence/configGenerator.js.map +1 -0
  27. package/dist/services/intelligence/dependencyAdvisor.d.ts +24 -0
  28. package/dist/services/intelligence/dependencyAdvisor.d.ts.map +1 -0
  29. package/dist/services/intelligence/dependencyAdvisor.js +404 -0
  30. package/dist/services/intelligence/dependencyAdvisor.js.map +1 -0
  31. package/dist/services/intelligence/index.d.ts +12 -0
  32. package/dist/services/intelligence/index.d.ts.map +1 -0
  33. package/dist/services/intelligence/index.js +16 -0
  34. package/dist/services/intelligence/index.js.map +1 -0
  35. package/dist/services/intelligence/projectIntelligence.d.ts +26 -0
  36. package/dist/services/intelligence/projectIntelligence.d.ts.map +1 -0
  37. package/dist/services/intelligence/projectIntelligence.js +344 -0
  38. package/dist/services/intelligence/projectIntelligence.js.map +1 -0
  39. package/dist/services/intelligence/structureAnalyzer.d.ts +27 -0
  40. package/dist/services/intelligence/structureAnalyzer.d.ts.map +1 -0
  41. package/dist/services/intelligence/structureAnalyzer.js +286 -0
  42. package/dist/services/intelligence/structureAnalyzer.js.map +1 -0
  43. package/dist/services/intelligence/templates.d.ts +22 -0
  44. package/dist/services/intelligence/templates.d.ts.map +1 -0
  45. package/dist/services/intelligence/templates.js +521 -0
  46. package/dist/services/intelligence/templates.js.map +1 -0
  47. package/dist/services/intelligence/types.d.ts +222 -0
  48. package/dist/services/intelligence/types.d.ts.map +1 -0
  49. package/dist/services/intelligence/types.js +7 -0
  50. package/dist/services/intelligence/types.js.map +1 -0
  51. package/dist/services/parsers/baseParser.d.ts +44 -0
  52. package/dist/services/parsers/baseParser.d.ts.map +1 -0
  53. package/dist/services/parsers/baseParser.js +177 -0
  54. package/dist/services/parsers/baseParser.js.map +1 -0
  55. package/dist/services/parsers/goParser.d.ts +28 -0
  56. package/dist/services/parsers/goParser.d.ts.map +1 -0
  57. package/dist/services/parsers/goParser.js +590 -0
  58. package/dist/services/parsers/goParser.js.map +1 -0
  59. package/dist/services/parsers/index.d.ts +62 -0
  60. package/dist/services/parsers/index.d.ts.map +1 -0
  61. package/dist/services/parsers/index.js +121 -0
  62. package/dist/services/parsers/index.js.map +1 -0
  63. package/dist/services/parsers/pythonParser.d.ts +28 -0
  64. package/dist/services/parsers/pythonParser.d.ts.map +1 -0
  65. package/dist/services/parsers/pythonParser.js +663 -0
  66. package/dist/services/parsers/pythonParser.js.map +1 -0
  67. package/dist/services/parsers/rustParser.d.ts +28 -0
  68. package/dist/services/parsers/rustParser.d.ts.map +1 -0
  69. package/dist/services/parsers/rustParser.js +654 -0
  70. package/dist/services/parsers/rustParser.js.map +1 -0
  71. package/dist/services/parsers/types.d.ts +241 -0
  72. package/dist/services/parsers/types.d.ts.map +1 -0
  73. package/dist/services/parsers/types.js +47 -0
  74. package/dist/services/parsers/types.js.map +1 -0
  75. package/dist/tools/definitions.d.ts +87 -0
  76. package/dist/tools/definitions.d.ts.map +1 -1
  77. package/dist/tools/definitions.js +34 -0
  78. package/dist/tools/definitions.js.map +1 -1
  79. package/dist/utils/validation.d.ts +2 -2
  80. package/package.json +1 -1
@@ -0,0 +1,521 @@
1
+ /**
2
+ * Framework Templates - Optimal structure definitions per framework
3
+ * @version 3.3.0
4
+ */
5
+ /**
6
+ * Base dependencies recommended for all JavaScript/TypeScript projects
7
+ */
8
+ const JS_BASE_DEV_DEPS = [
9
+ { name: 'eslint', reason: 'Code linting and quality', category: 'linting', priority: 'high' },
10
+ { name: 'prettier', reason: 'Code formatting', category: 'dx', priority: 'high' },
11
+ { name: 'typescript', reason: 'Type safety', category: 'types', priority: 'high' }
12
+ ];
13
+ /**
14
+ * Testing dependencies
15
+ */
16
+ const TESTING_DEPS = [
17
+ { name: 'vitest', reason: 'Fast unit testing', category: 'testing', priority: 'high' },
18
+ { name: '@testing-library/react', reason: 'React component testing', category: 'testing', priority: 'medium' }
19
+ ];
20
+ /**
21
+ * ESLint base config
22
+ */
23
+ const ESLINT_CONFIG = {
24
+ type: 'eslint',
25
+ filename: 'eslint.config.js',
26
+ content: `import js from '@eslint/js';
27
+ import typescript from '@typescript-eslint/eslint-plugin';
28
+ import typescriptParser from '@typescript-eslint/parser';
29
+
30
+ export default [
31
+ js.configs.recommended,
32
+ {
33
+ files: ['**/*.ts', '**/*.tsx'],
34
+ languageOptions: {
35
+ parser: typescriptParser,
36
+ parserOptions: {
37
+ ecmaVersion: 'latest',
38
+ sourceType: 'module'
39
+ }
40
+ },
41
+ plugins: {
42
+ '@typescript-eslint': typescript
43
+ },
44
+ rules: {
45
+ '@typescript-eslint/no-unused-vars': 'error',
46
+ '@typescript-eslint/no-explicit-any': 'warn',
47
+ 'no-console': 'warn'
48
+ }
49
+ }
50
+ ];`,
51
+ description: 'Modern flat ESLint config with TypeScript support',
52
+ customizations: [
53
+ {
54
+ key: 'strictness',
55
+ description: 'How strict should linting be?',
56
+ options: [
57
+ { value: 'relaxed', label: 'Relaxed', description: 'Minimal rules, mostly errors only' },
58
+ { value: 'recommended', label: 'Recommended', description: 'Balanced rules for most projects' },
59
+ { value: 'strict', label: 'Strict', description: 'Maximum type safety and best practices' }
60
+ ],
61
+ default: 'recommended'
62
+ }
63
+ ]
64
+ };
65
+ /**
66
+ * Prettier config
67
+ */
68
+ const PRETTIER_CONFIG = {
69
+ type: 'prettier',
70
+ filename: '.prettierrc',
71
+ content: JSON.stringify({
72
+ semi: true,
73
+ singleQuote: true,
74
+ tabWidth: 2,
75
+ trailingComma: 'es5',
76
+ printWidth: 100,
77
+ bracketSpacing: true
78
+ }, null, 2),
79
+ description: 'Prettier configuration for consistent code formatting',
80
+ customizations: [
81
+ {
82
+ key: 'semi',
83
+ description: 'Use semicolons?',
84
+ options: [
85
+ { value: true, label: 'Yes', description: 'Always use semicolons' },
86
+ { value: false, label: 'No', description: 'Omit semicolons (ASI)' }
87
+ ],
88
+ default: true
89
+ },
90
+ {
91
+ key: 'singleQuote',
92
+ description: 'Use single quotes?',
93
+ options: [
94
+ { value: true, label: 'Single', description: 'Use single quotes' },
95
+ { value: false, label: 'Double', description: 'Use double quotes' }
96
+ ],
97
+ default: true
98
+ }
99
+ ]
100
+ };
101
+ /**
102
+ * TypeScript strict config
103
+ */
104
+ const TSCONFIG_STRICT = {
105
+ type: 'tsconfig',
106
+ filename: 'tsconfig.json',
107
+ content: JSON.stringify({
108
+ compilerOptions: {
109
+ target: 'ES2022',
110
+ module: 'NodeNext',
111
+ moduleResolution: 'NodeNext',
112
+ lib: ['ES2022'],
113
+ strict: true,
114
+ esModuleInterop: true,
115
+ skipLibCheck: true,
116
+ forceConsistentCasingInFileNames: true,
117
+ declaration: true,
118
+ declarationMap: true,
119
+ sourceMap: true,
120
+ outDir: './dist',
121
+ rootDir: './src',
122
+ noUnusedLocals: true,
123
+ noUnusedParameters: true,
124
+ noImplicitReturns: true,
125
+ noFallthroughCasesInSwitch: true,
126
+ noUncheckedIndexedAccess: true
127
+ },
128
+ include: ['src/**/*'],
129
+ exclude: ['node_modules', 'dist']
130
+ }, null, 2),
131
+ description: 'Strict TypeScript configuration for maximum type safety',
132
+ customizations: [
133
+ {
134
+ key: 'strict',
135
+ description: 'Enable all strict type checking options?',
136
+ options: [
137
+ { value: true, label: 'Yes', description: 'Maximum type safety' },
138
+ { value: false, label: 'No', description: 'Relaxed type checking' }
139
+ ],
140
+ default: true
141
+ }
142
+ ]
143
+ };
144
+ /**
145
+ * EditorConfig
146
+ */
147
+ const EDITORCONFIG = {
148
+ type: 'editorconfig',
149
+ filename: '.editorconfig',
150
+ content: `# EditorConfig helps maintain consistent coding styles
151
+ root = true
152
+
153
+ [*]
154
+ indent_style = space
155
+ indent_size = 2
156
+ end_of_line = lf
157
+ charset = utf-8
158
+ trim_trailing_whitespace = true
159
+ insert_final_newline = true
160
+
161
+ [*.md]
162
+ trim_trailing_whitespace = false
163
+
164
+ [*.{yaml,yml}]
165
+ indent_size = 2
166
+
167
+ [Makefile]
168
+ indent_style = tab
169
+ `,
170
+ description: 'EditorConfig for consistent editor settings',
171
+ customizations: []
172
+ };
173
+ /**
174
+ * Gitignore for Node.js projects
175
+ */
176
+ const GITIGNORE_NODE = {
177
+ type: 'gitignore',
178
+ filename: '.gitignore',
179
+ content: `# Dependencies
180
+ node_modules/
181
+ .pnp
182
+ .pnp.js
183
+
184
+ # Build outputs
185
+ dist/
186
+ build/
187
+ out/
188
+ .next/
189
+ .nuxt/
190
+
191
+ # Testing
192
+ coverage/
193
+ .nyc_output/
194
+
195
+ # Environment
196
+ .env
197
+ .env.local
198
+ .env.*.local
199
+
200
+ # Logs
201
+ logs/
202
+ *.log
203
+ npm-debug.log*
204
+ yarn-debug.log*
205
+ yarn-error.log*
206
+
207
+ # Editor
208
+ .idea/
209
+ .vscode/
210
+ *.swp
211
+ *.swo
212
+ .DS_Store
213
+
214
+ # Cache
215
+ .cache/
216
+ .eslintcache
217
+ .prettiercache
218
+ *.tsbuildinfo
219
+ `,
220
+ description: 'Comprehensive .gitignore for Node.js projects',
221
+ customizations: []
222
+ };
223
+ /**
224
+ * Framework template definitions
225
+ */
226
+ export const FRAMEWORK_TEMPLATES = {
227
+ 'react-typescript': {
228
+ projectType: 'react-typescript',
229
+ name: 'React TypeScript',
230
+ requiredDirs: ['src', 'src/components', 'public'],
231
+ optionalDirs: [
232
+ 'src/hooks',
233
+ 'src/utils',
234
+ 'src/types',
235
+ 'src/services',
236
+ 'src/contexts',
237
+ 'src/styles',
238
+ 'tests'
239
+ ],
240
+ requiredFiles: ['package.json', 'tsconfig.json', 'src/index.tsx'],
241
+ optionalFiles: [
242
+ '.eslintrc.js',
243
+ '.prettierrc',
244
+ '.editorconfig',
245
+ '.gitignore',
246
+ 'README.md',
247
+ 'src/App.tsx',
248
+ 'src/types/index.ts'
249
+ ],
250
+ recommendedDependencies: [
251
+ ...JS_BASE_DEV_DEPS,
252
+ ...TESTING_DEPS,
253
+ { name: 'react', reason: 'Core React library', category: 'dx', priority: 'high' },
254
+ { name: 'react-dom', reason: 'React DOM rendering', category: 'dx', priority: 'high' },
255
+ { name: '@types/react', reason: 'React type definitions', category: 'types', priority: 'high' },
256
+ { name: '@types/react-dom', reason: 'React DOM types', category: 'types', priority: 'high' }
257
+ ],
258
+ configTemplates: [ESLINT_CONFIG, PRETTIER_CONFIG, TSCONFIG_STRICT, EDITORCONFIG, GITIGNORE_NODE]
259
+ },
260
+ 'nextjs': {
261
+ projectType: 'nextjs',
262
+ name: 'Next.js',
263
+ requiredDirs: ['app', 'public'],
264
+ optionalDirs: [
265
+ 'app/api',
266
+ 'app/(routes)',
267
+ 'components',
268
+ 'lib',
269
+ 'hooks',
270
+ 'types',
271
+ 'styles',
272
+ 'tests'
273
+ ],
274
+ requiredFiles: ['package.json', 'next.config.js', 'tsconfig.json'],
275
+ optionalFiles: [
276
+ '.eslintrc.json',
277
+ '.prettierrc',
278
+ '.env.local',
279
+ 'middleware.ts',
280
+ 'tailwind.config.js'
281
+ ],
282
+ recommendedDependencies: [
283
+ ...JS_BASE_DEV_DEPS,
284
+ { name: 'next', reason: 'Next.js framework', category: 'dx', priority: 'high' },
285
+ { name: '@next/eslint-plugin-next', reason: 'Next.js ESLint rules', category: 'linting', priority: 'high' },
286
+ { name: 'tailwindcss', reason: 'Utility-first CSS', category: 'dx', priority: 'medium' }
287
+ ],
288
+ configTemplates: [ESLINT_CONFIG, PRETTIER_CONFIG, TSCONFIG_STRICT, EDITORCONFIG]
289
+ },
290
+ 'nestjs': {
291
+ projectType: 'nestjs',
292
+ name: 'NestJS',
293
+ requiredDirs: ['src', 'src/modules', 'test'],
294
+ optionalDirs: [
295
+ 'src/common',
296
+ 'src/config',
297
+ 'src/guards',
298
+ 'src/interceptors',
299
+ 'src/filters',
300
+ 'src/pipes',
301
+ 'src/decorators'
302
+ ],
303
+ requiredFiles: ['package.json', 'tsconfig.json', 'nest-cli.json', 'src/main.ts', 'src/app.module.ts'],
304
+ optionalFiles: [
305
+ '.eslintrc.js',
306
+ '.prettierrc',
307
+ 'test/jest-e2e.json',
308
+ 'src/app.controller.ts',
309
+ 'src/app.service.ts'
310
+ ],
311
+ recommendedDependencies: [
312
+ ...JS_BASE_DEV_DEPS,
313
+ { name: '@nestjs/core', reason: 'NestJS core', category: 'dx', priority: 'high' },
314
+ { name: '@nestjs/common', reason: 'NestJS common utilities', category: 'dx', priority: 'high' },
315
+ { name: '@nestjs/testing', reason: 'NestJS testing utilities', category: 'testing', priority: 'high' },
316
+ { name: 'class-validator', reason: 'DTO validation', category: 'security', priority: 'high' },
317
+ { name: 'class-transformer', reason: 'Object transformation', category: 'dx', priority: 'medium' }
318
+ ],
319
+ configTemplates: [ESLINT_CONFIG, PRETTIER_CONFIG, TSCONFIG_STRICT, EDITORCONFIG]
320
+ },
321
+ 'express': {
322
+ projectType: 'express',
323
+ name: 'Express.js',
324
+ requiredDirs: ['src', 'src/routes', 'src/middleware'],
325
+ optionalDirs: [
326
+ 'src/controllers',
327
+ 'src/services',
328
+ 'src/models',
329
+ 'src/utils',
330
+ 'src/config',
331
+ 'tests'
332
+ ],
333
+ requiredFiles: ['package.json', 'src/index.ts'],
334
+ optionalFiles: [
335
+ 'tsconfig.json',
336
+ '.eslintrc.js',
337
+ '.env',
338
+ 'src/app.ts',
339
+ 'Dockerfile'
340
+ ],
341
+ recommendedDependencies: [
342
+ ...JS_BASE_DEV_DEPS,
343
+ { name: 'express', reason: 'Express framework', category: 'dx', priority: 'high' },
344
+ { name: '@types/express', reason: 'Express types', category: 'types', priority: 'high' },
345
+ { name: 'helmet', reason: 'Security headers', category: 'security', priority: 'high' },
346
+ { name: 'cors', reason: 'CORS support', category: 'security', priority: 'high' },
347
+ { name: 'express-rate-limit', reason: 'Rate limiting', category: 'security', priority: 'medium' }
348
+ ],
349
+ configTemplates: [ESLINT_CONFIG, PRETTIER_CONFIG, TSCONFIG_STRICT, EDITORCONFIG, GITIGNORE_NODE]
350
+ },
351
+ 'python-fastapi': {
352
+ projectType: 'python-fastapi',
353
+ name: 'FastAPI',
354
+ requiredDirs: ['app', 'app/api', 'app/models', 'tests'],
355
+ optionalDirs: [
356
+ 'app/core',
357
+ 'app/schemas',
358
+ 'app/services',
359
+ 'app/db',
360
+ 'app/utils',
361
+ 'alembic'
362
+ ],
363
+ requiredFiles: ['pyproject.toml', 'app/main.py'],
364
+ optionalFiles: [
365
+ 'requirements.txt',
366
+ '.env',
367
+ 'Dockerfile',
368
+ 'app/__init__.py',
369
+ 'app/api/__init__.py',
370
+ 'app/api/routes.py',
371
+ 'tests/conftest.py'
372
+ ],
373
+ recommendedDependencies: [
374
+ { name: 'fastapi', reason: 'FastAPI framework', category: 'dx', priority: 'high' },
375
+ { name: 'uvicorn', reason: 'ASGI server', category: 'dx', priority: 'high' },
376
+ { name: 'pydantic', reason: 'Data validation', category: 'types', priority: 'high' },
377
+ { name: 'pytest', reason: 'Testing framework', category: 'testing', priority: 'high' },
378
+ { name: 'black', reason: 'Code formatting', category: 'dx', priority: 'high' },
379
+ { name: 'ruff', reason: 'Fast Python linter', category: 'linting', priority: 'high' },
380
+ { name: 'mypy', reason: 'Type checking', category: 'types', priority: 'medium' }
381
+ ],
382
+ configTemplates: []
383
+ },
384
+ 'python-django': {
385
+ projectType: 'python-django',
386
+ name: 'Django',
387
+ requiredDirs: ['project_name', 'apps', 'templates', 'static'],
388
+ optionalDirs: [
389
+ 'project_name/settings',
390
+ 'media',
391
+ 'locale',
392
+ 'tests',
393
+ 'docs'
394
+ ],
395
+ requiredFiles: ['manage.py', 'requirements.txt'],
396
+ optionalFiles: [
397
+ 'pyproject.toml',
398
+ '.env',
399
+ 'Dockerfile',
400
+ 'docker-compose.yml',
401
+ 'pytest.ini'
402
+ ],
403
+ recommendedDependencies: [
404
+ { name: 'django', reason: 'Django framework', category: 'dx', priority: 'high' },
405
+ { name: 'djangorestframework', reason: 'REST API support', category: 'dx', priority: 'high' },
406
+ { name: 'django-cors-headers', reason: 'CORS support', category: 'security', priority: 'high' },
407
+ { name: 'pytest-django', reason: 'Django testing', category: 'testing', priority: 'high' },
408
+ { name: 'black', reason: 'Code formatting', category: 'dx', priority: 'high' },
409
+ { name: 'ruff', reason: 'Fast Python linter', category: 'linting', priority: 'high' }
410
+ ],
411
+ configTemplates: []
412
+ },
413
+ 'golang': {
414
+ projectType: 'golang',
415
+ name: 'Go',
416
+ requiredDirs: ['cmd', 'internal', 'pkg'],
417
+ optionalDirs: [
418
+ 'api',
419
+ 'configs',
420
+ 'scripts',
421
+ 'test',
422
+ 'docs',
423
+ 'internal/handlers',
424
+ 'internal/services',
425
+ 'internal/models'
426
+ ],
427
+ requiredFiles: ['go.mod', 'main.go'],
428
+ optionalFiles: [
429
+ 'go.sum',
430
+ 'Makefile',
431
+ 'Dockerfile',
432
+ '.golangci.yml',
433
+ 'README.md'
434
+ ],
435
+ recommendedDependencies: [],
436
+ configTemplates: []
437
+ },
438
+ 'rust': {
439
+ projectType: 'rust',
440
+ name: 'Rust',
441
+ requiredDirs: ['src'],
442
+ optionalDirs: [
443
+ 'src/bin',
444
+ 'src/lib',
445
+ 'tests',
446
+ 'benches',
447
+ 'examples',
448
+ 'docs'
449
+ ],
450
+ requiredFiles: ['Cargo.toml', 'src/main.rs'],
451
+ optionalFiles: [
452
+ 'Cargo.lock',
453
+ '.rustfmt.toml',
454
+ 'clippy.toml',
455
+ 'README.md',
456
+ '.github/workflows/ci.yml'
457
+ ],
458
+ recommendedDependencies: [
459
+ { name: 'serde', reason: 'Serialization', category: 'dx', priority: 'high' },
460
+ { name: 'tokio', reason: 'Async runtime', category: 'performance', priority: 'high' },
461
+ { name: 'anyhow', reason: 'Error handling', category: 'dx', priority: 'medium' },
462
+ { name: 'thiserror', reason: 'Custom errors', category: 'dx', priority: 'medium' }
463
+ ],
464
+ configTemplates: []
465
+ },
466
+ 'vue-node': {
467
+ projectType: 'vue-node',
468
+ name: 'Vue.js',
469
+ requiredDirs: ['src', 'src/components', 'public'],
470
+ optionalDirs: [
471
+ 'src/views',
472
+ 'src/stores',
473
+ 'src/composables',
474
+ 'src/utils',
475
+ 'src/types',
476
+ 'src/assets',
477
+ 'tests'
478
+ ],
479
+ requiredFiles: ['package.json', 'vite.config.ts', 'src/main.ts', 'src/App.vue'],
480
+ optionalFiles: [
481
+ 'tsconfig.json',
482
+ '.eslintrc.js',
483
+ 'env.d.ts',
484
+ 'src/router/index.ts'
485
+ ],
486
+ recommendedDependencies: [
487
+ ...JS_BASE_DEV_DEPS,
488
+ { name: 'vue', reason: 'Vue.js framework', category: 'dx', priority: 'high' },
489
+ { name: 'vue-router', reason: 'Vue Router', category: 'dx', priority: 'high' },
490
+ { name: 'pinia', reason: 'State management', category: 'dx', priority: 'medium' },
491
+ { name: '@vitejs/plugin-vue', reason: 'Vite Vue plugin', category: 'dx', priority: 'high' }
492
+ ],
493
+ configTemplates: [ESLINT_CONFIG, PRETTIER_CONFIG, TSCONFIG_STRICT, EDITORCONFIG]
494
+ }
495
+ };
496
+ /**
497
+ * Get template for a project type
498
+ */
499
+ export function getFrameworkTemplate(projectType) {
500
+ return FRAMEWORK_TEMPLATES[projectType];
501
+ }
502
+ /**
503
+ * Get all available templates
504
+ */
505
+ export function getAllTemplates() {
506
+ return Object.values(FRAMEWORK_TEMPLATES);
507
+ }
508
+ /**
509
+ * Get config template by type
510
+ */
511
+ export function getConfigTemplate(configType) {
512
+ const templates = [
513
+ ESLINT_CONFIG,
514
+ PRETTIER_CONFIG,
515
+ TSCONFIG_STRICT,
516
+ EDITORCONFIG,
517
+ GITIGNORE_NODE
518
+ ];
519
+ return templates.find(t => t.type === configType);
520
+ }
521
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/services/intelligence/templates.ts"],"names":[],"mappings":"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"}