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.
- package/dist/mcp/mcp-servers.json +14 -0
- package/package.json +1 -1
- package/src/installer.js +31 -7
|
@@ -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
package/src/installer.js
CHANGED
|
@@ -277,13 +277,37 @@ async function configureMcpServers() {
|
|
|
277
277
|
newServers = await fs.readJson(templatePath);
|
|
278
278
|
}
|
|
279
279
|
|
|
280
|
-
//
|
|
281
|
-
const
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
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 });
|