mta-mcp 1.8.1

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 (112) hide show
  1. package/CHANGELOG.md +457 -0
  2. package/README.md +680 -0
  3. package/archive/docs/CLAUDE_SETUP.md +103 -0
  4. package/archive/docs/DEVELOPMENT_ROADMAP.md +186 -0
  5. package/archive/docs/GETTING_STARTED.md +337 -0
  6. package/archive/docs/MIGRATION_GUIDE.md +189 -0
  7. package/archive/docs/TROUBLESHOOTING.md +386 -0
  8. package/archive/docs/USAGE_GUIDE.md +739 -0
  9. package/archive/tests/test-cloud-dev.cjs +158 -0
  10. package/archive/tests/test-mcp.sh +46 -0
  11. package/archive/tests/test-miniprogram.cjs +94 -0
  12. package/archive/tests/test-phase2.cjs +144 -0
  13. package/archive/tests/test-phase3.cjs +121 -0
  14. package/archive/tests/test-phase4.cjs +249 -0
  15. package/archive/tests/test-standards.cjs +111 -0
  16. package/archive/tests/test-vitasage-config.cjs +25 -0
  17. package/build/core/agentTemplate.d.ts +33 -0
  18. package/build/core/agentTemplate.d.ts.map +1 -0
  19. package/build/core/agentTemplate.js +158 -0
  20. package/build/core/agentTemplate.js.map +1 -0
  21. package/build/core/codeValidator.d.ts +82 -0
  22. package/build/core/codeValidator.d.ts.map +1 -0
  23. package/build/core/codeValidator.js +287 -0
  24. package/build/core/codeValidator.js.map +1 -0
  25. package/build/core/githubClient.d.ts +26 -0
  26. package/build/core/githubClient.d.ts.map +1 -0
  27. package/build/core/githubClient.js +60 -0
  28. package/build/core/githubClient.js.map +1 -0
  29. package/build/core/i18nDetector.d.ts +47 -0
  30. package/build/core/i18nDetector.d.ts.map +1 -0
  31. package/build/core/i18nDetector.js +314 -0
  32. package/build/core/i18nDetector.js.map +1 -0
  33. package/build/core/projectContextManager.d.ts +39 -0
  34. package/build/core/projectContextManager.d.ts.map +1 -0
  35. package/build/core/projectContextManager.js +147 -0
  36. package/build/core/projectContextManager.js.map +1 -0
  37. package/build/core/smartAgentMatcher.d.ts +51 -0
  38. package/build/core/smartAgentMatcher.d.ts.map +1 -0
  39. package/build/core/smartAgentMatcher.js +493 -0
  40. package/build/core/smartAgentMatcher.js.map +1 -0
  41. package/build/core/standardsManager.d.ts +130 -0
  42. package/build/core/standardsManager.d.ts.map +1 -0
  43. package/build/core/standardsManager.js +595 -0
  44. package/build/core/standardsManager.js.map +1 -0
  45. package/build/core/types.d.ts +55 -0
  46. package/build/core/types.d.ts.map +1 -0
  47. package/build/core/types.js +21 -0
  48. package/build/core/types.js.map +1 -0
  49. package/build/index.d.ts +3 -0
  50. package/build/index.d.ts.map +1 -0
  51. package/build/index.js +463 -0
  52. package/build/index.js.map +1 -0
  53. package/build/tools/analyzeProject.d.ts +12 -0
  54. package/build/tools/analyzeProject.d.ts.map +1 -0
  55. package/build/tools/analyzeProject.js +85 -0
  56. package/build/tools/analyzeProject.js.map +1 -0
  57. package/build/tools/autoSetup.d.ts +15 -0
  58. package/build/tools/autoSetup.d.ts.map +1 -0
  59. package/build/tools/autoSetup.js +291 -0
  60. package/build/tools/autoSetup.js.map +1 -0
  61. package/build/tools/generateConfig.d.ts +16 -0
  62. package/build/tools/generateConfig.d.ts.map +1 -0
  63. package/build/tools/generateConfig.js +379 -0
  64. package/build/tools/generateConfig.js.map +1 -0
  65. package/build/tools/generateProjectAgent.d.ts +15 -0
  66. package/build/tools/generateProjectAgent.d.ts.map +1 -0
  67. package/build/tools/generateProjectAgent.js +348 -0
  68. package/build/tools/generateProjectAgent.js.map +1 -0
  69. package/build/tools/getCompactStandards.d.ts +20 -0
  70. package/build/tools/getCompactStandards.d.ts.map +1 -0
  71. package/build/tools/getCompactStandards.js +367 -0
  72. package/build/tools/getCompactStandards.js.map +1 -0
  73. package/build/tools/getSmartStandards.d.ts +14 -0
  74. package/build/tools/getSmartStandards.d.ts.map +1 -0
  75. package/build/tools/getSmartStandards.js +184 -0
  76. package/build/tools/getSmartStandards.js.map +1 -0
  77. package/build/tools/healthCheck.d.ts +14 -0
  78. package/build/tools/healthCheck.d.ts.map +1 -0
  79. package/build/tools/healthCheck.js +237 -0
  80. package/build/tools/healthCheck.js.map +1 -0
  81. package/build/tools/listAgents.d.ts +10 -0
  82. package/build/tools/listAgents.d.ts.map +1 -0
  83. package/build/tools/listAgents.js +79 -0
  84. package/build/tools/listAgents.js.map +1 -0
  85. package/build/tools/matchAgents.d.ts +14 -0
  86. package/build/tools/matchAgents.d.ts.map +1 -0
  87. package/build/tools/matchAgents.js +70 -0
  88. package/build/tools/matchAgents.js.map +1 -0
  89. package/build/tools/usePreset.d.ts +23 -0
  90. package/build/tools/usePreset.d.ts.map +1 -0
  91. package/build/tools/usePreset.js +163 -0
  92. package/build/tools/usePreset.js.map +1 -0
  93. package/generate-project-config.cjs +97 -0
  94. package/package.json +45 -0
  95. package/regenerate-vitasage.sh +30 -0
  96. package/src/core/codeValidator.ts +357 -0
  97. package/src/core/githubClient.ts +64 -0
  98. package/src/core/i18nDetector.ts +357 -0
  99. package/src/core/smartAgentMatcher.ts +490 -0
  100. package/src/core/standardsManager.ts +763 -0
  101. package/src/core/types.ts +72 -0
  102. package/src/index.ts +519 -0
  103. package/src/tools/analyzeProject.ts +94 -0
  104. package/src/tools/autoSetup.ts +312 -0
  105. package/src/tools/generateConfig.ts +429 -0
  106. package/src/tools/getCompactStandards.ts +413 -0
  107. package/src/tools/getSmartStandards.ts +205 -0
  108. package/src/tools/healthCheck.ts +261 -0
  109. package/src/tools/listAgents.ts +91 -0
  110. package/src/tools/matchAgents.ts +80 -0
  111. package/src/tools/usePreset.ts +180 -0
  112. package/tsconfig.json +20 -0
