mta-mcp 1.9.0 → 2.2.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 (117) hide show
  1. package/README.md +140 -2
  2. package/build/core/analyzers/eslint.d.ts +51 -0
  3. package/build/core/analyzers/eslint.d.ts.map +1 -0
  4. package/build/core/analyzers/eslint.js +259 -0
  5. package/build/core/analyzers/eslint.js.map +1 -0
  6. package/build/core/analyzers/index.d.ts +9 -0
  7. package/build/core/analyzers/index.d.ts.map +1 -0
  8. package/build/core/analyzers/index.js +9 -0
  9. package/build/core/analyzers/index.js.map +1 -0
  10. package/build/core/analyzers/registry.d.ts +59 -0
  11. package/build/core/analyzers/registry.d.ts.map +1 -0
  12. package/build/core/analyzers/registry.js +241 -0
  13. package/build/core/analyzers/registry.js.map +1 -0
  14. package/build/core/analyzers/tsconfig.d.ts +45 -0
  15. package/build/core/analyzers/tsconfig.d.ts.map +1 -0
  16. package/build/core/analyzers/tsconfig.js +197 -0
  17. package/build/core/analyzers/tsconfig.js.map +1 -0
  18. package/build/core/analyzers/types.d.ts +176 -0
  19. package/build/core/analyzers/types.d.ts.map +1 -0
  20. package/build/core/analyzers/types.js +39 -0
  21. package/build/core/analyzers/types.js.map +1 -0
  22. package/build/core/analyzers/vite.d.ts +46 -0
  23. package/build/core/analyzers/vite.d.ts.map +1 -0
  24. package/build/core/analyzers/vite.js +211 -0
  25. package/build/core/analyzers/vite.js.map +1 -0
  26. package/build/core/enhancedProjectAnalyzer.d.ts +102 -0
  27. package/build/core/enhancedProjectAnalyzer.d.ts.map +1 -0
  28. package/build/core/enhancedProjectAnalyzer.js +312 -0
  29. package/build/core/enhancedProjectAnalyzer.js.map +1 -0
  30. package/build/core/errors.d.ts +84 -0
  31. package/build/core/errors.d.ts.map +1 -0
  32. package/build/core/errors.js +151 -0
  33. package/build/core/errors.js.map +1 -0
  34. package/build/core/index.d.ts +11 -0
  35. package/build/core/index.d.ts.map +1 -0
  36. package/build/core/index.js +14 -0
  37. package/build/core/index.js.map +1 -0
  38. package/build/core/logger.d.ts +91 -0
  39. package/build/core/logger.d.ts.map +1 -0
  40. package/build/core/logger.js +164 -0
  41. package/build/core/logger.js.map +1 -0
  42. package/build/core/mappings/index.d.ts +5 -0
  43. package/build/core/mappings/index.d.ts.map +1 -0
  44. package/build/core/mappings/index.js +5 -0
  45. package/build/core/mappings/index.js.map +1 -0
  46. package/build/core/mappings/scenarioMappings.d.ts +51 -0
  47. package/build/core/mappings/scenarioMappings.d.ts.map +1 -0
  48. package/build/core/mappings/scenarioMappings.js +105 -0
  49. package/build/core/mappings/scenarioMappings.js.map +1 -0
  50. package/build/core/matching/index.d.ts +8 -0
  51. package/build/core/matching/index.d.ts.map +1 -0
  52. package/build/core/matching/index.js +8 -0
  53. package/build/core/matching/index.js.map +1 -0
  54. package/build/core/matching/intentAnalyzer.d.ts +78 -0
  55. package/build/core/matching/intentAnalyzer.d.ts.map +1 -0
  56. package/build/core/matching/intentAnalyzer.js +255 -0
  57. package/build/core/matching/intentAnalyzer.js.map +1 -0
  58. package/build/core/matching/standardMatcher.d.ts +101 -0
  59. package/build/core/matching/standardMatcher.d.ts.map +1 -0
  60. package/build/core/matching/standardMatcher.js +299 -0
  61. package/build/core/matching/standardMatcher.js.map +1 -0
  62. package/build/core/matching/weights.d.ts +64 -0
  63. package/build/core/matching/weights.d.ts.map +1 -0
  64. package/build/core/matching/weights.js +334 -0
  65. package/build/core/matching/weights.js.map +1 -0
  66. package/build/core/scenarioDetector.d.ts +2 -0
  67. package/build/core/scenarioDetector.d.ts.map +1 -0
  68. package/build/core/scenarioDetector.js +2 -0
  69. package/build/core/scenarioDetector.js.map +1 -0
  70. package/build/core/templates/discovery.d.ts +41 -0
  71. package/build/core/templates/discovery.d.ts.map +1 -0
  72. package/build/core/templates/discovery.js +262 -0
  73. package/build/core/templates/discovery.js.map +1 -0
  74. package/build/core/templates/types.d.ts +80 -0
  75. package/build/core/templates/types.d.ts.map +1 -0
  76. package/build/core/templates/types.js +10 -0
  77. package/build/core/templates/types.js.map +1 -0
  78. package/build/core/types.d.ts +2 -0
  79. package/build/core/types.d.ts.map +1 -1
  80. package/build/core/types.js +4 -3
  81. package/build/core/types.js.map +1 -1
  82. package/build/index.js +136 -23
  83. package/build/index.js.map +1 -1
  84. package/build/tools/getStandardById.d.ts +42 -0
  85. package/build/tools/getStandardById.d.ts.map +1 -0
  86. package/build/tools/getStandardById.js +289 -0
  87. package/build/tools/getStandardById.js.map +1 -0
  88. package/build/tools/getTemplate.d.ts +37 -0
  89. package/build/tools/getTemplate.d.ts.map +1 -0
  90. package/build/tools/getTemplate.js +78 -0
  91. package/build/tools/getTemplate.js.map +1 -0
  92. package/build/tools/listTemplates.d.ts +41 -0
  93. package/build/tools/listTemplates.d.ts.map +1 -0
  94. package/build/tools/listTemplates.js +81 -0
  95. package/build/tools/listTemplates.js.map +1 -0
  96. package/build/tools/queryMappings.d.ts +55 -0
  97. package/build/tools/queryMappings.d.ts.map +1 -0
  98. package/build/tools/queryMappings.js +119 -0
  99. package/build/tools/queryMappings.js.map +1 -0
  100. package/package.json +25 -8
  101. package/src/core/autoInitializer.ts +0 -170
  102. package/src/core/codeValidator.ts +0 -357
  103. package/src/core/githubClient.ts +0 -64
  104. package/src/core/i18nDetector.ts +0 -357
  105. package/src/core/smartAgentMatcher.ts +0 -490
  106. package/src/core/standardsManager.ts +0 -769
  107. package/src/core/types.ts +0 -72
  108. package/src/index.ts +0 -519
  109. package/src/tools/analyzeProject.ts +0 -94
  110. package/src/tools/autoSetup.ts +0 -312
  111. package/src/tools/generateConfig.ts +0 -429
  112. package/src/tools/getCompactStandards.ts +0 -413
  113. package/src/tools/getSmartStandards.ts +0 -225
  114. package/src/tools/healthCheck.ts +0 -261
  115. package/src/tools/listAgents.ts +0 -91
  116. package/src/tools/matchAgents.ts +0 -80
  117. package/src/tools/usePreset.ts +0 -180
