fix: address code review findings for gemini target

- Extract named GeminiMcpServer type (eliminates NonNullable indexing)
- Deep-merge mcpServers in settings.json (preserves existing entries)
- Warn when existing settings.json cannot be parsed
- Add test for uniqueName dedup (agent/skill name collision)
- Add test for TOML triple-quote escaping

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Kieran Klaassen
2026-02-14 20:46:31 -08:00
parent e113d20126
commit d487915f0f
5 changed files with 52 additions and 14 deletions

View File

@@ -173,7 +173,9 @@ describe("writeGeminiBundle", () => {
const content = JSON.parse(await fs.readFile(settingsPath, "utf8"))
// Should preserve existing model key
expect(content.model).toBe("gemini-2.5-pro")
// mcpServers should be replaced (not merged) with new content
// Should preserve existing MCP server
expect(content.mcpServers.old.command).toBe("old-cmd")
// Should add new MCP server
expect(content.mcpServers.newServer.command).toBe("new-cmd")
})
})