mta-mcp 2.2.0 → 2.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.
- package/bin/mta.cjs +43 -0
- package/dist/index.cjs +4784 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4769 -0
- package/dist/index.js.map +1 -0
- package/package.json +21 -10
- package/build/core/agentTemplate.d.ts +0 -33
- package/build/core/agentTemplate.d.ts.map +0 -1
- package/build/core/agentTemplate.js +0 -158
- package/build/core/agentTemplate.js.map +0 -1
- package/build/core/analyzers/eslint.d.ts +0 -51
- package/build/core/analyzers/eslint.d.ts.map +0 -1
- package/build/core/analyzers/eslint.js +0 -259
- package/build/core/analyzers/eslint.js.map +0 -1
- package/build/core/analyzers/index.d.ts +0 -9
- package/build/core/analyzers/index.d.ts.map +0 -1
- package/build/core/analyzers/index.js +0 -9
- package/build/core/analyzers/index.js.map +0 -1
- package/build/core/analyzers/registry.d.ts +0 -59
- package/build/core/analyzers/registry.d.ts.map +0 -1
- package/build/core/analyzers/registry.js +0 -241
- package/build/core/analyzers/registry.js.map +0 -1
- package/build/core/analyzers/tsconfig.d.ts +0 -45
- package/build/core/analyzers/tsconfig.d.ts.map +0 -1
- package/build/core/analyzers/tsconfig.js +0 -197
- package/build/core/analyzers/tsconfig.js.map +0 -1
- package/build/core/analyzers/types.d.ts +0 -176
- package/build/core/analyzers/types.d.ts.map +0 -1
- package/build/core/analyzers/types.js +0 -39
- package/build/core/analyzers/types.js.map +0 -1
- package/build/core/analyzers/vite.d.ts +0 -46
- package/build/core/analyzers/vite.d.ts.map +0 -1
- package/build/core/analyzers/vite.js +0 -211
- package/build/core/analyzers/vite.js.map +0 -1
- package/build/core/autoInitializer.d.ts +0 -34
- package/build/core/autoInitializer.d.ts.map +0 -1
- package/build/core/autoInitializer.js +0 -145
- package/build/core/autoInitializer.js.map +0 -1
- package/build/core/codeValidator.d.ts +0 -82
- package/build/core/codeValidator.d.ts.map +0 -1
- package/build/core/codeValidator.js +0 -287
- package/build/core/codeValidator.js.map +0 -1
- package/build/core/enhancedProjectAnalyzer.d.ts +0 -102
- package/build/core/enhancedProjectAnalyzer.d.ts.map +0 -1
- package/build/core/enhancedProjectAnalyzer.js +0 -312
- package/build/core/enhancedProjectAnalyzer.js.map +0 -1
- package/build/core/errors.d.ts +0 -84
- package/build/core/errors.d.ts.map +0 -1
- package/build/core/errors.js +0 -151
- package/build/core/errors.js.map +0 -1
- package/build/core/githubClient.d.ts +0 -26
- package/build/core/githubClient.d.ts.map +0 -1
- package/build/core/githubClient.js +0 -60
- package/build/core/githubClient.js.map +0 -1
- package/build/core/i18nDetector.d.ts +0 -47
- package/build/core/i18nDetector.d.ts.map +0 -1
- package/build/core/i18nDetector.js +0 -314
- package/build/core/i18nDetector.js.map +0 -1
- package/build/core/index.d.ts +0 -11
- package/build/core/index.d.ts.map +0 -1
- package/build/core/index.js +0 -14
- package/build/core/index.js.map +0 -1
- package/build/core/logger.d.ts +0 -91
- package/build/core/logger.d.ts.map +0 -1
- package/build/core/logger.js +0 -164
- package/build/core/logger.js.map +0 -1
- package/build/core/mappings/index.d.ts +0 -5
- package/build/core/mappings/index.d.ts.map +0 -1
- package/build/core/mappings/index.js +0 -5
- package/build/core/mappings/index.js.map +0 -1
- package/build/core/mappings/scenarioMappings.d.ts +0 -51
- package/build/core/mappings/scenarioMappings.d.ts.map +0 -1
- package/build/core/mappings/scenarioMappings.js +0 -105
- package/build/core/mappings/scenarioMappings.js.map +0 -1
- package/build/core/matching/index.d.ts +0 -8
- package/build/core/matching/index.d.ts.map +0 -1
- package/build/core/matching/index.js +0 -8
- package/build/core/matching/index.js.map +0 -1
- package/build/core/matching/intentAnalyzer.d.ts +0 -78
- package/build/core/matching/intentAnalyzer.d.ts.map +0 -1
- package/build/core/matching/intentAnalyzer.js +0 -255
- package/build/core/matching/intentAnalyzer.js.map +0 -1
- package/build/core/matching/standardMatcher.d.ts +0 -101
- package/build/core/matching/standardMatcher.d.ts.map +0 -1
- package/build/core/matching/standardMatcher.js +0 -299
- package/build/core/matching/standardMatcher.js.map +0 -1
- package/build/core/matching/weights.d.ts +0 -64
- package/build/core/matching/weights.d.ts.map +0 -1
- package/build/core/matching/weights.js +0 -334
- package/build/core/matching/weights.js.map +0 -1
- package/build/core/projectContextManager.d.ts +0 -39
- package/build/core/projectContextManager.d.ts.map +0 -1
- package/build/core/projectContextManager.js +0 -147
- package/build/core/projectContextManager.js.map +0 -1
- package/build/core/scenarioDetector.d.ts +0 -2
- package/build/core/scenarioDetector.d.ts.map +0 -1
- package/build/core/scenarioDetector.js +0 -2
- package/build/core/scenarioDetector.js.map +0 -1
- package/build/core/smartAgentMatcher.d.ts +0 -51
- package/build/core/smartAgentMatcher.d.ts.map +0 -1
- package/build/core/smartAgentMatcher.js +0 -493
- package/build/core/smartAgentMatcher.js.map +0 -1
- package/build/core/standardsManager.d.ts +0 -130
- package/build/core/standardsManager.d.ts.map +0 -1
- package/build/core/standardsManager.js +0 -600
- package/build/core/standardsManager.js.map +0 -1
- package/build/core/templates/discovery.d.ts +0 -41
- package/build/core/templates/discovery.d.ts.map +0 -1
- package/build/core/templates/discovery.js +0 -262
- package/build/core/templates/discovery.js.map +0 -1
- package/build/core/templates/types.d.ts +0 -80
- package/build/core/templates/types.d.ts.map +0 -1
- package/build/core/templates/types.js +0 -10
- package/build/core/templates/types.js.map +0 -1
- package/build/core/types.d.ts +0 -57
- package/build/core/types.d.ts.map +0 -1
- package/build/core/types.js +0 -22
- package/build/core/types.js.map +0 -1
- package/build/index.d.ts +0 -3
- package/build/index.d.ts.map +0 -1
- package/build/index.js +0 -576
- package/build/index.js.map +0 -1
- package/build/tools/analyzeProject.d.ts +0 -12
- package/build/tools/analyzeProject.d.ts.map +0 -1
- package/build/tools/analyzeProject.js +0 -85
- package/build/tools/analyzeProject.js.map +0 -1
- package/build/tools/autoSetup.d.ts +0 -15
- package/build/tools/autoSetup.d.ts.map +0 -1
- package/build/tools/autoSetup.js +0 -291
- package/build/tools/autoSetup.js.map +0 -1
- package/build/tools/generateConfig.d.ts +0 -16
- package/build/tools/generateConfig.d.ts.map +0 -1
- package/build/tools/generateConfig.js +0 -379
- package/build/tools/generateConfig.js.map +0 -1
- package/build/tools/generateProjectAgent.d.ts +0 -15
- package/build/tools/generateProjectAgent.d.ts.map +0 -1
- package/build/tools/generateProjectAgent.js +0 -348
- package/build/tools/generateProjectAgent.js.map +0 -1
- package/build/tools/getCompactStandards.d.ts +0 -20
- package/build/tools/getCompactStandards.d.ts.map +0 -1
- package/build/tools/getCompactStandards.js +0 -367
- package/build/tools/getCompactStandards.js.map +0 -1
- package/build/tools/getSmartStandards.d.ts +0 -15
- package/build/tools/getSmartStandards.d.ts.map +0 -1
- package/build/tools/getSmartStandards.js +0 -201
- package/build/tools/getSmartStandards.js.map +0 -1
- package/build/tools/getStandardById.d.ts +0 -42
- package/build/tools/getStandardById.d.ts.map +0 -1
- package/build/tools/getStandardById.js +0 -289
- package/build/tools/getStandardById.js.map +0 -1
- package/build/tools/getTemplate.d.ts +0 -37
- package/build/tools/getTemplate.d.ts.map +0 -1
- package/build/tools/getTemplate.js +0 -78
- package/build/tools/getTemplate.js.map +0 -1
- package/build/tools/healthCheck.d.ts +0 -14
- package/build/tools/healthCheck.d.ts.map +0 -1
- package/build/tools/healthCheck.js +0 -237
- package/build/tools/healthCheck.js.map +0 -1
- package/build/tools/listAgents.d.ts +0 -10
- package/build/tools/listAgents.d.ts.map +0 -1
- package/build/tools/listAgents.js +0 -79
- package/build/tools/listAgents.js.map +0 -1
- package/build/tools/listTemplates.d.ts +0 -41
- package/build/tools/listTemplates.d.ts.map +0 -1
- package/build/tools/listTemplates.js +0 -81
- package/build/tools/listTemplates.js.map +0 -1
- package/build/tools/matchAgents.d.ts +0 -14
- package/build/tools/matchAgents.d.ts.map +0 -1
- package/build/tools/matchAgents.js +0 -70
- package/build/tools/matchAgents.js.map +0 -1
- package/build/tools/queryMappings.d.ts +0 -55
- package/build/tools/queryMappings.d.ts.map +0 -1
- package/build/tools/queryMappings.js +0 -119
- package/build/tools/queryMappings.js.map +0 -1
- package/build/tools/usePreset.d.ts +0 -23
- package/build/tools/usePreset.d.ts.map +0 -1
- package/build/tools/usePreset.js +0 -163
- package/build/tools/usePreset.js.map +0 -1
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
import * as fs from 'fs';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import { fileURLToPath } from 'url';
|
|
4
|
-
import { GitHubClient } from '../core/githubClient.js';
|
|
5
|
-
import { SmartAgentMatcher } from '../core/smartAgentMatcher.js';
|
|
6
|
-
import { ConsoleLogger } from '../core/types.js';
|
|
7
|
-
import { CodeValidator } from '../core/codeValidator.js';
|
|
8
|
-
// ES模块中获取__dirname
|
|
9
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
10
|
-
const __dirname = path.dirname(__filename);
|
|
11
|
-
/**
|
|
12
|
-
* 生成配置文件工具
|
|
13
|
-
*/
|
|
14
|
-
export async function generateConfig(args) {
|
|
15
|
-
const logger = new ConsoleLogger();
|
|
16
|
-
try {
|
|
17
|
-
// 验证路径
|
|
18
|
-
if (!fs.existsSync(args.projectPath)) {
|
|
19
|
-
return {
|
|
20
|
-
content: [{
|
|
21
|
-
type: 'text',
|
|
22
|
-
text: JSON.stringify({
|
|
23
|
-
error: `项目路径不存在: ${args.projectPath}`
|
|
24
|
-
}, null, 2)
|
|
25
|
-
}]
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
const matcher = new SmartAgentMatcher(logger);
|
|
29
|
-
const githubClient = new GitHubClient(logger);
|
|
30
|
-
let selectedAgents = [];
|
|
31
|
-
// 如果需要自动匹配
|
|
32
|
-
if (args.autoMatch !== false) {
|
|
33
|
-
logger.log('正在分析项目特征...');
|
|
34
|
-
const workspaceFolder = {
|
|
35
|
-
uri: { fsPath: args.projectPath },
|
|
36
|
-
name: path.basename(args.projectPath),
|
|
37
|
-
index: 0
|
|
38
|
-
};
|
|
39
|
-
const features = await matcher.analyzeProject(workspaceFolder);
|
|
40
|
-
logger.log('正在匹配 Agents...');
|
|
41
|
-
// 获取可用 Agents - 优先从 GitHub 获取(保证最新版本)
|
|
42
|
-
const availableAgents = [];
|
|
43
|
-
try {
|
|
44
|
-
logger.log('📡 从 GitHub 获取 Agents...');
|
|
45
|
-
const agentFiles = await githubClient.listDirectoryFiles('agents');
|
|
46
|
-
for (const file of agentFiles) {
|
|
47
|
-
if (file.name.endsWith('.agent.md')) {
|
|
48
|
-
try {
|
|
49
|
-
const content = await githubClient.fetchFileContent(file.path);
|
|
50
|
-
const metadata = matcher.parseAgentMetadata(file.path, content);
|
|
51
|
-
availableAgents.push(metadata);
|
|
52
|
-
logger.log(`✅ 加载 Agent: ${metadata.title}`);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
logger.error(`解析 ${file.name} 失败`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
logger.log(`✅ 从 GitHub 成功加载 ${availableAgents.length} 个 Agents`);
|
|
60
|
-
}
|
|
61
|
-
catch (githubError) {
|
|
62
|
-
// GitHub 失败时尝试本地
|
|
63
|
-
logger.log('⚠️ GitHub 获取失败,尝试从本地加载...');
|
|
64
|
-
const agentsDir = path.join(__dirname, '../../../agents');
|
|
65
|
-
if (fs.existsSync(agentsDir)) {
|
|
66
|
-
const agentFiles = fs.readdirSync(agentsDir);
|
|
67
|
-
logger.log(`找到 ${agentFiles.length} 个本地文件`);
|
|
68
|
-
for (const file of agentFiles) {
|
|
69
|
-
if (file.endsWith('.agent.md')) {
|
|
70
|
-
try {
|
|
71
|
-
const filePath = path.join(agentsDir, file);
|
|
72
|
-
const content = fs.readFileSync(filePath, 'utf-8');
|
|
73
|
-
const metadata = matcher.parseAgentMetadata(`agents/${file}`, content);
|
|
74
|
-
availableAgents.push(metadata);
|
|
75
|
-
logger.log(`✅ 加载 Agent: ${metadata.title}`);
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
logger.error(`解析 ${file} 失败`);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
logger.log(`✅ 从本地成功加载 ${availableAgents.length} 个 Agents`);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
throw new Error('无法从 GitHub 或本地获取 Agents');
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
logger.log(`成功加载 ${availableAgents.length} 个 Agents`);
|
|
89
|
-
selectedAgents = matcher.matchAgents(features, availableAgents);
|
|
90
|
-
logger.log(`匹配到 ${selectedAgents.length} 个 Agents`);
|
|
91
|
-
selectedAgents = selectedAgents.slice(0, 5); // 取前5个
|
|
92
|
-
}
|
|
93
|
-
// 如果指定了 agentIds,使用指定的
|
|
94
|
-
if (args.agentIds && args.agentIds.length > 0) {
|
|
95
|
-
logger.log(`使用指定的 Agents: ${args.agentIds.join(', ')}`);
|
|
96
|
-
selectedAgents = [];
|
|
97
|
-
for (const id of args.agentIds) {
|
|
98
|
-
try {
|
|
99
|
-
let content;
|
|
100
|
-
const agentPath = `agents/${id}.agent.md`;
|
|
101
|
-
// 优先从 GitHub 加载(保证最新版本)
|
|
102
|
-
try {
|
|
103
|
-
logger.log(`从 GitHub 获取 Agent: ${id}`);
|
|
104
|
-
content = await githubClient.fetchFileContent(agentPath);
|
|
105
|
-
logger.log(`✅ 从 GitHub 加载成功: ${id}`);
|
|
106
|
-
}
|
|
107
|
-
catch (githubError) {
|
|
108
|
-
// GitHub 失败时尝试本地
|
|
109
|
-
logger.log(`GitHub 获取失败,尝试本地: ${id}`);
|
|
110
|
-
const agentsDir = path.join(__dirname, '../../../agents');
|
|
111
|
-
const localPath = path.join(agentsDir, `${id}.agent.md`);
|
|
112
|
-
if (fs.existsSync(localPath)) {
|
|
113
|
-
content = fs.readFileSync(localPath, 'utf-8');
|
|
114
|
-
logger.log(`✅ 从本地加载成功: ${id}`);
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
throw new Error(`Agent ${id} 不存在(GitHub 和本地都未找到)`);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
const metadata = matcher.parseAgentMetadata(`agents/${id}.agent.md`, content);
|
|
121
|
-
selectedAgents.push(metadata);
|
|
122
|
-
}
|
|
123
|
-
catch (error) {
|
|
124
|
-
logger.error(`获取 Agent ${id} 失败: ${error}`);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
if (selectedAgents.length === 0) {
|
|
129
|
-
return {
|
|
130
|
-
content: [{
|
|
131
|
-
type: 'text',
|
|
132
|
-
text: JSON.stringify({
|
|
133
|
-
error: '未找到合适的 Agents'
|
|
134
|
-
}, null, 2)
|
|
135
|
-
}]
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
// 生成配置文件
|
|
139
|
-
logger.log('正在生成配置文件...');
|
|
140
|
-
const githubDir = path.join(args.projectPath, '.github');
|
|
141
|
-
const configPath = path.join(githubDir, 'copilot-instructions.md');
|
|
142
|
-
// 检测已有配置的自定义内容
|
|
143
|
-
let existingCustomContent = '';
|
|
144
|
-
let existingConfig = '';
|
|
145
|
-
if (fs.existsSync(configPath)) {
|
|
146
|
-
existingConfig = fs.readFileSync(configPath, 'utf-8');
|
|
147
|
-
// 提取自定义章节(标记为 CUSTOM 的内容)
|
|
148
|
-
const customMatch = existingConfig.match(/<!-- CUSTOM_START -->([\s\S]*?)<!-- CUSTOM_END -->/g);
|
|
149
|
-
if (customMatch) {
|
|
150
|
-
existingCustomContent = customMatch.join('\n\n');
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
// 创建目录
|
|
154
|
-
if (!fs.existsSync(githubDir)) {
|
|
155
|
-
fs.mkdirSync(githubDir, { recursive: true });
|
|
156
|
-
}
|
|
157
|
-
const updateMode = args.updateMode || 'merge'; // 默认保护模式
|
|
158
|
-
// 构建配置内容
|
|
159
|
-
let content = '';
|
|
160
|
-
if (updateMode === 'merge') {
|
|
161
|
-
content += `<!-- ⚠️ 此文件由 Copilot Prompts MCP Server 生成 -->\n`;
|
|
162
|
-
content += `<!-- ℹ️ 你可以添加自定义内容,使用 CUSTOM_START/CUSTOM_END 标记保护 -->\n`;
|
|
163
|
-
content += `<!-- 示例: -->\n`;
|
|
164
|
-
content += `<!-- CUSTOM_START -->\n`;
|
|
165
|
-
content += `<!-- 你的自定义规范 -->\n`;
|
|
166
|
-
content += `<!-- CUSTOM_END -->\n\n`;
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
content += `<!-- ⚠️ 此文件由 Copilot Prompts MCP Server 自动生成 -->\n`;
|
|
170
|
-
content += `<!-- ⚠️ 使用 --update-mode merge 可保护自定义内容 -->\n\n`;
|
|
171
|
-
}
|
|
172
|
-
// 添加作用域声明 - 防止跨项目污染
|
|
173
|
-
const projectName = path.basename(args.projectPath);
|
|
174
|
-
const projectPath = args.projectPath;
|
|
175
|
-
content += `<!-- 🎯 作用域:此配置仅适用于当前项目 -->\n`;
|
|
176
|
-
content += `<!-- 项目名称: ${projectName} -->\n`;
|
|
177
|
-
content += `<!-- 项目路径: ${projectPath} -->\n\n`;
|
|
178
|
-
content += `# 项目开发规范 - Copilot 指令\n\n`;
|
|
179
|
-
// ⚠️ 强制执行检查点 - 必须在最前面
|
|
180
|
-
content += `## ⚠️ 强制执行检查点\n\n`;
|
|
181
|
-
content += `> **此检查点的优先级高于本文件的所有其他内容**\n\n`;
|
|
182
|
-
content += `在执行**任何**以下操作前,必须先完成规范加载验证:\n\n`;
|
|
183
|
-
content += `### 受限操作清单\n\n`;
|
|
184
|
-
content += `- ❌ 创建任何代码文件(.vue、.ts、.tsx、.js 等)\n`;
|
|
185
|
-
content += `- ❌ 修改任何代码文件\n`;
|
|
186
|
-
content += `- ❌ 使用 \`replace_string_in_file\` 或 \`multi_replace_string_in_file\`\n`;
|
|
187
|
-
content += `- ❌ 生成任何代码片段\n\n`;
|
|
188
|
-
content += `### 强制验证流程\n\n`;
|
|
189
|
-
content += `1. **检查项目作用域** - 确认当前操作的文件路径包含 \`/${projectName}/\`\n`;
|
|
190
|
-
content += `2. **加载相关规范** - 根据文件类型调用对应的 MCP 工具:\n`;
|
|
191
|
-
content += ` - Vue 文件 → \`get_smart_standards\` 或 \`use_preset\`\n`;
|
|
192
|
-
content += ` - TypeScript 文件 → \`get_smart_standards\` 或 \`use_preset\`\n`;
|
|
193
|
-
content += ` - 其他文件 → 根据实际情况选择\n`;
|
|
194
|
-
content += `3. **验证加载成功** - 确认工具返回了规范内容\n`;
|
|
195
|
-
content += `4. **声明已加载** - 在响应中明确说明:\`✅ 已加载规范: [工具名称]\`\n\n`;
|
|
196
|
-
content += `### 违规处理\n\n`;
|
|
197
|
-
content += `- 如果未加载规范就生成代码 → **此操作无效,必须重新执行**\n`;
|
|
198
|
-
content += `- 如果出现语法错误 → **深刻反思,检查是否遵循了规范**\n`;
|
|
199
|
-
content += `- 如果出现低级错误 → **停止操作,重新加载规范后再继续**\n\n`;
|
|
200
|
-
content += `---\n\n`;
|
|
201
|
-
// 添加AI可识别的作用域限制
|
|
202
|
-
content += `## 🎯 作用域限制\n\n`;
|
|
203
|
-
content += `**⚠️ 此配置仅在以下情况生效:**\n\n`;
|
|
204
|
-
content += `1. 当前编辑的文件路径包含: \`/${projectName}/\`\n`;
|
|
205
|
-
content += `2. 或当前工作目录为: \`${projectPath}\`\n\n`;
|
|
206
|
-
content += `**如果你在其他项目工作(如 ${projectName} 之外的项目),请完全忽略此配置文件中的所有规范和指令。**\n\n`;
|
|
207
|
-
content += `---\n\n`;
|
|
208
|
-
content += `> 📌 **自动配置信息**\n`;
|
|
209
|
-
content += `> - 生成时间: ${new Date().toLocaleString('zh-CN')}\n`;
|
|
210
|
-
content += `> - 匹配的 Agents: ${selectedAgents.length} 个\n\n`;
|
|
211
|
-
content += `---\n\n`;
|
|
212
|
-
// 加载配置方案的详细规则
|
|
213
|
-
if (args.configId) {
|
|
214
|
-
try {
|
|
215
|
-
const configFilePath = path.join(__dirname, '../../../configs', `element-plus-${args.configId}.json`);
|
|
216
|
-
if (fs.existsSync(configFilePath)) {
|
|
217
|
-
const configData = JSON.parse(fs.readFileSync(configFilePath, 'utf-8'));
|
|
218
|
-
content += `## 📦 配置方案\n\n`;
|
|
219
|
-
content += `**方案ID**: ${configData.configId}\n`;
|
|
220
|
-
content += `**名称**: ${configData.name}\n`;
|
|
221
|
-
content += `**描述**: ${configData.description}\n`;
|
|
222
|
-
content += `**维护者**: ${configData.maintainer}\n\n`;
|
|
223
|
-
// 添加重要规则摘要
|
|
224
|
-
if (configData.rules && configData.rules.table) {
|
|
225
|
-
content += `### 表格组件规范\n\n`;
|
|
226
|
-
const tableRules = configData.rules.table;
|
|
227
|
-
if (tableRules.border)
|
|
228
|
-
content += `- ✅ **必须添加 border**\n`;
|
|
229
|
-
if (tableRules['highlight-current-row'])
|
|
230
|
-
content += `- ✅ **必须高亮当前行**\n`;
|
|
231
|
-
if (tableRules['v-loading'])
|
|
232
|
-
content += `- ✅ **加载状态变量**: \`${tableRules['v-loading'].variable}\`\n`;
|
|
233
|
-
content += `\n`;
|
|
234
|
-
}
|
|
235
|
-
content += `> 详细规则请参考: \`configs/element-plus-${args.configId}.json\`\n\n`;
|
|
236
|
-
content += `---\n\n`;
|
|
237
|
-
logger.log(`✅ 已加载配置方案: ${configData.name}`);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
catch (error) {
|
|
241
|
-
logger.error(`加载配置方案失败: ${error}`);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
// 添加强制工作流说明
|
|
245
|
-
content += `## ⚠️ 强制工作流\n\n`;
|
|
246
|
-
content += `**在进行任何代码生成或修改之前,必须先调用 MCP 工具加载相关规范!**\n\n`;
|
|
247
|
-
content += `根据文件类型和场景,调用相应的 MCP 工具:\n\n`;
|
|
248
|
-
content += `1. **Vue 文件** → \`get_relevant_standards({ fileType: "vue" })\`\n`;
|
|
249
|
-
content += `2. **TypeScript 文件** → \`get_relevant_standards({ fileType: "ts" })\`\n`;
|
|
250
|
-
content += `3. **React 组件** → \`get_relevant_standards({ fileType: "tsx" })\`\n`;
|
|
251
|
-
content += `4. **使用特定库时**:\n`;
|
|
252
|
-
content += ` - Element Plus: \`get_relevant_standards({ imports: ["element-plus"] })\`\n`;
|
|
253
|
-
content += ` - Pinia: \`get_relevant_standards({ imports: ["pinia"] })\`\n`;
|
|
254
|
-
content += ` - Vue Router: \`get_relevant_standards({ imports: ["vue-router"] })\`\n`;
|
|
255
|
-
content += ` - LogicFlow: \`get_relevant_standards({ imports: ["@logicflow/core"] })\`\n`;
|
|
256
|
-
content += `5. **特定场景**:\n`;
|
|
257
|
-
content += ` - API 调用: \`get_relevant_standards({ scenario: "API 调用" })\`\n`;
|
|
258
|
-
content += ` - 国际化: \`get_relevant_standards({ scenario: "国际化" })\`\n\n`;
|
|
259
|
-
content += `### 标准流程\n\n`;
|
|
260
|
-
content += `1. ✅ **强制**: 加载规范 → 2. 理解需求 → 3. 编写代码 → 4. 验证规范\n\n`;
|
|
261
|
-
content += `---\n\n`;
|
|
262
|
-
// ⚠️ 核心设计原则:最小化配置 (选项 1)
|
|
263
|
-
// 只记录 Agent 引用信息,不嵌入完整内容
|
|
264
|
-
// Copilot 将通过 MCP 工具 get_relevant_standards 实时加载规范
|
|
265
|
-
// 此设计为底层逻辑,除非明确要求,否则不可修改
|
|
266
|
-
content += `## 📚 配置的 Agents\n\n`;
|
|
267
|
-
content += `本项目使用以下 Agents(规范内容由 Copilot 通过 MCP 工具实时加载):\n\n`;
|
|
268
|
-
for (const agent of selectedAgents) {
|
|
269
|
-
content += `### ${agent.title}\n\n`;
|
|
270
|
-
content += `- **Agent ID**: \`${agent.id}\`\n`;
|
|
271
|
-
content += `- **描述**: ${agent.description || '暂无描述'}\n`;
|
|
272
|
-
content += `- **来源**: \`${agent.path}\`\n`;
|
|
273
|
-
// 如果有标签,显示标签
|
|
274
|
-
if (agent.tags && agent.tags.length > 0) {
|
|
275
|
-
content += `- **标签**: ${agent.tags.join(', ')}\n`;
|
|
276
|
-
}
|
|
277
|
-
content += `\n> 💡 **使用方式**: 在开发时,Copilot 会自动通过 MCP 工具加载此 Agent 的完整规范。\n\n`;
|
|
278
|
-
}
|
|
279
|
-
content += `---\n\n`;
|
|
280
|
-
// 附加自定义内容(如果是merge模式)
|
|
281
|
-
if (updateMode === 'merge' && existingCustomContent) {
|
|
282
|
-
content += `\n\n## 📝 自定义规范\n\n`;
|
|
283
|
-
content += existingCustomContent;
|
|
284
|
-
logger.log('✅ 已保留自定义内容');
|
|
285
|
-
}
|
|
286
|
-
// 写入文件前进行验证 (v1.1.0)
|
|
287
|
-
const validator = new CodeValidator(logger);
|
|
288
|
-
const validation = validator.validateConfigContent(content);
|
|
289
|
-
if (!validation.isValid) {
|
|
290
|
-
logger.error('⚠️ 配置内容验证失败,尝试自动修复...');
|
|
291
|
-
// 尝试自动修复
|
|
292
|
-
const fixResult = validator.attemptAutoFix(content);
|
|
293
|
-
if (fixResult.fixed) {
|
|
294
|
-
content = fixResult.content;
|
|
295
|
-
logger.log(`✅ 已自动修复 ${fixResult.changes.length} 个问题:`);
|
|
296
|
-
fixResult.changes.forEach(change => logger.log(` - ${change}`));
|
|
297
|
-
// 重新验证
|
|
298
|
-
const revalidation = validator.validateConfigContent(content);
|
|
299
|
-
if (!revalidation.isValid) {
|
|
300
|
-
const report = validator.generateValidationReport(revalidation);
|
|
301
|
-
logger.error('❌ 自动修复后仍存在问题:');
|
|
302
|
-
logger.error(report);
|
|
303
|
-
return {
|
|
304
|
-
content: [{
|
|
305
|
-
type: 'text',
|
|
306
|
-
text: JSON.stringify({
|
|
307
|
-
error: '配置文件验证失败',
|
|
308
|
-
validationReport: report,
|
|
309
|
-
message: '生成的配置文件存在语法错误,请检查并手动修复'
|
|
310
|
-
}, null, 2)
|
|
311
|
-
}]
|
|
312
|
-
};
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
else {
|
|
316
|
-
const report = validator.generateValidationReport(validation);
|
|
317
|
-
logger.error(report);
|
|
318
|
-
return {
|
|
319
|
-
content: [{
|
|
320
|
-
type: 'text',
|
|
321
|
-
text: JSON.stringify({
|
|
322
|
-
error: '配置文件验证失败',
|
|
323
|
-
validationReport: report,
|
|
324
|
-
message: '生成的配置文件存在语法错误且无法自动修复'
|
|
325
|
-
}, null, 2)
|
|
326
|
-
}]
|
|
327
|
-
};
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
else if (validation.warnings.length > 0) {
|
|
331
|
-
logger.log('⚠️ 配置内容验证通过,但有以下警告:');
|
|
332
|
-
validation.warnings.forEach(warning => {
|
|
333
|
-
logger.log(` - [${warning.type}] ${warning.message}`);
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
else {
|
|
337
|
-
logger.log('✅ 配置内容验证通过');
|
|
338
|
-
}
|
|
339
|
-
// 写入文件
|
|
340
|
-
fs.writeFileSync(configPath, content, 'utf-8');
|
|
341
|
-
// 更新 .gitignore
|
|
342
|
-
const gitignorePath = path.join(args.projectPath, '.gitignore');
|
|
343
|
-
if (fs.existsSync(gitignorePath)) {
|
|
344
|
-
let gitignoreContent = fs.readFileSync(gitignorePath, 'utf-8');
|
|
345
|
-
if (!gitignoreContent.includes('.github/copilot-instructions.md')) {
|
|
346
|
-
gitignoreContent += '\n# Copilot Prompts (auto-generated)\n.github/copilot-instructions.md\n';
|
|
347
|
-
fs.writeFileSync(gitignorePath, gitignoreContent, 'utf-8');
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
logger.log(`✅ 配置文件已生成: ${configPath}`);
|
|
351
|
-
return {
|
|
352
|
-
content: [{
|
|
353
|
-
type: 'text',
|
|
354
|
-
text: JSON.stringify({
|
|
355
|
-
success: true,
|
|
356
|
-
configPath,
|
|
357
|
-
agents: selectedAgents.map(a => ({
|
|
358
|
-
id: a.id,
|
|
359
|
-
title: a.title,
|
|
360
|
-
score: a.score
|
|
361
|
-
})),
|
|
362
|
-
message: `已成功生成配置文件,应用了 ${selectedAgents.length} 个 Agents`
|
|
363
|
-
}, null, 2)
|
|
364
|
-
}]
|
|
365
|
-
};
|
|
366
|
-
}
|
|
367
|
-
catch (error) {
|
|
368
|
-
logger.error(`生成配置失败: ${error}`);
|
|
369
|
-
return {
|
|
370
|
-
content: [{
|
|
371
|
-
type: 'text',
|
|
372
|
-
text: JSON.stringify({
|
|
373
|
-
error: error instanceof Error ? error.message : String(error)
|
|
374
|
-
}, null, 2)
|
|
375
|
-
}]
|
|
376
|
-
};
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
//# sourceMappingURL=generateConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateConfig.js","sourceRoot":"","sources":["../../src/tools/generateConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 为项目生成专属的 MTA Agent
|
|
3
|
-
* 包含技术栈标识和自动 MCP 工具调用指令
|
|
4
|
-
*/
|
|
5
|
-
export declare function generateProjectAgent(args: {
|
|
6
|
-
projectPath?: string;
|
|
7
|
-
force?: boolean;
|
|
8
|
-
includeInstructions?: boolean;
|
|
9
|
-
}): Promise<{
|
|
10
|
-
content: Array<{
|
|
11
|
-
type: string;
|
|
12
|
-
text: string;
|
|
13
|
-
}>;
|
|
14
|
-
}>;
|
|
15
|
-
//# sourceMappingURL=generateProjectAgent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateProjectAgent.d.ts","sourceRoot":"","sources":["../../src/tools/generateProjectAgent.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC,GAAG,OAAO,CAAC;IACR,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD,CAAC,CAwID"}
|