@@ -0,0 +1,85 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { SmartAgentMatcher } from '../core/smartAgentMatcher.js';
4
+ import { I18nDetector } from '../core/i18nDetector.js';
5
+ import { ConsoleLogger } from '../core/types.js';
6
+ /**
7
+ * 分析项目工具(Phase 4 增强:支持自动检测 + 国际化检测)
8
+ */
9
+ export async function analyzeProject(args) {
10
+ const logger = new ConsoleLogger();
11
+ try {
12
+ // 自动检测项目路径
13
+ let projectPath = args.projectPath;
14
+ if (!projectPath) {
15
+ // 使用当前工作目录
16
+ projectPath = process.cwd();
17
+ logger.log(`📍 未指定路径,使用当前目录: ${projectPath}`);
18
+ }
19
+ // 验证路径
20
+ if (!fs.existsSync(projectPath)) {
21
+ return {
22
+ content: [{
23
+ type: 'text',
24
+ text: JSON.stringify({
25
+ error: `项目路径不存在: ${projectPath}`
26
+ }, null, 2)
27
+ }]
28
+ };
29
+ }
30
+ // 创建匹配器并分析项目
31
+ const matcher = new SmartAgentMatcher(logger);
32
+ // 模拟 WorkspaceFolder 接口
33
+ const workspaceFolder = {
34
+ uri: { fsPath: projectPath },
35
+ name: path.basename(projectPath),
36
+ index: 0
37
+ };
38
+ const features = await matcher.analyzeProject(workspaceFolder);
39
+ // 检测国际化配置
40
+ logger.log(`🌍 检测国际化配置...`);
41
+ const i18nConfig = await I18nDetector.detect(projectPath);
42
+ // 返回分析结果
43
+ return {
44
+ content: [{
45
+ type: 'text',
46
+ text: JSON.stringify({
47
+ success: true,
48
+ projectPath: projectPath,
49
+ projectName: path.basename(projectPath),
50
+ autoDetected: !args.projectPath,
51
+ features: {
52
+ projectType: features.projectType,
53
+ frameworks: features.frameworks,
54
+ languages: features.languages,
55
+ tools: features.tools,
56
+ keywords: features.keywords
57
+ },
58
+ i18n: {
59
+ enabled: i18nConfig.enabled,
60
+ type: i18nConfig.type,
61
+ configFiles: i18nConfig.configFiles,
62
+ messageFiles: i18nConfig.messageFiles,
63
+ method: i18nConfig.method,
64
+ example: i18nConfig.example,
65
+ tips: i18nConfig.tips
66
+ },
67
+ summary: `检测到 ${features.projectType} 项目,使用 ${features.frameworks.join(', ')} 框架。` +
68
+ `国际化:${i18nConfig.enabled ? `已配置 (${i18nConfig.type})` : '未配置'}`
69
+ }, null, 2)
70
+ }]
71
+ };
72
+ }
73
+ catch (error) {
74
+ logger.error(`分析项目失败: ${error}`);
75
+ return {
76
+ content: [{
77
+ type: 'text',
78
+ text: JSON.stringify({
79
+ error: error instanceof Error ? error.message : String(error)
80
+ }, null, 2)
81
+ }]
82
+ };
83
+ }
84
+ }
85
+ //# sourceMappingURL=analyzeProject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzeProject.js","sourceRoot":"","sources":["../../src/tools/analyzeProject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAmB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAA8B;IAG/D,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IAEnC,IAAI,CAAC;QACD,WAAW;QACX,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAEnC,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,WAAW;YACX,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,oBAAoB,WAAW,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,OAAO;QACP,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACjB,KAAK,EAAE,YAAY,WAAW,EAAE;yBACnC,EAAE,IAAI,EAAE,CAAC,CAAC;qBACd,CAAC;aACL,CAAC;QACN,CAAC;QAED,aAAa;QACb,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE9C,wBAAwB;QACxB,MAAM,eAAe,GAAG;YACpB,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;YAC5B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAChC,KAAK,EAAE,CAAC;SACX,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,eAAsB,CAAC,CAAC;QAEtE,UAAU;QACV,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE1D,SAAS;QACT,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACjB,OAAO,EAAE,IAAI;wBACb,WAAW,EAAE,WAAW;wBACxB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;wBACvC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW;wBAC/B,QAAQ,EAAE;4BACN,WAAW,EAAE,QAAQ,CAAC,WAAW;4BACjC,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;4BAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;yBAC9B;wBACD,IAAI,EAAE;4BACF,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;4BACrB,WAAW,EAAE,UAAU,CAAC,WAAW;4BACnC,YAAY,EAAE,UAAU,CAAC,YAAY;4BACrC,MAAM,EAAE,UAAU,CAAC,MAAM;4BACzB,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;yBACxB;wBACD,OAAO,EAAE,OAAO,QAAQ,CAAC,WAAW,UAAU,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;4BACzE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;qBAC5E,EAAE,IAAI,EAAE,CAAC,CAAC;iBACd,CAAC;SACL,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;QACjC,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAChE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACd,CAAC;SACL,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 自动配置工具
3
+ * 一键配置 MCP 服务器到 VS Code 工作区
4
+ * v1.2.0: 新增自动生成项目 copilot-instructions.md
5
+ */
6
+ export declare function autoSetup(args: {
7
+ workspacePath?: string;
8
+ generateInstructions?: boolean;
9
+ }): Promise<{
10
+ content: Array<{
11
+ type: string;
12
+ text: string;
13
+ }>;
14
+ }>;
15
+ //# sourceMappingURL=autoSetup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoSetup.d.ts","sourceRoot":"","sources":["../../src/tools/autoSetup.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC,GAAG,OAAO,CAAC;IACR,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD,CAAC,CAuSD"}
@@ -0,0 +1,291 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ import { ConsoleLogger } from '../core/types.js';
4
+ import { analyzeProject } from './analyzeProject.js';
5
+ import { generateConfig } from './generateConfig.js';
6
+ /**
7
+ * 自动配置工具
8
+ * 一键配置 MCP 服务器到 VS Code 工作区
9
+ * v1.2.0: 新增自动生成项目 copilot-instructions.md
10
+ */
11
+ export async function autoSetup(args) {
12
+ const logger = new ConsoleLogger();
13
+ try {
14
+ // 确定工作区路径
15
+ const workspacePath = args.workspacePath || process.cwd();
16
+ if (!fs.existsSync(workspacePath)) {
17
+ return {
18
+ content: [{
19
+ type: 'text',
20
+ text: JSON.stringify({
21
+ error: `工作区路径不存在: ${workspacePath}`
22
+ }, null, 2)
23
+ }]
24
+ };
25
+ }
26
+ const results = {
27
+ workspacePath,
28
+ steps: [],
29
+ warnings: []
30
+ };
31
+ logger.log('🚀 开始自动配置 MCP 服务器...');
32
+ // Step 1: 创建 .vscode 目录
33
+ const vscodeDir = path.join(workspacePath, '.vscode');
34
+ if (!fs.existsSync(vscodeDir)) {
35
+ fs.mkdirSync(vscodeDir, { recursive: true });
36
+ results.steps.push({ step: '创建 .vscode 目录', status: 'success' });
37
+ }
38
+ else {
39
+ results.steps.push({ step: '检测到已有 .vscode 目录', status: 'skip' });
40
+ }
41
+ // Step 2: 检测 MCP 服务器路径
42
+ let mcpServerPath = '';
43
+ const possiblePaths = [
44
+ path.join(workspacePath, 'mcp-server/build/index.js'),
45
+ path.join(workspacePath, '../copilot-prompts/mcp-server/build/index.js'),
46
+ path.join(workspacePath, 'copilot-prompts/mcp-server/build/index.js')
47
+ ];
48
+ for (const p of possiblePaths) {
49
+ if (fs.existsSync(p)) {
50
+ mcpServerPath = p;
51
+ break;
52
+ }
53
+ }
54
+ if (!mcpServerPath) {
55
+ // 尝试查找 src/index.ts (开发模式)
56
+ const srcPath = path.join(workspacePath, 'mcp-server/src/index.ts');
57
+ if (fs.existsSync(srcPath)) {
58
+ results.warnings.push('检测到开发模式,请先运行 npm run build 编译服务器');
59
+ mcpServerPath = '${workspaceFolder}/mcp-server/build/index.js';
60
+ }
61
+ else {
62
+ return {
63
+ content: [{
64
+ type: 'text',
65
+ text: JSON.stringify({
66
+ error: 'MCP 服务器未找到',
67
+ hint: '请确保 mcp-server/build/index.js 存在,或运行 npm run build'
68
+ }, null, 2)
69
+ }]
70
+ };
71
+ }
72
+ }
73
+ const relativePath = mcpServerPath.startsWith(workspacePath)
74
+ ? '${workspaceFolder}/' + path.relative(workspacePath, mcpServerPath)
75
+ : mcpServerPath;
76
+ results.steps.push({
77
+ step: '检测 MCP 服务器路径',
78
+ status: 'success',
79
+ detail: relativePath
80
+ });
81
+ // Step 3: 创建或更新 mcp.json
82
+ const mcpJsonPath = path.join(vscodeDir, 'mcp.json');
83
+ const mcpConfig = {
84
+ servers: {
85
+ 'copilot-prompts': {
86
+ command: 'node',
87
+ args: [relativePath],
88
+ env: {},
89
+ autoStart: true
90
+ }
91
+ }
92
+ };
93
+ if (fs.existsSync(mcpJsonPath)) {
94
+ // 合并现有配置
95
+ try {
96
+ const existingConfig = JSON.parse(fs.readFileSync(mcpJsonPath, 'utf-8'));
97
+ // 检查是否使用了旧格式 mcpServers
98
+ if (existingConfig.mcpServers && !existingConfig.servers) {
99
+ results.warnings.push('检测到旧版配置格式(mcpServers),已自动升级为新格式(servers)');
100
+ existingConfig.servers = existingConfig.mcpServers;
101
+ delete existingConfig.mcpServers;
102
+ }
103
+ if (existingConfig.servers?.['copilot-prompts']) {
104
+ // 确保现有配置包含必要字段
105
+ existingConfig.servers['copilot-prompts'] = {
106
+ ...mcpConfig.servers['copilot-prompts'],
107
+ ...existingConfig.servers['copilot-prompts']
108
+ };
109
+ fs.writeFileSync(mcpJsonPath, JSON.stringify(existingConfig, null, 2));
110
+ results.steps.push({ step: '更新 mcp.json', status: 'success' });
111
+ }
112
+ else {
113
+ existingConfig.servers = {
114
+ ...existingConfig.servers,
115
+ ...mcpConfig.servers
116
+ };
117
+ fs.writeFileSync(mcpJsonPath, JSON.stringify(existingConfig, null, 2));
118
+ results.steps.push({ step: '合并配置到 mcp.json', status: 'success' });
119
+ }
120
+ }
121
+ catch (err) {
122
+ fs.writeFileSync(mcpJsonPath, JSON.stringify(mcpConfig, null, 2));
123
+ results.steps.push({ step: '重新创建 mcp.json', status: 'success' });
124
+ results.warnings.push(`原配置文件解析失败: ${err}`);
125
+ }
126
+ }
127
+ else {
128
+ fs.writeFileSync(mcpJsonPath, JSON.stringify(mcpConfig, null, 2));
129
+ results.steps.push({ step: '创建 mcp.json', status: 'success' });
130
+ }
131
+ // Step 4: 创建或更新 settings.json
132
+ const settingsJsonPath = path.join(vscodeDir, 'settings.json');
133
+ const mcpSettings = {
134
+ 'github.copilot.chat.mcp.enabled': true,
135
+ 'github.copilot.chat.mcp.configFile': '${workspaceFolder}/.vscode/mcp.json',
136
+ 'github.copilot.chat.mcp.autoStart': true
137
+ };
138
+ if (fs.existsSync(settingsJsonPath)) {
139
+ try {
140
+ const existingSettings = JSON.parse(fs.readFileSync(settingsJsonPath, 'utf-8'));
141
+ const updated = { ...existingSettings, ...mcpSettings };
142
+ // 确保 JSON 格式正确,添加结尾换行
143
+ fs.writeFileSync(settingsJsonPath, JSON.stringify(updated, null, 2) + '\n');
144
+ results.steps.push({ step: '更新 settings.json', status: 'success' });
145
+ }
146
+ catch {
147
+ fs.writeFileSync(settingsJsonPath, JSON.stringify(mcpSettings, null, 2) + '\n');
148
+ results.steps.push({ step: '重新创建 settings.json', status: 'success' });
149
+ }
150
+ }
151
+ else {
152
+ fs.writeFileSync(settingsJsonPath, JSON.stringify(mcpSettings, null, 2) + '\n');
153
+ results.steps.push({ step: '创建 settings.json', status: 'success' });
154
+ }
155
+ // Step 5: 创建 extensions.json (推荐扩展)
156
+ const extensionsJsonPath = path.join(vscodeDir, 'extensions.json');
157
+ const recommendedExtensions = {
158
+ recommendations: [
159
+ 'github.copilot',
160
+ 'github.copilot-chat'
161
+ ]
162
+ };
163
+ if (!fs.existsSync(extensionsJsonPath)) {
164
+ fs.writeFileSync(extensionsJsonPath, JSON.stringify(recommendedExtensions, null, 2));
165
+ results.steps.push({ step: '创建 extensions.json', status: 'success' });
166
+ }
167
+ else {
168
+ results.steps.push({ step: 'extensions.json 已存在', status: 'skip' });
169
+ }
170
+ // Step 6: 添加到 .gitignore (可选)
171
+ const gitignorePath = path.join(workspacePath, '.gitignore');
172
+ if (fs.existsSync(gitignorePath)) {
173
+ const gitignoreContent = fs.readFileSync(gitignorePath, 'utf-8');
174
+ if (!gitignoreContent.includes('.vscode/mcp.json')) {
175
+ const updatedContent = gitignoreContent + '\n# MCP 配置(本地)\n.vscode/mcp.json\n';
176
+ fs.writeFileSync(gitignorePath, updatedContent);
177
+ results.steps.push({ step: '添加到 .gitignore', status: 'success' });
178
+ }
179
+ else {
180
+ results.steps.push({ step: '.gitignore 已包含配置', status: 'skip' });
181
+ }
182
+ }
183
+ else {
184
+ results.warnings.push('未检测到 .gitignore,建议手动添加 .vscode/mcp.json');
185
+ }
186
+ // Step 7: 自动分析项目并生成 copilot-instructions.md
187
+ const generateInstructions = args.generateInstructions !== false; // 默认 true
188
+ if (generateInstructions) {
189
+ logger.log('🔍 分析项目并生成 copilot-instructions.md...');
190
+ try {
191
+ // 分析项目以推荐 Agents
192
+ const analysisResult = await analyzeProject({ projectPath: workspacePath });
193
+ const analysisContent = analysisResult.content[0];
194
+ if (analysisContent.type === 'text') {
195
+ const analysisData = JSON.parse(analysisContent.text);
196
+ if (analysisData.success && analysisData.features) {
197
+ // 根据项目特征推荐 Agents
198
+ const agentIds = [];
199
+ const features = analysisData.features;
200
+ // Vue 3 项目
201
+ if (features.frameworks?.includes('Vue 3') || features.frameworks?.includes('Vue')) {
202
+ agentIds.push('vue3');
203
+ }
204
+ // LogicFlow
205
+ if (features.tools?.includes('LogicFlow')) {
206
+ agentIds.push('logicflow');
207
+ }
208
+ // 国际化
209
+ if (features.keywords?.includes('i18n') || features.keywords?.includes('国际化')) {
210
+ agentIds.push('i18n');
211
+ }
212
+ // Flutter
213
+ if (features.projectType === 'flutter') {
214
+ agentIds.push('flutter');
215
+ }
216
+ // 微信小程序
217
+ if (features.projectType === 'wechat-miniprogram') {
218
+ agentIds.push('wechat-miniprogram');
219
+ }
220
+ // 生成配置文件
221
+ if (agentIds.length > 0) {
222
+ const configResult = await generateConfig({
223
+ projectPath: workspacePath,
224
+ agentIds,
225
+ autoMatch: false,
226
+ updateMode: 'merge'
227
+ });
228
+ const configContent = configResult.content[0];
229
+ if (configContent.type === 'text') {
230
+ const configData = JSON.parse(configContent.text);
231
+ if (configData.success) {
232
+ results.steps.push({
233
+ step: '生成 copilot-instructions.md',
234
+ status: 'success',
235
+ detail: `应用了 ${configData.agents?.length || 0} 个 Agents: ${agentIds.join(', ')}`
236
+ });
237
+ }
238
+ else {
239
+ results.warnings.push(`配置生成失败: ${configData.error || '未知错误'}`);
240
+ }
241
+ }
242
+ }
243
+ else {
244
+ results.warnings.push('未找到匹配的 Agents,跳过配置生成');
245
+ results.warnings.push('你可以稍后手动运行 generate_config 工具并指定 agentIds');
246
+ }
247
+ }
248
+ else {
249
+ results.warnings.push(`项目分析失败: ${analysisData.error || '未知错误'}`);
250
+ }
251
+ }
252
+ }
253
+ catch (error) {
254
+ results.warnings.push(`自动生成配置失败: ${error instanceof Error ? error.message : String(error)}`);
255
+ results.warnings.push('你可以稍后手动运行 generate_config 工具生成配置');
256
+ }
257
+ }
258
+ else {
259
+ results.steps.push({ step: '跳过 copilot-instructions.md 生成', status: 'skip' });
260
+ }
261
+ logger.log('✅ 自动配置完成!');
262
+ return {
263
+ content: [{
264
+ type: 'text',
265
+ text: JSON.stringify({
266
+ success: true,
267
+ message: '🎉 MCP 服务器已自动配置到工作区',
268
+ ...results,
269
+ nextSteps: [
270
+ '1. 重新加载 VS Code 窗口 (Cmd+Shift+P → Reload Window)',
271
+ '2. 打开 GitHub Copilot Chat',
272
+ '3. 开始使用:Copilot 会自动应用项目规范',
273
+ '4. 高级用法:尝试说"获取 Vue 3 相关规范"'
274
+ ]
275
+ }, null, 2)
276
+ }]
277
+ };
278
+ }
279
+ catch (error) {
280
+ logger.error(`自动配置失败: ${error}`);
281
+ return {
282
+ content: [{
283
+ type: 'text',
284
+ text: JSON.stringify({
285
+ error: error instanceof Error ? error.message : String(error)
286
+ }, null, 2)
287
+ }]
288
+ };
289
+ }
290
+ }
291
+ //# sourceMappingURL=autoSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoSetup.js","sourceRoot":"","sources":["../../src/tools/autoSetup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 生成配置文件工具
3
+ */
4
+ export declare function generateConfig(args: {
5
+ projectPath: string;
6
+ agentIds?: string[];
7
+ autoMatch?: boolean;
8
+ updateMode?: 'merge' | 'overwrite';
9
+ configId?: string;
10
+ }): Promise<{
11
+ content: Array<{
12
+ type: string;
13
+ text: string;
14
+ }>;
15
+ }>;
16
+ //# sourceMappingURL=generateConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateConfig.d.ts","sourceRoot":"","sources":["../../src/tools/generateConfig.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC;IACR,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD,CAAC,CAqZD"}