UNPKG

rulesync

Version:

Unified AI rules management CLI tool that generates configuration files for various AI development tools

87 lines (84 loc) 2.51 kB
import { shouldIncludeServer } from "./chunk-VI6SBYFB.js"; // src/generators/mcp/kiro.ts function generateKiroMcp(config) { const kiroConfig = { mcpServers: {} }; for (const [serverName, server] of Object.entries(config.mcpServers)) { if (!shouldIncludeServer(server, "kiro")) continue; const kiroServer = {}; if (server.command) { kiroServer.command = server.command; if (server.args) kiroServer.args = server.args; } else if (server.url || server.httpUrl) { const url = server.httpUrl || server.url; if (url) { kiroServer.url = url; } if (server.httpUrl || server.transport === "http") { kiroServer.transport = "streamable-http"; } else if (server.transport === "sse" || server.type === "sse") { kiroServer.transport = "sse"; } } if (server.env) { kiroServer.env = server.env; } if (server.timeout) { kiroServer.timeout = server.timeout; } if (server.disabled !== void 0) { kiroServer.disabled = server.disabled; } if (server.transport) { kiroServer.transport = server.transport; } if (server.kiroAutoApprove) { kiroServer.autoApprove = server.kiroAutoApprove; } if (server.kiroAutoBlock) { kiroServer.autoBlock = server.kiroAutoBlock; } kiroConfig.mcpServers[serverName] = kiroServer; } return JSON.stringify(kiroConfig, null, 2); } function generateKiroMcpConfiguration(mcpServers, baseDir = "") { const filepath = baseDir ? `${baseDir}/.kiro/mcp.json` : ".kiro/mcp.json"; const config = { mcpServers: {} }; for (const [serverName, server] of Object.entries(mcpServers)) { if (!shouldIncludeServer(server, "kiro")) { continue; } const { targets: _targets, ...serverConfig } = server; const kiroServer = { ...serverConfig }; if (serverConfig.httpUrl !== void 0) { kiroServer.url = serverConfig.httpUrl; delete kiroServer.httpUrl; } if (serverConfig.kiroAutoApprove !== void 0) { kiroServer.autoApprove = serverConfig.kiroAutoApprove; delete kiroServer.kiroAutoApprove; } if (serverConfig.kiroAutoBlock !== void 0) { kiroServer.autoBlock = serverConfig.kiroAutoBlock; delete kiroServer.kiroAutoBlock; } config.mcpServers[serverName] = kiroServer; } return [ { filepath, content: `${JSON.stringify(config, null, 2)} ` } ]; } export { generateKiroMcp, generateKiroMcpConfiguration };