superclaude-kiro 1.0.3 → 1.0.5

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.
@@ -95,6 +95,20 @@
95
95
  "think_about_whether_you_are_done",
96
96
  "initial_instructions"
97
97
  ]
98
+ },
99
+ "morphllm-fast-apply": {
100
+ "type": "stdio",
101
+ "command": "npx",
102
+ "args": [
103
+ "-y",
104
+ "@morph-llm/morph-fast-apply"
105
+ ],
106
+ "env": {
107
+ "MORPH_API_KEY": "YOUR_MORPH_API_KEY"
108
+ },
109
+ "autoApprove": [
110
+ "edit_file"
111
+ ]
98
112
  }
99
113
  }
100
114
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "superclaude-kiro",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "SuperClaude Framework for Kiro CLI - Easy installation for teams",
5
5
  "type": "module",
6
6
  "bin": {
package/src/installer.js CHANGED
@@ -277,13 +277,37 @@ async function configureMcpServers() {
277
277
  newServers = await fs.readJson(templatePath);
278
278
  }
279
279
 
280
- // Merge MCP servers (existing takes precedence to preserve user customizations)
281
- const mergedConfig = {
282
- mcpServers: {
283
- ...newServers.mcpServers,
284
- ...existingConfig.mcpServers
285
- }
286
- };
280
+ // Deep merge MCP servers - add autoApprove from template while preserving user settings
281
+ const mergedServers = {};
282
+
283
+ // Start with all servers from both configs
284
+ const allServerNames = new Set([
285
+ ...Object.keys(newServers.mcpServers || {}),
286
+ ...Object.keys(existingConfig.mcpServers || {})
287
+ ]);
288
+
289
+ for (const serverName of allServerNames) {
290
+ const templateServer = newServers.mcpServers?.[serverName] || {};
291
+ const existingServer = existingConfig.mcpServers?.[serverName] || {};
292
+
293
+ // Deep merge: template provides base, existing settings override (except autoApprove)
294
+ // Preserve user's env settings (API keys etc) if they have real values
295
+ const mergedEnv = {
296
+ ...(templateServer.env || {}),
297
+ ...(existingServer.env || {})
298
+ };
299
+
300
+ mergedServers[serverName] = {
301
+ ...templateServer,
302
+ ...existingServer,
303
+ // Always use template's autoApprove (the whole point of this update)
304
+ ...(templateServer.autoApprove ? { autoApprove: templateServer.autoApprove } : {}),
305
+ // Preserve merged env if either had env settings
306
+ ...(Object.keys(mergedEnv).length > 0 ? { env: mergedEnv } : {})
307
+ };
308
+ }
309
+
310
+ const mergedConfig = { mcpServers: mergedServers };
287
311
 
288
312
  await fs.ensureDir(path.join(KIRO_DIR, 'settings'));
289
313
  await fs.writeJson(mcpPath, mergedConfig, { spaces: 2 });