package/README.md CHANGED
@@ -1,11 +1,25 @@
1
1
  # Copilot Prompts MCP Server
2
2
 
3
- [![MCP](https://img.shields.io/badge/MCP-1.0-blue)](https://modelcontextprotocol.io)
3
+ [![MCP](https://img.shields.io/badge/MCP-2.0-blue)](https://modelcontextprotocol.io)
4
4
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue)](https://www.typescriptlang.org/)
5
5
  [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
6
6
 
7
7
  智能分析项目并自动匹配 GitHub Copilot Agents 的 MCP 服务器。
8
8
 
9
+ ## 🧠 v2.0 设计理念
10
+
11
+ > **MCP = 信息提供者,AI = 决策者**
12
+
13
+ v2.0 版本进行了重大设计调整:
14
+
15
+ | 错误做法 | 正确做法 |
16
+ |---------|---------|
17
+ | MCP 分析意图 → 计算权重 → 匹配规范 | AI 知道需要什么 → 调用 MCP → MCP 快速返回数据 |
18
+ | MCP 返回"推荐规范" | MCP 返回"可用信息供参考" |
19
+ | 复杂的权重算法 | 简单的映射表查询 |
20
+
21
+ **核心思想**:AI 比 MCP 更擅长理解用户意图和做决策,MCP 只需要提供高效的数据访问能力。
22
+
9
23
  ## 🎯 功能特性
10
24
 
11
25
  ### 核心功能
@@ -15,7 +29,12 @@
15
29
  - **模块化编码规范** - MCP Resources 按需加载,节省 50-70% tokens
16
30
  - **跨平台支持** - 可用于 Claude Desktop、VS Code 等任何 MCP 客户端
17
31
 
18
- ### Phase 4: 傻瓜模式 🎉 NEW
32
+ ### v2.0 新增:直接访问工具 🆕
33
+ - **📖 `get_standard_by_id`** - AI 知道需要什么规范时,直接按 ID 获取
34
+ - **🗺️ `query_mappings`** - 查询场景-规范映射关系,AI 自行决策
35
+ - **📋 `list_scenarios`** - 列出所有可用场景名称
36
+
37
+ ### Phase 4: 傻瓜模式 🎉
19
38
  - **🎯 一键自动配置** - `auto_setup` 工具,30 秒完成 VS Code 配置
20
39
  - **🏥 健康检查诊断** - `health_check` 工具,自动诊断并给出修复建议
21
40
  - **🧠 零参数智能推荐** - `get_smart_standards` 工具,自动检测上下文
@@ -84,6 +103,125 @@ Claude: [调用 generate_config 工具]
84
103
 
85
104
  ## 🛠️ 可用工具
86
105
 
106
+ ### 📖 v2.0 直接访问工具(推荐 AI 使用)
107
+
108
+ > 这些工具遵循"MCP = 信息提供者"理念,AI 直接调用获取需要的数据。
109
+
110
+ #### 1. `get_standard_by_id` - 按 ID 直接获取规范 ⭐
111
+
112
+ AI 知道需要什么规范时,直接按 ID 获取,最简洁高效。
113
+
114
+ **参数**:
115
+ ```typescript
116
+ {
117
+ id?: string, // 单个规范 ID
118
+ ids?: string[], // 多个规范 ID(批量获取)
119
+ mode?: 'summary' | 'key-rules' | 'full' // 加载模式,默认 key-rules
120
+ }
121
+ ```
122
+
123
+ **使用示例**:
124
+ ```
125
+ // 获取单个规范
126
+ get_standard_by_id({ id: 'vue3-composition', mode: 'key-rules' })
127
+
128
+ // 批量获取
129
+ get_standard_by_id({ ids: ['vue3-composition', 'element-plus'], mode: 'summary' })
130
+ ```
131
+
132
+ #### 2. `query_mappings` - 查询场景-规范映射
133
+
134
+ 提供映射信息给 AI 参考,AI 自己决定使用哪些规范。
135
+
136
+ **参数**:
137
+ ```typescript
138
+ {
139
+ scenario?: string, // 场景名称
140
+ fileType?: string, // 文件类型
141
+ imports?: string[], // 导入的包
142
+ listAll?: boolean // 列出所有映射
143
+ }
144
+ ```
145
+
146
+ **使用示例**:
147
+ ```
148
+ // 查询场景对应的规范
149
+ query_mappings({ scenario: 'vue3-form' })
150
+
151
+ // 查询所有映射关系
152
+ query_mappings({ listAll: true })
153
+ ```
154
+
155
+ #### 3. `list_scenarios` - 列出所有场景
156
+
157
+ 获取所有可用场景名称,用于 `use_preset` 或 `query_mappings`。
158
+
159
+ **参数**: 无
160
+
161
+ ---
162
+
163
+ ### 📦 v2.1 模板系统工具
164
+
165
+ > 模板是可复用的代码片段,AI 可根据需要选择并应用到目标项目。
166
+
167
+ #### 1. `list_templates` - 列出可用模板
168
+
169
+ 列出所有可用的代码模板,支持按类型、框架筛选。
170
+
171
+ **参数**:
172
+ ```typescript
173
+ {
174
+ type?: 'api-layer' | 'component' | 'store' | 'composable' | 'config' | 'types',
175
+ framework?: string, // 如 'vue', 'react'
176
+ search?: string // 搜索关键词
177
+ }
178
+ ```
179
+
180
+ **使用示例**:
181
+ ```
182
+ // 列出所有模板
183
+ list_templates({})
184
+
185
+ // 按类型筛选
186
+ list_templates({ type: 'api-layer' })
187
+
188
+ // 搜索
189
+ list_templates({ search: 'axios' })
190
+ ```
191
+
192
+ #### 2. `get_template` - 获取模板详情
193
+
194
+ 获取模板的配置说明和文件内容,AI 可根据说明自行修改并应用。
195
+
196
+ **参数**:
197
+ ```typescript
198
+ {
199
+ id: string, // 模板 ID(如 'vue/api-layer')
200
+ includeFiles?: boolean, // 是否包含文件内容(默认 false)
201
+ files?: string[] // 指定获取的文件列表(可选)
202
+ }
203
+ ```
204
+
205
+ **使用示例**:
206
+ ```
207
+ // 获取配置说明(节省 token)
208
+ get_template({ id: 'vue/api-layer' })
209
+
210
+ // 获取完整模板(含所有文件)
211
+ get_template({ id: 'vue/api-layer', includeFiles: true })
212
+
213
+ // 获取特定文件
214
+ get_template({ id: 'vue/api-layer', files: ['request.ts'] })
215
+ ```
216
+
217
+ **AI 工作流**:
218
+ 1. 调用 `list_templates` 了解可用模板
219
+ 2. 调用 `get_template` 获取模板配置说明
220
+ 3. 根据目标项目情况决定如何修改模板
221
+ 4. 将模板文件复制到目标项目并适配
222
+
223
+ ---
224
+
87
225
  ### 🎯 Phase 4: 傻瓜模式工具(推荐)
88
226
 
89
227
  #### 1. `auto_setup` - 一键自动配置 ⭐
@@ -0,0 +1,51 @@
1
+ /**
2
+ * ESLint 配置文件分析器
3
+ *
4
+ * 解析 ESLint 配置文件,提取:
5
+ * - 使用的预设(Vue, React, TypeScript 等)
6
+ * - 插件配置
7
+ * - 规则偏好
8
+ */
9
+ import { ConfigAnalyzer, AnalyzerResult } from './types.js';
10
+ /**
11
+ * ESLint 配置分析器
12
+ */
13
+ export declare class EslintConfigAnalyzer implements ConfigAnalyzer {
14
+ readonly name = "EslintConfigAnalyzer";
15
+ readonly supportedFiles: string[];
16
+ private readonly PRESET_MAPPINGS;
17
+ private readonly PLUGIN_MAPPINGS;
18
+ /**
19
+ * 检查是否支持指定文件
20
+ */
21
+ supports(fileName: string): boolean;
22
+ /**
23
+ * 分析 ESLint 配置文件
24
+ */
25
+ analyze(filePath: string, content?: string): Promise<AnalyzerResult>;
26
+ /**
27
+ * 分析 JSON 格式配置
28
+ */
29
+ private analyzeJsonConfig;
30
+ /**
31
+ * 分析 JS 格式配置
32
+ */
33
+ private analyzeJsConfig;
34
+ /**
35
+ * 分析文本格式配置(通用)
36
+ */
37
+ private analyzeTextConfig;
38
+ /**
39
+ * 分析 extends 配置
40
+ */
41
+ private analyzeExtends;
42
+ /**
43
+ * 分析 plugins 配置
44
+ */
45
+ private analyzePlugins;
46
+ /**
47
+ * 分析 rules 配置
48
+ */
49
+ private analyzeRules;
50
+ }
51
+ //# sourceMappingURL=eslint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../../../src/core/analyzers/eslint.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,cAAc,EAAE,cAAc,EAA2B,MAAM,YAAY,CAAC;AAErF;;GAEG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IACvD,QAAQ,CAAC,IAAI,0BAA0B;IACvC,QAAQ,CAAC,cAAc,WASrB;IAGF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAa9B;IAGF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAU9B;IAEF;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAyC1E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAoDvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,YAAY;CA0BvB"}
@@ -0,0 +1,259 @@
1
+ /**
2
+ * ESLint 配置文件分析器
3
+ *
4
+ * 解析 ESLint 配置文件,提取:
5
+ * - 使用的预设(Vue, React, TypeScript 等)
6
+ * - 插件配置
7
+ * - 规则偏好
8
+ */
9
+ import * as fs from 'fs';
10
+ /**
11
+ * ESLint 配置分析器
12
+ */
13
+ export class EslintConfigAnalyzer {
14
+ name = 'EslintConfigAnalyzer';
15
+ supportedFiles = [
16
+ '.eslintrc.js',
17
+ '.eslintrc.cjs',
18
+ '.eslintrc.json',
19
+ '.eslintrc.yaml',
20
+ '.eslintrc.yml',
21
+ 'eslint.config.js',
22
+ 'eslint.config.mjs',
23
+ 'eslint.config.cjs'
24
+ ];
25
+ // 预设到框架的映射
26
+ PRESET_MAPPINGS = {
27
+ 'plugin:vue/vue3-recommended': { type: 'framework', name: 'Vue 3' },
28
+ 'plugin:vue/vue3-essential': { type: 'framework', name: 'Vue 3' },
29
+ 'plugin:vue/vue3-strongly-recommended': { type: 'framework', name: 'Vue 3' },
30
+ 'plugin:vue/essential': { type: 'framework', name: 'Vue 2' },
31
+ 'plugin:vue/recommended': { type: 'framework', name: 'Vue 2' },
32
+ 'plugin:react/recommended': { type: 'framework', name: 'React' },
33
+ 'plugin:react-hooks/recommended': { type: 'tool', name: 'React Hooks' },
34
+ '@typescript-eslint/recommended': { type: 'tool', name: 'TypeScript ESLint' },
35
+ 'plugin:@typescript-eslint/recommended': { type: 'tool', name: 'TypeScript ESLint' },
36
+ 'plugin:prettier/recommended': { type: 'tool', name: 'Prettier' },
37
+ 'plugin:nuxt/recommended': { type: 'framework', name: 'Nuxt.js' },
38
+ 'plugin:tailwindcss/recommended': { type: 'tool', name: 'Tailwind CSS' },
39
+ };
40
+ // 插件到工具的映射
41
+ PLUGIN_MAPPINGS = {
42
+ '@typescript-eslint': 'TypeScript ESLint',
43
+ 'vue': 'Vue ESLint',
44
+ 'react': 'React ESLint',
45
+ 'react-hooks': 'React Hooks',
46
+ 'prettier': 'Prettier',
47
+ 'import': 'Import Sorting',
48
+ 'unused-imports': 'Unused Imports',
49
+ 'tailwindcss': 'Tailwind CSS',
50
+ 'i18n': 'i18n Linting',
51
+ };
52
+ /**
53
+ * 检查是否支持指定文件
54
+ */
55
+ supports(fileName) {
56
+ return this.supportedFiles.includes(fileName);
57
+ }
58
+ /**
59
+ * 分析 ESLint 配置文件
60
+ */
61
+ async analyze(filePath, content) {
62
+ const startTime = Date.now();
63
+ try {
64
+ // 读取文件内容
65
+ const fileContent = content ?? fs.readFileSync(filePath, 'utf-8');
66
+ const features = {
67
+ tools: ['ESLint'],
68
+ keywords: []
69
+ };
70
+ // 根据文件类型选择分析方法
71
+ if (filePath.endsWith('.json')) {
72
+ this.analyzeJsonConfig(fileContent, features);
73
+ }
74
+ else if (filePath.endsWith('.yaml') || filePath.endsWith('.yml')) {
75
+ // YAML 文件简单分析
76
+ this.analyzeTextConfig(fileContent, features);
77
+ }
78
+ else {
79
+ // JS/CJS/MJS 文件
80
+ this.analyzeJsConfig(fileContent, features);
81
+ }
82
+ return {
83
+ features,
84
+ confidence: 0.85,
85
+ analyzerName: this.name,
86
+ duration: Date.now() - startTime
87
+ };
88
+ }
89
+ catch (error) {
90
+ const message = error instanceof Error ? error.message : String(error);
91
+ return {
92
+ features: {},
93
+ confidence: 0,
94
+ analyzerName: this.name,
95
+ duration: Date.now() - startTime,
96
+ error: `分析 ESLint 配置失败: ${message}`
97
+ };
98
+ }
99
+ }
100
+ /**
101
+ * 分析 JSON 格式配置
102
+ */
103
+ analyzeJsonConfig(content, features) {
104
+ try {
105
+ const config = JSON.parse(content);
106
+ // 分析 extends
107
+ if (config.extends) {
108
+ this.analyzeExtends(config.extends, features);
109
+ }
110
+ // 分析 plugins
111
+ if (config.plugins) {
112
+ this.analyzePlugins(config.plugins, features);
113
+ }
114
+ // 分析 rules
115
+ if (config.rules) {
116
+ this.analyzeRules(config.rules, features);
117
+ }
118
+ }
119
+ catch {
120
+ // JSON 解析失败,使用文本分析
121
+ this.analyzeTextConfig(content, features);
122
+ }
123
+ }
124
+ /**
125
+ * 分析 JS 格式配置
126
+ */
127
+ analyzeJsConfig(content, features) {
128
+ // 检测 flat config (ESLint 9+)
129
+ if (content.includes('export default') || content.includes('module.exports')) {
130
+ // 检测预设
131
+ for (const [preset, mapping] of Object.entries(this.PRESET_MAPPINGS)) {
132
+ if (content.includes(preset)) {
133
+ if (mapping.type === 'framework') {
134
+ if (!features.frameworks)
135
+ features.frameworks = [];
136
+ if (!features.frameworks.includes(mapping.name)) {
137
+ features.frameworks.push(mapping.name);
138
+ }
139
+ }
140
+ else {
141
+ if (!features.tools.includes(mapping.name)) {
142
+ features.tools.push(mapping.name);
143
+ }
144
+ }
145
+ }
146
+ }
147
+ // 检测导入的插件
148
+ for (const [plugin, toolName] of Object.entries(this.PLUGIN_MAPPINGS)) {
149
+ if (content.includes(`'${plugin}'`) ||
150
+ content.includes(`"${plugin}"`) ||
151
+ content.includes(`@${plugin}`)) {
152
+ if (!features.tools.includes(toolName)) {
153
+ features.tools.push(toolName);
154
+ }
155
+ }
156
+ }
157
+ }
158
+ // 检测 TypeScript
159
+ if (content.includes('@typescript-eslint') ||
160
+ content.includes('typescript-eslint')) {
161
+ features.keywords.push('typescript-lint');
162
+ }
163
+ // 检测 Prettier 集成
164
+ if (content.includes('prettier')) {
165
+ features.keywords.push('prettier-integration');
166
+ }
167
+ // 检测自动导入规则
168
+ if (content.includes('unused-imports') ||
169
+ content.includes('no-unused-imports')) {
170
+ features.keywords.push('unused-imports-check');
171
+ }
172
+ }
173
+ /**
174
+ * 分析文本格式配置(通用)
175
+ */
176
+ analyzeTextConfig(content, features) {
177
+ // 检测 Vue
178
+ if (content.includes('vue')) {
179
+ if (content.includes('vue3')) {
180
+ if (!features.frameworks)
181
+ features.frameworks = [];
182
+ features.frameworks.push('Vue 3');
183
+ }
184
+ else if (content.includes('vue/')) {
185
+ if (!features.frameworks)
186
+ features.frameworks = [];
187
+ features.frameworks.push('Vue');
188
+ }
189
+ }
190
+ // 检测 React
191
+ if (content.includes('react')) {
192
+ if (!features.frameworks)
193
+ features.frameworks = [];
194
+ features.frameworks.push('React');
195
+ }
196
+ // 检测 TypeScript
197
+ if (content.includes('typescript')) {
198
+ features.keywords.push('typescript-lint');
199
+ }
200
+ }
201
+ /**
202
+ * 分析 extends 配置
203
+ */
204
+ analyzeExtends(extendsValue, features) {
205
+ const extendsList = Array.isArray(extendsValue) ? extendsValue : [extendsValue];
206
+ for (const ext of extendsList) {
207
+ const mapping = this.PRESET_MAPPINGS[ext];
208
+ if (mapping) {
209
+ if (mapping.type === 'framework') {
210
+ if (!features.frameworks)
211
+ features.frameworks = [];
212
+ if (!features.frameworks.includes(mapping.name)) {
213
+ features.frameworks.push(mapping.name);
214
+ }
215
+ }
216
+ else {
217
+ if (!features.tools.includes(mapping.name)) {
218
+ features.tools.push(mapping.name);
219
+ }
220
+ }
221
+ }
222
+ }
223
+ }
224
+ /**
225
+ * 分析 plugins 配置
226
+ */
227
+ analyzePlugins(plugins, features) {
228
+ for (const plugin of plugins) {
229
+ const toolName = this.PLUGIN_MAPPINGS[plugin];
230
+ if (toolName && !features.tools.includes(toolName)) {
231
+ features.tools.push(toolName);
232
+ }
233
+ }
234
+ }
235
+ /**
236
+ * 分析 rules 配置
237
+ */
238
+ analyzeRules(rules, features) {
239
+ const ruleNames = Object.keys(rules);
240
+ // 检测 i18n 规则
241
+ if (ruleNames.some(r => r.includes('i18n'))) {
242
+ features.keywords.push('i18n-lint');
243
+ }
244
+ // 检测严格规则
245
+ const strictRules = [
246
+ 'no-any',
247
+ 'explicit-function-return-type',
248
+ 'strict-boolean-expressions'
249
+ ];
250
+ if (ruleNames.some(r => strictRules.some(sr => r.includes(sr)))) {
251
+ features.keywords.push('strict-rules');
252
+ }
253
+ // 检测 import 排序
254
+ if (ruleNames.some(r => r.includes('import/order'))) {
255
+ features.keywords.push('import-sorting');
256
+ }
257
+ }
258
+ }
259
+ //# sourceMappingURL=eslint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../../src/core/analyzers/eslint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 分析器模块入口
3
+ */
4
+ export * from './types.js';
5
+ export * from './registry.js';
6
+ export { ViteConfigAnalyzer } from './vite.js';
7
+ export { TsConfigAnalyzer } from './tsconfig.js';
8
+ export { EslintConfigAnalyzer } from './eslint.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/analyzers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 分析器模块入口
3
+ */
4
+ export * from './types.js';
5
+ export * from './registry.js';
6
+ export { ViteConfigAnalyzer } from './vite.js';
7
+ export { TsConfigAnalyzer } from './tsconfig.js';
8
+ export { EslintConfigAnalyzer } from './eslint.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/analyzers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * 分析器注册表
3
+ *
4
+ * 管理所有配置文件分析器,提供:
5
+ * - 分析器注册和发现
6
+ * - 根据文件名匹配分析器
7
+ * - 执行分析并聚合结果
8
+ */
9
+ import { ConfigAnalyzer, AnalyzerResult, ProjectFeaturesExtended } from './types.js';
10
+ import { Logger } from '../types.js';
11
+ /**
12
+ * 分析器注册表
13
+ */
14
+ export declare class AnalyzerRegistry {
15
+ private analyzers;
16
+ private logger?;
17
+ constructor(logger?: Logger);
18
+ /**
19
+ * 注册默认分析器
20
+ */
21
+ private registerDefaultAnalyzers;
22
+ /**
23
+ * 注册分析器
24
+ */
25
+ register(analyzer: ConfigAnalyzer, priority?: number): void;
26
+ /**
27
+ * 获取所有已注册的分析器
28
+ */
29
+ getAnalyzers(): ConfigAnalyzer[];
30
+ /**
31
+ * 根据文件名查找匹配的分析器
32
+ */
33
+ findAnalyzer(fileName: string): ConfigAnalyzer | undefined;
34
+ /**
35
+ * 分析单个配置文件
36
+ */
37
+ analyzeFile(filePath: string): Promise<AnalyzerResult | null>;
38
+ /**
39
+ * 分析项目目录中的所有配置文件
40
+ */
41
+ analyzeDirectory(projectPath: string): Promise<AnalyzerResult[]>;
42
+ /**
43
+ * 聚合多个分析结果
44
+ */
45
+ aggregateResults(results: AnalyzerResult[]): ProjectFeaturesExtended;
46
+ /**
47
+ * 推断项目类型
48
+ */
49
+ private inferProjectType;
50
+ private log;
51
+ }
52
+ /**
53
+ * 导出所有分析器
54
+ */
55
+ export { ViteConfigAnalyzer } from './vite.js';
56
+ export { TsConfigAnalyzer } from './tsconfig.js';
57
+ export { EslintConfigAnalyzer } from './eslint.js';
58
+ export * from './types.js';
59
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/core/analyzers/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACH,cAAc,EACd,cAAc,EAEd,uBAAuB,EAC1B,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAK3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,GAAE,MAAW,GAAG,IAAI;IAO/D;;OAEG;IACH,YAAY,IAAI,cAAc,EAAE;IAIhC;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAS1D;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAanE;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAkCtE;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,uBAAuB;IAyFpE;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8CxB,OAAO,CAAC,GAAG;CAGd;AAED;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,cAAc,YAAY,CAAC"}