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.
Files changed (173) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +220 -114
  3. package/dist/agents/Agent.d.ts +44 -0
  4. package/dist/agents/Agent.d.ts.map +1 -1
  5. package/dist/agents/Agent.js +111 -22
  6. package/dist/agents/Agent.js.map +1 -1
  7. package/dist/agents/AiderAgent.d.ts +9 -0
  8. package/dist/agents/AiderAgent.d.ts.map +1 -0
  9. package/dist/agents/AiderAgent.js +135 -0
  10. package/dist/agents/AiderAgent.js.map +1 -0
  11. package/dist/agents/ClaudeAgent.d.ts +4 -0
  12. package/dist/agents/ClaudeAgent.d.ts.map +1 -1
  13. package/dist/agents/ClaudeAgent.js +33 -18
  14. package/dist/agents/ClaudeAgent.js.map +1 -1
  15. package/dist/agents/ClaudeDesktopAgent.d.ts +5 -0
  16. package/dist/agents/ClaudeDesktopAgent.d.ts.map +1 -1
  17. package/dist/agents/ClaudeDesktopAgent.js +31 -1
  18. package/dist/agents/ClaudeDesktopAgent.js.map +1 -1
  19. package/dist/agents/ClineAgent.d.ts +8 -0
  20. package/dist/agents/ClineAgent.d.ts.map +1 -0
  21. package/dist/agents/ClineAgent.js +42 -0
  22. package/dist/agents/ClineAgent.js.map +1 -0
  23. package/dist/agents/CodexCliAgent.d.ts +4 -0
  24. package/dist/agents/CodexCliAgent.d.ts.map +1 -1
  25. package/dist/agents/CodexCliAgent.js +38 -8
  26. package/dist/agents/CodexCliAgent.js.map +1 -1
  27. package/dist/agents/CopilotAgent.d.ts +9 -0
  28. package/dist/agents/CopilotAgent.d.ts.map +1 -0
  29. package/dist/agents/CopilotAgent.js +131 -0
  30. package/dist/agents/CopilotAgent.js.map +1 -0
  31. package/dist/agents/CursorAgent.d.ts +4 -4
  32. package/dist/agents/CursorAgent.d.ts.map +1 -1
  33. package/dist/agents/CursorAgent.js +32 -43
  34. package/dist/agents/CursorAgent.js.map +1 -1
  35. package/dist/agents/DroidAgent.d.ts +5 -0
  36. package/dist/agents/DroidAgent.d.ts.map +1 -1
  37. package/dist/agents/DroidAgent.js +37 -18
  38. package/dist/agents/DroidAgent.js.map +1 -1
  39. package/dist/agents/GeminiCliAgent.d.ts +4 -0
  40. package/dist/agents/GeminiCliAgent.d.ts.map +1 -1
  41. package/dist/agents/GeminiCliAgent.js +37 -8
  42. package/dist/agents/GeminiCliAgent.js.map +1 -1
  43. package/dist/agents/MarkdownRulesAgent.d.ts +13 -0
  44. package/dist/agents/MarkdownRulesAgent.d.ts.map +1 -0
  45. package/dist/agents/MarkdownRulesAgent.js +53 -0
  46. package/dist/agents/MarkdownRulesAgent.js.map +1 -0
  47. package/dist/agents/RooCodeAgent.d.ts +9 -0
  48. package/dist/agents/RooCodeAgent.d.ts.map +1 -0
  49. package/dist/agents/RooCodeAgent.js +131 -0
  50. package/dist/agents/RooCodeAgent.js.map +1 -0
  51. package/dist/agents/WindsurfAgent.d.ts +9 -0
  52. package/dist/agents/WindsurfAgent.d.ts.map +1 -0
  53. package/dist/agents/WindsurfAgent.js +127 -0
  54. package/dist/agents/WindsurfAgent.js.map +1 -0
  55. package/dist/agents/ZedAgent.d.ts +9 -0
  56. package/dist/agents/ZedAgent.d.ts.map +1 -0
  57. package/dist/agents/ZedAgent.js +127 -0
  58. package/dist/agents/ZedAgent.js.map +1 -0
  59. package/dist/cli.js +29992 -11107
  60. package/dist/cli.js.map +1 -1
  61. package/dist/commands/apply.d.ts +10 -0
  62. package/dist/commands/apply.d.ts.map +1 -1
  63. package/dist/commands/apply.js +136 -5
  64. package/dist/commands/apply.js.map +1 -1
  65. package/dist/commands/detect.d.ts.map +1 -1
  66. package/dist/commands/detect.js +25 -0
  67. package/dist/commands/detect.js.map +1 -1
  68. package/dist/commands/init.js +1 -1
  69. package/dist/commands/init.js.map +1 -1
  70. package/dist/commands/mcp.d.ts +2 -7
  71. package/dist/commands/mcp.d.ts.map +1 -1
  72. package/dist/commands/mcp.js +541 -110
  73. package/dist/commands/mcp.js.map +1 -1
  74. package/dist/commands/plugins.d.ts +3 -0
  75. package/dist/commands/plugins.d.ts.map +1 -0
  76. package/dist/commands/plugins.js +309 -0
  77. package/dist/commands/plugins.js.map +1 -0
  78. package/dist/commands/revert.d.ts +7 -0
  79. package/dist/commands/revert.d.ts.map +1 -0
  80. package/dist/commands/revert.js +48 -0
  81. package/dist/commands/revert.js.map +1 -0
  82. package/dist/commands/rules.d.ts +3 -0
  83. package/dist/commands/rules.d.ts.map +1 -0
  84. package/dist/commands/rules.js +354 -0
  85. package/dist/commands/rules.js.map +1 -0
  86. package/dist/commands/skills.d.ts +3 -0
  87. package/dist/commands/skills.d.ts.map +1 -0
  88. package/dist/commands/skills.js +179 -0
  89. package/dist/commands/skills.js.map +1 -0
  90. package/dist/commands/sync.d.ts +1 -0
  91. package/dist/commands/sync.d.ts.map +1 -1
  92. package/dist/commands/sync.js +18 -1
  93. package/dist/commands/sync.js.map +1 -1
  94. package/dist/commands/verifyMcp.d.ts.map +1 -1
  95. package/dist/commands/verifyMcp.js +27 -5
  96. package/dist/commands/verifyMcp.js.map +1 -1
  97. package/dist/constants/index.d.ts +1 -1
  98. package/dist/constants/index.d.ts.map +1 -1
  99. package/dist/constants/index.js +1 -1
  100. package/dist/constants/index.js.map +1 -1
  101. package/dist/constants/mcp.d.ts +1 -0
  102. package/dist/constants/mcp.d.ts.map +1 -1
  103. package/dist/constants/mcp.js +2 -0
  104. package/dist/constants/mcp.js.map +1 -1
  105. package/dist/core/agentDetector.d.ts.map +1 -1
  106. package/dist/core/agentDetector.js +8 -2
  107. package/dist/core/agentDetector.js.map +1 -1
  108. package/dist/core/agentManager.d.ts.map +1 -1
  109. package/dist/core/agentManager.js +12 -0
  110. package/dist/core/agentManager.js.map +1 -1
  111. package/dist/core/gitignoreManager.d.ts +8 -0
  112. package/dist/core/gitignoreManager.d.ts.map +1 -0
  113. package/dist/core/gitignoreManager.js +114 -0
  114. package/dist/core/gitignoreManager.js.map +1 -0
  115. package/dist/core/managedState.d.ts +42 -0
  116. package/dist/core/managedState.d.ts.map +1 -0
  117. package/dist/core/managedState.js +194 -0
  118. package/dist/core/managedState.js.map +1 -0
  119. package/dist/core/mcpClient.d.ts +124 -6
  120. package/dist/core/mcpClient.d.ts.map +1 -1
  121. package/dist/core/mcpClient.js +385 -39
  122. package/dist/core/mcpClient.js.map +1 -1
  123. package/dist/core/pluginManager.d.ts +134 -0
  124. package/dist/core/pluginManager.d.ts.map +1 -0
  125. package/dist/core/pluginManager.js +845 -0
  126. package/dist/core/pluginManager.js.map +1 -0
  127. package/dist/core/projectSkills.d.ts +19 -0
  128. package/dist/core/projectSkills.d.ts.map +1 -0
  129. package/dist/core/projectSkills.js +105 -0
  130. package/dist/core/projectSkills.js.map +1 -0
  131. package/dist/core/propagator.d.ts +8 -1
  132. package/dist/core/propagator.d.ts.map +1 -1
  133. package/dist/core/propagator.js +179 -36
  134. package/dist/core/propagator.js.map +1 -1
  135. package/dist/core/rulesApplicator.d.ts +0 -4
  136. package/dist/core/rulesApplicator.d.ts.map +1 -1
  137. package/dist/core/rulesApplicator.js +8 -39
  138. package/dist/core/rulesApplicator.js.map +1 -1
  139. package/dist/core/rulesTemplateLoader.js +2 -2
  140. package/dist/core/rulesTemplateLoader.js.map +1 -1
  141. package/dist/core/skillsManager.d.ts +61 -0
  142. package/dist/core/skillsManager.d.ts.map +1 -0
  143. package/dist/core/skillsManager.js +407 -0
  144. package/dist/core/skillsManager.js.map +1 -0
  145. package/dist/lib/utils/index.d.ts +3 -1
  146. package/dist/lib/utils/index.d.ts.map +1 -1
  147. package/dist/lib/utils/index.js +4 -1
  148. package/dist/lib/utils/index.js.map +1 -1
  149. package/dist/types/index.d.ts +24 -1
  150. package/dist/types/index.d.ts.map +1 -1
  151. package/dist/types/index.js.map +1 -1
  152. package/dist/types/jsonSchema.d.ts +31 -0
  153. package/dist/types/jsonSchema.d.ts.map +1 -0
  154. package/dist/types/jsonSchema.js +6 -0
  155. package/dist/types/jsonSchema.js.map +1 -0
  156. package/dist/types/plugins.d.ts +161 -0
  157. package/dist/types/plugins.d.ts.map +1 -0
  158. package/dist/types/plugins.js +2 -0
  159. package/dist/types/plugins.js.map +1 -0
  160. package/dist/types/skills.d.ts +50 -0
  161. package/dist/types/skills.d.ts.map +1 -0
  162. package/dist/types/skills.js +2 -0
  163. package/dist/types/skills.js.map +1 -0
  164. package/dist/utils/packageVersion.d.ts +105 -0
  165. package/dist/utils/packageVersion.d.ts.map +1 -0
  166. package/dist/utils/packageVersion.js +219 -0
  167. package/dist/utils/packageVersion.js.map +1 -0
  168. package/package.json +7 -2
  169. package/dist/agentinit-1.6.0.tgz +0 -0
  170. package/dist/registry/mcpRegistry.d.ts +0 -12
  171. package/dist/registry/mcpRegistry.d.ts.map +0 -1
  172. package/dist/registry/mcpRegistry.js +0 -114
  173. package/dist/registry/mcpRegistry.js.map +0 -1
@@ -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
- const globalPath = this.getGlobalMcpPath();
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.supportsGlobalConfig()) {
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 configuration`]
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
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/agents/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../src/agents/Agent.ts"],"names":[],"mappings":"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"}
@@ -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;;IA2CpC;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqEpF;;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;IAiBlB;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAM/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"}
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
- const rulesSection = this.generateRulesContent(rules.sections);
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
- // Extract rules from markdown format - look for lines starting with "- "
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":"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"}
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;;IA8B3C;;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;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"}
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":"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"}
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"}