agentinit 1.6.0 → 1.8.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/CHANGELOG.md +40 -0
- package/README.md +220 -114
- package/dist/agents/Agent.d.ts +44 -0
- package/dist/agents/Agent.d.ts.map +1 -1
- package/dist/agents/Agent.js +111 -22
- package/dist/agents/Agent.js.map +1 -1
- package/dist/agents/AiderAgent.d.ts +9 -0
- package/dist/agents/AiderAgent.d.ts.map +1 -0
- package/dist/agents/AiderAgent.js +135 -0
- package/dist/agents/AiderAgent.js.map +1 -0
- package/dist/agents/ClaudeAgent.d.ts +4 -0
- package/dist/agents/ClaudeAgent.d.ts.map +1 -1
- package/dist/agents/ClaudeAgent.js +33 -18
- package/dist/agents/ClaudeAgent.js.map +1 -1
- package/dist/agents/ClaudeDesktopAgent.d.ts +5 -0
- package/dist/agents/ClaudeDesktopAgent.d.ts.map +1 -1
- package/dist/agents/ClaudeDesktopAgent.js +31 -1
- package/dist/agents/ClaudeDesktopAgent.js.map +1 -1
- package/dist/agents/ClineAgent.d.ts +8 -0
- package/dist/agents/ClineAgent.d.ts.map +1 -0
- package/dist/agents/ClineAgent.js +42 -0
- package/dist/agents/ClineAgent.js.map +1 -0
- package/dist/agents/CodexCliAgent.d.ts +4 -0
- package/dist/agents/CodexCliAgent.d.ts.map +1 -1
- package/dist/agents/CodexCliAgent.js +38 -8
- package/dist/agents/CodexCliAgent.js.map +1 -1
- package/dist/agents/CopilotAgent.d.ts +9 -0
- package/dist/agents/CopilotAgent.d.ts.map +1 -0
- package/dist/agents/CopilotAgent.js +131 -0
- package/dist/agents/CopilotAgent.js.map +1 -0
- package/dist/agents/CursorAgent.d.ts +4 -4
- package/dist/agents/CursorAgent.d.ts.map +1 -1
- package/dist/agents/CursorAgent.js +32 -43
- package/dist/agents/CursorAgent.js.map +1 -1
- package/dist/agents/DroidAgent.d.ts +5 -0
- package/dist/agents/DroidAgent.d.ts.map +1 -1
- package/dist/agents/DroidAgent.js +37 -18
- package/dist/agents/DroidAgent.js.map +1 -1
- package/dist/agents/GeminiCliAgent.d.ts +4 -0
- package/dist/agents/GeminiCliAgent.d.ts.map +1 -1
- package/dist/agents/GeminiCliAgent.js +37 -8
- package/dist/agents/GeminiCliAgent.js.map +1 -1
- package/dist/agents/MarkdownRulesAgent.d.ts +13 -0
- package/dist/agents/MarkdownRulesAgent.d.ts.map +1 -0
- package/dist/agents/MarkdownRulesAgent.js +53 -0
- package/dist/agents/MarkdownRulesAgent.js.map +1 -0
- package/dist/agents/RooCodeAgent.d.ts +9 -0
- package/dist/agents/RooCodeAgent.d.ts.map +1 -0
- package/dist/agents/RooCodeAgent.js +131 -0
- package/dist/agents/RooCodeAgent.js.map +1 -0
- package/dist/agents/WindsurfAgent.d.ts +9 -0
- package/dist/agents/WindsurfAgent.d.ts.map +1 -0
- package/dist/agents/WindsurfAgent.js +127 -0
- package/dist/agents/WindsurfAgent.js.map +1 -0
- package/dist/agents/ZedAgent.d.ts +9 -0
- package/dist/agents/ZedAgent.d.ts.map +1 -0
- package/dist/agents/ZedAgent.js +127 -0
- package/dist/agents/ZedAgent.js.map +1 -0
- package/dist/cli.js +29992 -11107
- package/dist/cli.js.map +1 -1
- package/dist/commands/apply.d.ts +10 -0
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +136 -5
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/detect.d.ts.map +1 -1
- package/dist/commands/detect.js +25 -0
- package/dist/commands/detect.js.map +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp.d.ts +2 -7
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +541 -110
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/plugins.d.ts +3 -0
- package/dist/commands/plugins.d.ts.map +1 -0
- package/dist/commands/plugins.js +309 -0
- package/dist/commands/plugins.js.map +1 -0
- package/dist/commands/revert.d.ts +7 -0
- package/dist/commands/revert.d.ts.map +1 -0
- package/dist/commands/revert.js +48 -0
- package/dist/commands/revert.js.map +1 -0
- package/dist/commands/rules.d.ts +3 -0
- package/dist/commands/rules.d.ts.map +1 -0
- package/dist/commands/rules.js +354 -0
- package/dist/commands/rules.js.map +1 -0
- package/dist/commands/skills.d.ts +3 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +179 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/sync.d.ts +1 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +18 -1
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/verifyMcp.d.ts.map +1 -1
- package/dist/commands/verifyMcp.js +27 -5
- package/dist/commands/verifyMcp.js.map +1 -1
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/constants/mcp.d.ts +1 -0
- package/dist/constants/mcp.d.ts.map +1 -1
- package/dist/constants/mcp.js +2 -0
- package/dist/constants/mcp.js.map +1 -1
- package/dist/core/agentDetector.d.ts.map +1 -1
- package/dist/core/agentDetector.js +8 -2
- package/dist/core/agentDetector.js.map +1 -1
- package/dist/core/agentManager.d.ts.map +1 -1
- package/dist/core/agentManager.js +12 -0
- package/dist/core/agentManager.js.map +1 -1
- package/dist/core/gitignoreManager.d.ts +8 -0
- package/dist/core/gitignoreManager.d.ts.map +1 -0
- package/dist/core/gitignoreManager.js +114 -0
- package/dist/core/gitignoreManager.js.map +1 -0
- package/dist/core/managedState.d.ts +42 -0
- package/dist/core/managedState.d.ts.map +1 -0
- package/dist/core/managedState.js +194 -0
- package/dist/core/managedState.js.map +1 -0
- package/dist/core/mcpClient.d.ts +124 -6
- package/dist/core/mcpClient.d.ts.map +1 -1
- package/dist/core/mcpClient.js +385 -39
- package/dist/core/mcpClient.js.map +1 -1
- package/dist/core/pluginManager.d.ts +134 -0
- package/dist/core/pluginManager.d.ts.map +1 -0
- package/dist/core/pluginManager.js +845 -0
- package/dist/core/pluginManager.js.map +1 -0
- package/dist/core/projectSkills.d.ts +19 -0
- package/dist/core/projectSkills.d.ts.map +1 -0
- package/dist/core/projectSkills.js +105 -0
- package/dist/core/projectSkills.js.map +1 -0
- package/dist/core/propagator.d.ts +8 -1
- package/dist/core/propagator.d.ts.map +1 -1
- package/dist/core/propagator.js +179 -36
- package/dist/core/propagator.js.map +1 -1
- package/dist/core/rulesApplicator.d.ts +0 -4
- package/dist/core/rulesApplicator.d.ts.map +1 -1
- package/dist/core/rulesApplicator.js +8 -39
- package/dist/core/rulesApplicator.js.map +1 -1
- package/dist/core/rulesTemplateLoader.js +2 -2
- package/dist/core/rulesTemplateLoader.js.map +1 -1
- package/dist/core/skillsManager.d.ts +61 -0
- package/dist/core/skillsManager.d.ts.map +1 -0
- package/dist/core/skillsManager.js +407 -0
- package/dist/core/skillsManager.js.map +1 -0
- package/dist/lib/utils/index.d.ts +3 -1
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +4 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/types/index.d.ts +24 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/jsonSchema.d.ts +31 -0
- package/dist/types/jsonSchema.d.ts.map +1 -0
- package/dist/types/jsonSchema.js +6 -0
- package/dist/types/jsonSchema.js.map +1 -0
- package/dist/types/plugins.d.ts +161 -0
- package/dist/types/plugins.d.ts.map +1 -0
- package/dist/types/plugins.js +2 -0
- package/dist/types/plugins.js.map +1 -0
- package/dist/types/skills.d.ts +50 -0
- package/dist/types/skills.d.ts.map +1 -0
- package/dist/types/skills.js +2 -0
- package/dist/types/skills.js.map +1 -0
- package/dist/utils/packageVersion.d.ts +105 -0
- package/dist/utils/packageVersion.d.ts.map +1 -0
- package/dist/utils/packageVersion.js +219 -0
- package/dist/utils/packageVersion.js.map +1 -0
- package/package.json +7 -2
- package/dist/agentinit-1.6.0.tgz +0 -0
- package/dist/registry/mcpRegistry.d.ts +0 -12
- package/dist/registry/mcpRegistry.d.ts.map +0 -1
- package/dist/registry/mcpRegistry.js +0 -114
- package/dist/registry/mcpRegistry.js.map +0 -1
package/dist/agents/Agent.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { resolve } from 'path';
|
|
2
|
+
import { homedir } from 'os';
|
|
2
3
|
import { pathExists } from '../utils/fs.js';
|
|
3
4
|
import { getFullGlobalConfigPath } from '../utils/paths.js';
|
|
4
5
|
import { RulesApplicator } from '../core/rulesApplicator.js';
|
|
@@ -75,6 +76,26 @@ export class Agent {
|
|
|
75
76
|
getGlobalMcpPath() {
|
|
76
77
|
return getFullGlobalConfigPath(this.definition.globalConfigPath, this.definition.globalConfigPaths);
|
|
77
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Get the project rules path for this agent
|
|
81
|
+
* Returns null if rules are not supported
|
|
82
|
+
*/
|
|
83
|
+
getProjectRulesPath(projectPath) {
|
|
84
|
+
if (!this.capabilities.rules || !this.definition.rulesPath) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
return resolve(projectPath, this.definition.rulesPath);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get the global rules path for this agent
|
|
91
|
+
* Returns null if global rules are not supported
|
|
92
|
+
*/
|
|
93
|
+
getGlobalRulesPath() {
|
|
94
|
+
if (!this.capabilities.rules) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
return getFullGlobalConfigPath(this.definition.globalRulesPath, this.definition.globalRulesPaths);
|
|
98
|
+
}
|
|
78
99
|
/**
|
|
79
100
|
* Check if this agent supports global configuration
|
|
80
101
|
*/
|
|
@@ -94,25 +115,7 @@ export class Agent {
|
|
|
94
115
|
* Can be overridden by specific agents for different global config formats
|
|
95
116
|
*/
|
|
96
117
|
async applyGlobalMCPConfig(servers) {
|
|
97
|
-
|
|
98
|
-
if (!globalPath) {
|
|
99
|
-
throw new Error(`Agent ${this.name} does not support global configuration`);
|
|
100
|
-
}
|
|
101
|
-
// Extract directory from global path and use it as "project path"
|
|
102
|
-
// This allows reusing the existing applyMCPConfig logic
|
|
103
|
-
const lastSlashIndex = Math.max(globalPath.lastIndexOf('/'), globalPath.lastIndexOf('\\'));
|
|
104
|
-
const globalDir = lastSlashIndex > 0 ? globalPath.substring(0, lastSlashIndex) : '';
|
|
105
|
-
// Temporarily override the native config path to point to global config
|
|
106
|
-
const originalNativeConfigPath = this.definition.nativeConfigPath;
|
|
107
|
-
const globalFileName = globalPath.substring(lastSlashIndex + 1);
|
|
108
|
-
this.definition.nativeConfigPath = globalFileName;
|
|
109
|
-
try {
|
|
110
|
-
await this.applyMCPConfig(globalDir, servers);
|
|
111
|
-
}
|
|
112
|
-
finally {
|
|
113
|
-
// Restore original native config path
|
|
114
|
-
this.definition.nativeConfigPath = originalNativeConfigPath;
|
|
115
|
-
}
|
|
118
|
+
await this.withGlobalMcpPath(projectPath => this.applyMCPConfig(projectPath, servers));
|
|
116
119
|
}
|
|
117
120
|
/**
|
|
118
121
|
* Filter MCP servers based on this agent's capabilities
|
|
@@ -152,18 +155,104 @@ export class Agent {
|
|
|
152
155
|
*/
|
|
153
156
|
async applyGlobalRules(rules) {
|
|
154
157
|
const applicator = new RulesApplicator();
|
|
155
|
-
if (!this.
|
|
158
|
+
if (!this.supportsGlobalRules()) {
|
|
156
159
|
return {
|
|
157
160
|
success: false,
|
|
158
161
|
rulesApplied: 0,
|
|
159
162
|
agent: this.name,
|
|
160
163
|
configPath: '',
|
|
161
|
-
errors: [`Agent ${this.name} does not support global
|
|
164
|
+
errors: [`Agent ${this.name} does not support global rules`]
|
|
162
165
|
};
|
|
163
166
|
}
|
|
164
|
-
// Use empty string as project path for global config
|
|
165
167
|
return applicator.applyRulesToAgent(this, rules, '', true);
|
|
166
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Check if this agent supports skills
|
|
171
|
+
*/
|
|
172
|
+
supportsSkills() {
|
|
173
|
+
return this.capabilities.skills && !!this.definition.skillPaths;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Get the skills directory for this agent
|
|
177
|
+
* Returns null if skills are not supported
|
|
178
|
+
*/
|
|
179
|
+
getSkillsDir(projectPath, global) {
|
|
180
|
+
if (!this.definition.skillPaths)
|
|
181
|
+
return null;
|
|
182
|
+
if (global) {
|
|
183
|
+
return this.definition.skillPaths.global.replace('~', homedir());
|
|
184
|
+
}
|
|
185
|
+
return resolve(projectPath, this.definition.skillPaths.project);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Check if this agent supports global rules configuration
|
|
189
|
+
*/
|
|
190
|
+
supportsGlobalRules() {
|
|
191
|
+
return this.getGlobalRulesPath() !== null;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Remove an MCP server from global configuration
|
|
195
|
+
*/
|
|
196
|
+
async removeGlobalMCPServer(serverName) {
|
|
197
|
+
return this.withGlobalMcpPath(projectPath => this.removeMCPServer(projectPath, serverName));
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Get existing MCP servers from this agent's global configuration
|
|
201
|
+
*/
|
|
202
|
+
async getGlobalMCPServers() {
|
|
203
|
+
return this.withGlobalMcpPath(projectPath => this.getMCPServers(projectPath));
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Replace existing markdown rule sections and append the desired rules once.
|
|
207
|
+
*/
|
|
208
|
+
replaceMarkdownRulesSections(existingContent, sections, headingPattern) {
|
|
209
|
+
const existingSections = this.extractExistingSections(existingContent);
|
|
210
|
+
const existingSectionTitles = new Set(existingSections.map(section => section.templateName));
|
|
211
|
+
const keptLines = [];
|
|
212
|
+
let skippingSection = false;
|
|
213
|
+
for (const line of existingContent.split('\n')) {
|
|
214
|
+
const trimmed = line.trim();
|
|
215
|
+
const headingMatch = trimmed.match(headingPattern);
|
|
216
|
+
if (headingMatch?.[1]) {
|
|
217
|
+
skippingSection = existingSectionTitles.has(headingMatch[1].trim());
|
|
218
|
+
if (skippingSection) {
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
if (!skippingSection) {
|
|
223
|
+
keptLines.push(line);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
const baseContent = keptLines.join('\n').replace(/\n{3,}/g, '\n\n').trimEnd();
|
|
227
|
+
const renderedRules = this.generateRulesContent(sections).trim();
|
|
228
|
+
if (!renderedRules) {
|
|
229
|
+
return baseContent ? `${baseContent}\n` : '';
|
|
230
|
+
}
|
|
231
|
+
if (!baseContent) {
|
|
232
|
+
return `${renderedRules}\n`;
|
|
233
|
+
}
|
|
234
|
+
return `${baseContent}\n\n${renderedRules}\n`;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Run an operation against the agent's global MCP file using the native parser.
|
|
238
|
+
*/
|
|
239
|
+
async withGlobalMcpPath(operation) {
|
|
240
|
+
const globalPath = this.getGlobalMcpPath();
|
|
241
|
+
if (!globalPath) {
|
|
242
|
+
throw new Error(`Agent ${this.name} does not support global configuration`);
|
|
243
|
+
}
|
|
244
|
+
const lastSlashIndex = Math.max(globalPath.lastIndexOf('/'), globalPath.lastIndexOf('\\'));
|
|
245
|
+
const globalDir = lastSlashIndex > 0 ? globalPath.substring(0, lastSlashIndex) : '';
|
|
246
|
+
const originalNativeConfigPath = this.definition.nativeConfigPath;
|
|
247
|
+
const globalFileName = globalPath.substring(lastSlashIndex + 1);
|
|
248
|
+
this.definition.nativeConfigPath = globalFileName;
|
|
249
|
+
try {
|
|
250
|
+
return await operation(globalDir);
|
|
251
|
+
}
|
|
252
|
+
finally {
|
|
253
|
+
this.definition.nativeConfigPath = originalNativeConfigPath;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
167
256
|
/**
|
|
168
257
|
* Get a summary of this agent
|
|
169
258
|
*/
|
package/dist/agents/Agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/agents/Agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAS7D;;;GAGG;AACH,MAAM,OAAgB,KAAK;IACf,UAAU,CAAkB;IAEtC,YAAY,UAA2B;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,MAAM,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,OAAO;oBACL,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE,QAAQ;iBACrB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,WAAmB;QAClC,OAAO,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACd,OAAO,uBAAuB,CAC5B,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAChC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAClC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAC1C,CAAC;IAWD;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAA0B;QACnD,MAAM,
|
|
1
|
+
{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/agents/Agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAS7D;;;GAGG;AACH,MAAM,OAAgB,KAAK;IACf,UAAU,CAAkB;IAEtC,YAAY,UAA2B;QACrC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,MAAM,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,OAAO;oBACL,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE,QAAQ;iBACrB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,WAAmB;QAClC,OAAO,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACd,OAAO,uBAAuB,CAC5B,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAChC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAClC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,WAAmB;QACrC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,uBAAuB,CAC5B,IAAI,CAAC,UAAU,CAAC,eAAe,EAC/B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACjC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAC1C,CAAC;IAWD;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAA0B;QACnD,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IACzF,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,OAA0B;QACzC,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC7B,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,OAAO;oBACV,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;gBACrC,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gBACpC,KAAK,KAAK;oBACR,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;gBACnC;oBACE,OAAO,KAAK,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,OAA0B;QAC5C,8BAA8B;QAC9B,OAAO,OAAO,CAAC;IACjB,CAAC;IA8BD;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,WAAmB,EACnB,KAAmB;QAEnB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,OAAO,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAmB;QACxC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,CAAC;gBACf,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,CAAC,SAAS,IAAI,CAAC,IAAI,gCAAgC,CAAC;aAC7D,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,WAAmB,EAAE,MAAgB;QAChD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,CAAC;IAC5C,CAAC;IAQD;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QAC5C,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACO,4BAA4B,CACpC,eAAuB,EACvB,QAAuB,EACvB,cAAsB;QAEtB,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;QACvE,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QAE7F,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAEnD,IAAI,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpE,IAAI,eAAe,EAAE,CAAC;oBACpB,SAAS;gBACX,CAAC;YACH,CAAC;YAED,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAEjE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,GAAG,aAAa,IAAI,CAAC;QAC9B,CAAC;QAED,OAAO,GAAG,WAAW,OAAO,aAAa,IAAI,CAAC;IAChD,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,iBAAiB,CAAI,SAA8C;QACjF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,wCAAwC,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpF,MAAM,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAClE,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC;QAElD,IAAI,CAAC;YACH,OAAO,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,wBAAwB,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MarkdownRulesAgent } from './MarkdownRulesAgent.js';
|
|
2
|
+
import type { MCPServerConfig } from '../types/index.js';
|
|
3
|
+
export declare class AiderAgent extends MarkdownRulesAgent {
|
|
4
|
+
constructor();
|
|
5
|
+
applyMCPConfig(projectPath: string, servers: MCPServerConfig[]): Promise<void>;
|
|
6
|
+
removeMCPServer(projectPath: string, serverName: string): Promise<boolean>;
|
|
7
|
+
getMCPServers(projectPath: string): Promise<MCPServerConfig[]>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=AiderAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AiderAgent.d.ts","sourceRoot":"","sources":["../../src/agents/AiderAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,KAAK,EAAmB,eAAe,EAAiB,MAAM,mBAAmB,CAAC;AAEzF,qBAAa,UAAW,SAAQ,kBAAkB;;IAmD1C,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC9E,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB1E,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA+BrE"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { MarkdownRulesAgent } from './MarkdownRulesAgent.js';
|
|
2
|
+
import { ensureDirectoryExists, readFileIfExists, writeFile } from '../utils/fs.js';
|
|
3
|
+
export class AiderAgent extends MarkdownRulesAgent {
|
|
4
|
+
constructor() {
|
|
5
|
+
const definition = {
|
|
6
|
+
id: 'aider',
|
|
7
|
+
name: 'Aider',
|
|
8
|
+
capabilities: {
|
|
9
|
+
mcp: {
|
|
10
|
+
stdio: true,
|
|
11
|
+
http: true,
|
|
12
|
+
sse: true,
|
|
13
|
+
},
|
|
14
|
+
rules: true,
|
|
15
|
+
hooks: false,
|
|
16
|
+
commands: false,
|
|
17
|
+
subagents: false,
|
|
18
|
+
statusline: false,
|
|
19
|
+
skills: false,
|
|
20
|
+
},
|
|
21
|
+
configFiles: [
|
|
22
|
+
{
|
|
23
|
+
path: 'AGENTS.md',
|
|
24
|
+
purpose: 'rules',
|
|
25
|
+
format: 'markdown',
|
|
26
|
+
type: 'file',
|
|
27
|
+
optional: true,
|
|
28
|
+
description: 'Aider instructions file',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
path: '.aider.conf.yml',
|
|
32
|
+
purpose: 'settings',
|
|
33
|
+
format: 'yaml',
|
|
34
|
+
type: 'file',
|
|
35
|
+
optional: true,
|
|
36
|
+
description: 'Aider configuration',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
path: '.mcp.json',
|
|
40
|
+
purpose: 'mcp',
|
|
41
|
+
format: 'json',
|
|
42
|
+
type: 'file',
|
|
43
|
+
optional: true,
|
|
44
|
+
description: 'Aider MCP server configuration',
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
nativeConfigPath: '.mcp.json',
|
|
48
|
+
rulesPath: 'AGENTS.md',
|
|
49
|
+
};
|
|
50
|
+
super(definition);
|
|
51
|
+
}
|
|
52
|
+
async applyMCPConfig(projectPath, servers) {
|
|
53
|
+
const configPath = this.getNativeMcpPath(projectPath);
|
|
54
|
+
await ensureDirectoryExists(configPath);
|
|
55
|
+
const existingContent = await readFileIfExists(configPath);
|
|
56
|
+
let existingConfig = { mcpServers: {} };
|
|
57
|
+
if (existingContent) {
|
|
58
|
+
try {
|
|
59
|
+
existingConfig = JSON.parse(existingContent);
|
|
60
|
+
if (!existingConfig.mcpServers) {
|
|
61
|
+
existingConfig.mcpServers = {};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
existingConfig = { mcpServers: {} };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
for (const server of servers) {
|
|
69
|
+
const nextServer = {};
|
|
70
|
+
if (server.command)
|
|
71
|
+
nextServer.command = server.command;
|
|
72
|
+
if (server.args?.length)
|
|
73
|
+
nextServer.args = server.args;
|
|
74
|
+
if (server.env && Object.keys(server.env).length > 0)
|
|
75
|
+
nextServer.env = server.env;
|
|
76
|
+
if (server.url)
|
|
77
|
+
nextServer.url = server.url;
|
|
78
|
+
if (server.headers && Object.keys(server.headers).length > 0)
|
|
79
|
+
nextServer.headers = server.headers;
|
|
80
|
+
existingConfig.mcpServers[server.name] = nextServer;
|
|
81
|
+
}
|
|
82
|
+
await writeFile(configPath, JSON.stringify(existingConfig, null, 2));
|
|
83
|
+
}
|
|
84
|
+
async removeMCPServer(projectPath, serverName) {
|
|
85
|
+
const configPath = this.getNativeMcpPath(projectPath);
|
|
86
|
+
const content = await readFileIfExists(configPath);
|
|
87
|
+
if (!content)
|
|
88
|
+
return false;
|
|
89
|
+
try {
|
|
90
|
+
const config = JSON.parse(content);
|
|
91
|
+
if (!config.mcpServers || !(serverName in config.mcpServers))
|
|
92
|
+
return false;
|
|
93
|
+
delete config.mcpServers[serverName];
|
|
94
|
+
await writeFile(configPath, JSON.stringify(config, null, 2));
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async getMCPServers(projectPath) {
|
|
102
|
+
const configPath = this.getNativeMcpPath(projectPath);
|
|
103
|
+
const content = await readFileIfExists(configPath);
|
|
104
|
+
if (!content)
|
|
105
|
+
return [];
|
|
106
|
+
try {
|
|
107
|
+
const config = JSON.parse(content);
|
|
108
|
+
const servers = [];
|
|
109
|
+
if (config.mcpServers) {
|
|
110
|
+
for (const [name, serverConfig] of Object.entries(config.mcpServers)) {
|
|
111
|
+
const server = {
|
|
112
|
+
name,
|
|
113
|
+
type: (serverConfig.command ? 'stdio' : 'http'),
|
|
114
|
+
};
|
|
115
|
+
if (serverConfig.command)
|
|
116
|
+
server.command = serverConfig.command;
|
|
117
|
+
if (serverConfig.args)
|
|
118
|
+
server.args = serverConfig.args;
|
|
119
|
+
if (serverConfig.env)
|
|
120
|
+
server.env = serverConfig.env;
|
|
121
|
+
if (serverConfig.url)
|
|
122
|
+
server.url = serverConfig.url;
|
|
123
|
+
if (serverConfig.headers)
|
|
124
|
+
server.headers = serverConfig.headers;
|
|
125
|
+
servers.push(server);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return servers;
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return [];
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=AiderAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AiderAgent.js","sourceRoot":"","sources":["../../src/agents/AiderAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,10 @@ export declare class ClaudeAgent extends Agent {
|
|
|
18
18
|
* Apply MCP configuration to Claude's native .mcp.json format
|
|
19
19
|
*/
|
|
20
20
|
applyMCPConfig(projectPath: string, servers: MCPServerConfig[]): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Remove an MCP server by name from Claude's .mcp.json
|
|
23
|
+
*/
|
|
24
|
+
removeMCPServer(projectPath: string, serverName: string): Promise<boolean>;
|
|
21
25
|
/**
|
|
22
26
|
* Claude supports all MCP server types, so no filtering needed
|
|
23
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeAgent.d.ts","sourceRoot":"","sources":["../../src/agents/ClaudeAgent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,KAAK,EAAE,eAAe,EAAkC,MAAM,mBAAmB,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,KAAK;;
|
|
1
|
+
{"version":3,"file":"ClaudeAgent.d.ts","sourceRoot":"","sources":["../../src/agents/ClaudeAgent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,KAAK,EAAE,eAAe,EAAkC,MAAM,mBAAmB,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,KAAK;;IAkDpC;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqEpF;;OAEG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBhF;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE;IAI/D;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE;IAIlE;;OAEG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC;IAIlB;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAI/C;;OAEG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE;IAmCvD;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM;IAiBrD;;OAEG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CA6CrE"}
|
|
@@ -27,7 +27,8 @@ export class ClaudeAgent extends Agent {
|
|
|
27
27
|
hooks: true,
|
|
28
28
|
commands: true,
|
|
29
29
|
subagents: true,
|
|
30
|
-
statusline: true
|
|
30
|
+
statusline: true,
|
|
31
|
+
skills: true
|
|
31
32
|
},
|
|
32
33
|
configFiles: [
|
|
33
34
|
{
|
|
@@ -48,7 +49,13 @@ export class ClaudeAgent extends Agent {
|
|
|
48
49
|
}
|
|
49
50
|
],
|
|
50
51
|
nativeConfigPath: '.mcp.json',
|
|
51
|
-
globalConfigPath: '~/.claude.json'
|
|
52
|
+
globalConfigPath: '~/.claude.json',
|
|
53
|
+
rulesPath: 'CLAUDE.md',
|
|
54
|
+
globalRulesPath: '~/.claude/CLAUDE.md',
|
|
55
|
+
skillPaths: {
|
|
56
|
+
project: '.claude/skills/',
|
|
57
|
+
global: '~/.claude/skills/'
|
|
58
|
+
}
|
|
52
59
|
};
|
|
53
60
|
super(definition);
|
|
54
61
|
}
|
|
@@ -115,6 +122,26 @@ export class ClaudeAgent extends Agent {
|
|
|
115
122
|
const configJson = JSON.stringify(existingConfig, null, 2);
|
|
116
123
|
await writeFile(mcpConfigPath, configJson);
|
|
117
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Remove an MCP server by name from Claude's .mcp.json
|
|
127
|
+
*/
|
|
128
|
+
async removeMCPServer(projectPath, serverName) {
|
|
129
|
+
const mcpConfigPath = this.getNativeMcpPath(projectPath);
|
|
130
|
+
const existingContent = await readFileIfExists(mcpConfigPath);
|
|
131
|
+
if (!existingContent)
|
|
132
|
+
return false;
|
|
133
|
+
try {
|
|
134
|
+
const config = JSON.parse(existingContent);
|
|
135
|
+
if (!config.mcpServers || !(serverName in config.mcpServers))
|
|
136
|
+
return false;
|
|
137
|
+
delete config.mcpServers[serverName];
|
|
138
|
+
await writeFile(mcpConfigPath, JSON.stringify(config, null, 2));
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
118
145
|
/**
|
|
119
146
|
* Claude supports all MCP server types, so no filtering needed
|
|
120
147
|
*/
|
|
@@ -131,25 +158,13 @@ export class ClaudeAgent extends Agent {
|
|
|
131
158
|
* Apply rules configuration to Claude's CLAUDE.md format
|
|
132
159
|
*/
|
|
133
160
|
async applyRulesConfig(configPath, rules, existingContent) {
|
|
134
|
-
|
|
135
|
-
let content = existingContent;
|
|
136
|
-
// For markdown, we'll append rules directly
|
|
137
|
-
if (content && !content.endsWith('\n')) {
|
|
138
|
-
content += '\n';
|
|
139
|
-
}
|
|
140
|
-
if (content) {
|
|
141
|
-
content += '\n';
|
|
142
|
-
}
|
|
143
|
-
content += rulesSection;
|
|
144
|
-
return content.trim() + '\n';
|
|
161
|
+
return this.replaceMarkdownRulesSections(existingContent, rules.sections, /^##\s+(.+)$/);
|
|
145
162
|
}
|
|
146
163
|
/**
|
|
147
164
|
* Extract existing rule texts from CLAUDE.md content
|
|
148
165
|
*/
|
|
149
166
|
extractExistingRules(content) {
|
|
150
|
-
|
|
151
|
-
const ruleLines = content.split('\n').filter(line => line.trim().startsWith('- '));
|
|
152
|
-
return ruleLines.map(line => line.replace(/^- /, '').trim()).filter(rule => rule.length > 0);
|
|
167
|
+
return this.extractExistingSections(content).flatMap(section => section.rules);
|
|
153
168
|
}
|
|
154
169
|
/**
|
|
155
170
|
* Extract existing rule sections from CLAUDE.md content using ## headers
|
|
@@ -163,7 +178,7 @@ export class ClaudeAgent extends Agent {
|
|
|
163
178
|
// Check if it's a section header
|
|
164
179
|
if (trimmed.startsWith('## ') && trimmed.includes(' ')) {
|
|
165
180
|
// Start new section
|
|
166
|
-
if (currentSection) {
|
|
181
|
+
if (currentSection && currentSection.rules.length > 0) {
|
|
167
182
|
sections.push(currentSection);
|
|
168
183
|
}
|
|
169
184
|
const sectionName = trimmed.replace(/^##\s*/, '');
|
|
@@ -180,7 +195,7 @@ export class ClaudeAgent extends Agent {
|
|
|
180
195
|
}
|
|
181
196
|
}
|
|
182
197
|
// Add the last section
|
|
183
|
-
if (currentSection) {
|
|
198
|
+
if (currentSection && currentSection.rules.length > 0) {
|
|
184
199
|
sections.push(currentSection);
|
|
185
200
|
}
|
|
186
201
|
return sections;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeAgent.js","sourceRoot":"","sources":["../../src/agents/ClaudeAgent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAIpF;;;;;;;;;;GAUG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC;QACE,MAAM,UAAU,GAAoB;YAClC,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,oDAAoD;YACzD,YAAY,EAAE;gBACZ,GAAG,EAAE;oBACH,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;oBACV,GAAG,EAAE,IAAI;iBACV;gBACD,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"ClaudeAgent.js","sourceRoot":"","sources":["../../src/agents/ClaudeAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,11 @@ export declare class ClaudeDesktopAgent extends Agent {
|
|
|
21
21
|
* Apply MCP configuration to Claude Desktop's global config format
|
|
22
22
|
*/
|
|
23
23
|
applyGlobalMCPConfig(servers: MCPServerConfig[]): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Remove an MCP server by name — Claude Desktop only supports global
|
|
26
|
+
*/
|
|
27
|
+
removeMCPServer(_projectPath: string, _serverName: string): Promise<boolean>;
|
|
28
|
+
removeGlobalMCPServer(serverName: string): Promise<boolean>;
|
|
24
29
|
/**
|
|
25
30
|
* Claude Desktop supports all MCP server types, so no filtering needed
|
|
26
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeDesktopAgent.d.ts","sourceRoot":"","sources":["../../src/agents/ClaudeDesktopAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;;
|
|
1
|
+
{"version":3,"file":"ClaudeDesktopAgent.d.ts","sourceRoot":"","sources":["../../src/agents/ClaudeDesktopAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;;IAmC3C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;IACG,oBAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA+DrE;;OAEG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5E,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBjE;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE;IAI/D;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE;IAIlE;;OAEG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC;IAIlB;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAI/C;;OAEG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE;IAIvD;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM;CAGtD"}
|
|
@@ -21,7 +21,8 @@ export class ClaudeDesktopAgent extends Agent {
|
|
|
21
21
|
hooks: false, // No hook system
|
|
22
22
|
commands: false, // No custom commands
|
|
23
23
|
subagents: false, // No subagent support
|
|
24
|
-
statusline: false // No statusline customization
|
|
24
|
+
statusline: false, // No statusline customization
|
|
25
|
+
skills: true
|
|
25
26
|
},
|
|
26
27
|
configFiles: [], // Claude Desktop doesn't have project-specific detection files
|
|
27
28
|
nativeConfigPath: 'claude_desktop_config.json', // Not used for project-level
|
|
@@ -29,6 +30,10 @@ export class ClaudeDesktopAgent extends Agent {
|
|
|
29
30
|
windows: '%APPDATA%/Claude/claude_desktop_config.json',
|
|
30
31
|
darwin: '~/Library/Application Support/Claude/claude_desktop_config.json',
|
|
31
32
|
linux: '~/.config/Claude/claude_desktop_config.json'
|
|
33
|
+
},
|
|
34
|
+
skillPaths: {
|
|
35
|
+
project: '.claude/skills/',
|
|
36
|
+
global: '~/.claude/skills/'
|
|
32
37
|
}
|
|
33
38
|
};
|
|
34
39
|
super(definition);
|
|
@@ -103,6 +108,31 @@ export class ClaudeDesktopAgent extends Agent {
|
|
|
103
108
|
const configJson = JSON.stringify(existingConfig, null, 2);
|
|
104
109
|
await writeFile(globalPath, configJson);
|
|
105
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Remove an MCP server by name — Claude Desktop only supports global
|
|
113
|
+
*/
|
|
114
|
+
async removeMCPServer(_projectPath, _serverName) {
|
|
115
|
+
throw new Error('Claude Desktop only supports global configuration. Use --global flag.');
|
|
116
|
+
}
|
|
117
|
+
async removeGlobalMCPServer(serverName) {
|
|
118
|
+
const globalPath = this.getGlobalMcpPath();
|
|
119
|
+
if (!globalPath)
|
|
120
|
+
return false;
|
|
121
|
+
const content = await readFileIfExists(globalPath);
|
|
122
|
+
if (!content)
|
|
123
|
+
return false;
|
|
124
|
+
try {
|
|
125
|
+
const config = JSON.parse(content);
|
|
126
|
+
if (!config.mcpServers || !(serverName in config.mcpServers))
|
|
127
|
+
return false;
|
|
128
|
+
delete config.mcpServers[serverName];
|
|
129
|
+
await writeFile(globalPath, JSON.stringify(config, null, 2));
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
106
136
|
/**
|
|
107
137
|
* Claude Desktop supports all MCP server types, so no filtering needed
|
|
108
138
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeDesktopAgent.js","sourceRoot":"","sources":["../../src/agents/ClaudeDesktopAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAIpF;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C;QACE,MAAM,UAAU,GAAoB;YAClC,EAAE,EAAE,gBAAgB;YACpB,IAAI,EAAE,gBAAgB;YACtB,GAAG,EAAE,4BAA4B;YACjC,YAAY,EAAE;gBACZ,GAAG,EAAE;oBACH,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,IAAI;oBACV,GAAG,EAAE,IAAI;iBACV;gBACD,KAAK,EAAE,KAAK,EAAK,0BAA0B;gBAC3C,KAAK,EAAE,KAAK,EAAK,iBAAiB;gBAClC,QAAQ,EAAE,KAAK,EAAE,qBAAqB;gBACtC,SAAS,EAAE,KAAK,EAAC,sBAAsB;gBACvC,UAAU,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"ClaudeDesktopAgent.js","sourceRoot":"","sources":["../../src/agents/ClaudeDesktopAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MarkdownRulesAgent } from './MarkdownRulesAgent.js';
|
|
2
|
+
import type { MCPServerConfig } from '../types/index.js';
|
|
3
|
+
export declare class ClineAgent extends MarkdownRulesAgent {
|
|
4
|
+
constructor();
|
|
5
|
+
applyMCPConfig(_projectPath: string, _servers: MCPServerConfig[]): Promise<void>;
|
|
6
|
+
removeMCPServer(_projectPath: string, _serverName: string): Promise<boolean>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=ClineAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClineAgent.d.ts","sourceRoot":"","sources":["../../src/agents/ClineAgent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,mBAAmB,CAAC;AAE1E,qBAAa,UAAW,SAAQ,kBAAkB;;IAmC1C,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhF,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGnF"}
|