rulesync 0.55.0 → 0.56.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.
- package/README.ja.md +67 -5
- package/README.md +77 -6
- package/dist/{augmentcode-MJYD2Y4S.js → augmentcode-HIZIQG2W.js} +2 -2
- package/dist/chunk-7E4U4YAB.js +17 -0
- package/dist/{chunk-D7XQ4OHK.js → chunk-7UBF4OLN.js} +1 -1
- package/dist/{chunk-VI6SBYFB.js → chunk-AUUSMVCT.js} +2 -1
- package/dist/chunk-J3TBR5EP.js +292 -0
- package/dist/{chunk-OXKDEZJK.js → chunk-KUGTKMNW.js} +1 -1
- package/dist/{chunk-QVPD6ENS.js → chunk-LXTA7DBA.js} +1 -1
- package/dist/chunk-OA473EXZ.js +17 -0
- package/dist/{chunk-BEPSWIZC.js → chunk-PCATT4UZ.js} +1 -1
- package/dist/chunk-VKNCBVZF.js +17 -0
- package/dist/chunk-VNT6AHHO.js +17 -0
- package/dist/chunk-W2WU253H.js +17 -0
- package/dist/chunk-WAX2UANS.js +61 -0
- package/dist/{chunk-ORNO5MOO.js → chunk-YTU3SCQO.js} +1 -1
- package/dist/{claudecode-CKGUHLRR.js → claudecode-VVI2PTKI.js} +3 -3
- package/dist/{cline-Z5C656VR.js → cline-BJLFSLEB.js} +3 -3
- package/dist/{codexcli-VFUJKSIJ.js → codexcli-LKWQB3V3.js} +3 -3
- package/dist/{copilot-4WQS5TA7.js → copilot-MOR3HHJX.js} +2 -2
- package/dist/{cursor-HOB2F2V2.js → cursor-2BVUO64T.js} +3 -2
- package/dist/{geminicli-XTMQTIU2.js → geminicli-5YFMKRFL.js} +3 -2
- package/dist/index.cjs +532 -318
- package/dist/index.js +304 -163
- package/dist/{junie-AN6CR7DD.js → junie-5TDJPUXX.js} +3 -2
- package/dist/{kiro-PTUZOHQ2.js → kiro-YDHXY2MA.js} +2 -2
- package/dist/{roo-WOMS36KU.js → roo-L3QTTIPO.js} +2 -2
- package/dist/windsurf-PXDRIQ76.js +10 -0
- package/package.json +1 -1
- package/dist/chunk-3PHMFVXP.js +0 -66
- package/dist/chunk-OY6BYYIX.js +0 -63
- package/dist/chunk-PPAQWVXX.js +0 -94
- package/dist/chunk-TJKD6LEW.js +0 -90
- package/dist/chunk-UHANRG2O.js +0 -54
- package/dist/chunk-UZCJNUXO.js +0 -67
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
generateJunieMcp,
|
|
3
3
|
generateJunieMcpConfiguration
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-VNT6AHHO.js";
|
|
5
|
+
import "./chunk-J3TBR5EP.js";
|
|
6
|
+
import "./chunk-AUUSMVCT.js";
|
|
6
7
|
export {
|
|
7
8
|
generateJunieMcp,
|
|
8
9
|
generateJunieMcpConfiguration
|
package/package.json
CHANGED
package/dist/chunk-3PHMFVXP.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
shouldIncludeServer
|
|
3
|
-
} from "./chunk-VI6SBYFB.js";
|
|
4
|
-
|
|
5
|
-
// src/generators/mcp/cursor.ts
|
|
6
|
-
function generateCursorMcp(config) {
|
|
7
|
-
const cursorConfig = {
|
|
8
|
-
mcpServers: {}
|
|
9
|
-
};
|
|
10
|
-
for (const [serverName, server] of Object.entries(config.mcpServers)) {
|
|
11
|
-
if (!shouldIncludeServer(server, "cursor")) continue;
|
|
12
|
-
const cursorServer = {};
|
|
13
|
-
if (server.command) {
|
|
14
|
-
cursorServer.command = server.command;
|
|
15
|
-
if (server.args) cursorServer.args = server.args;
|
|
16
|
-
} else if (server.url || server.httpUrl) {
|
|
17
|
-
const url = server.httpUrl || server.url;
|
|
18
|
-
if (url) {
|
|
19
|
-
cursorServer.url = url;
|
|
20
|
-
}
|
|
21
|
-
if (server.httpUrl || server.transport === "http") {
|
|
22
|
-
cursorServer.type = "streamable-http";
|
|
23
|
-
} else if (server.transport === "sse" || server.type === "sse") {
|
|
24
|
-
cursorServer.type = "sse";
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if (server.env) {
|
|
28
|
-
cursorServer.env = server.env;
|
|
29
|
-
}
|
|
30
|
-
if (server.cwd) {
|
|
31
|
-
cursorServer.cwd = server.cwd;
|
|
32
|
-
}
|
|
33
|
-
cursorConfig.mcpServers[serverName] = cursorServer;
|
|
34
|
-
}
|
|
35
|
-
return JSON.stringify(cursorConfig, null, 2);
|
|
36
|
-
}
|
|
37
|
-
function generateCursorMcpConfiguration(mcpServers, baseDir = "") {
|
|
38
|
-
const filepath = baseDir ? `${baseDir}/.cursor/mcp.json` : ".cursor/mcp.json";
|
|
39
|
-
const config = {
|
|
40
|
-
mcpServers: {}
|
|
41
|
-
};
|
|
42
|
-
for (const [serverName, server] of Object.entries(mcpServers)) {
|
|
43
|
-
if (!shouldIncludeServer(server, "cursor")) {
|
|
44
|
-
continue;
|
|
45
|
-
}
|
|
46
|
-
const { targets: _targets, ...serverConfig } = server;
|
|
47
|
-
const cursorServer = { ...serverConfig };
|
|
48
|
-
if (serverConfig.httpUrl !== void 0) {
|
|
49
|
-
cursorServer.url = serverConfig.httpUrl;
|
|
50
|
-
delete cursorServer.httpUrl;
|
|
51
|
-
}
|
|
52
|
-
config.mcpServers[serverName] = cursorServer;
|
|
53
|
-
}
|
|
54
|
-
return [
|
|
55
|
-
{
|
|
56
|
-
filepath,
|
|
57
|
-
content: `${JSON.stringify(config, null, 2)}
|
|
58
|
-
`
|
|
59
|
-
}
|
|
60
|
-
];
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export {
|
|
64
|
-
generateCursorMcp,
|
|
65
|
-
generateCursorMcpConfiguration
|
|
66
|
-
};
|
package/dist/chunk-OY6BYYIX.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
configWrappers,
|
|
3
|
-
generateMcpConfig,
|
|
4
|
-
generateMcpConfigurationFiles
|
|
5
|
-
} from "./chunk-PPAQWVXX.js";
|
|
6
|
-
|
|
7
|
-
// src/generators/mcp/claudecode.ts
|
|
8
|
-
function generateClaudeMcp(config) {
|
|
9
|
-
return generateMcpConfig(config, {
|
|
10
|
-
target: "claudecode",
|
|
11
|
-
configPaths: [".claude/settings.json"],
|
|
12
|
-
serverTransform: (server) => {
|
|
13
|
-
const claudeServer = {};
|
|
14
|
-
if (server.command) {
|
|
15
|
-
claudeServer.command = server.command;
|
|
16
|
-
if (server.args) claudeServer.args = server.args;
|
|
17
|
-
} else if (server.url || server.httpUrl) {
|
|
18
|
-
const url = server.httpUrl || server.url;
|
|
19
|
-
if (url) {
|
|
20
|
-
claudeServer.url = url;
|
|
21
|
-
}
|
|
22
|
-
if (server.httpUrl) {
|
|
23
|
-
claudeServer.transport = "http";
|
|
24
|
-
} else if (server.transport === "sse") {
|
|
25
|
-
claudeServer.transport = "sse";
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
if (server.env) {
|
|
29
|
-
claudeServer.env = server.env;
|
|
30
|
-
}
|
|
31
|
-
return claudeServer;
|
|
32
|
-
},
|
|
33
|
-
configWrapper: configWrappers.mcpServers
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
function generateClaudeMcpConfiguration(mcpServers, baseDir = "") {
|
|
37
|
-
return generateMcpConfigurationFiles(
|
|
38
|
-
mcpServers,
|
|
39
|
-
{
|
|
40
|
-
target: "claudecode",
|
|
41
|
-
configPaths: [".claude/settings.json"],
|
|
42
|
-
serverTransform: (server) => {
|
|
43
|
-
const { targets: _, transport, ...serverConfig } = server;
|
|
44
|
-
const claudeServer = { ...serverConfig };
|
|
45
|
-
if (serverConfig.httpUrl !== void 0) {
|
|
46
|
-
claudeServer.url = serverConfig.httpUrl;
|
|
47
|
-
delete claudeServer.httpUrl;
|
|
48
|
-
}
|
|
49
|
-
if (transport && transport !== "stdio" && (transport === "sse" || transport === "http")) {
|
|
50
|
-
claudeServer.transport = transport;
|
|
51
|
-
}
|
|
52
|
-
return claudeServer;
|
|
53
|
-
},
|
|
54
|
-
configWrapper: configWrappers.mcpServers
|
|
55
|
-
},
|
|
56
|
-
baseDir
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export {
|
|
61
|
-
generateClaudeMcp,
|
|
62
|
-
generateClaudeMcpConfiguration
|
|
63
|
-
};
|
package/dist/chunk-PPAQWVXX.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
shouldIncludeServer
|
|
3
|
-
} from "./chunk-VI6SBYFB.js";
|
|
4
|
-
|
|
5
|
-
// src/generators/mcp/shared-factory.ts
|
|
6
|
-
function generateMcpConfig(config, toolConfig) {
|
|
7
|
-
const servers = {};
|
|
8
|
-
for (const [serverName, server] of Object.entries(config.mcpServers)) {
|
|
9
|
-
if (!shouldIncludeServer(server, toolConfig.target)) continue;
|
|
10
|
-
servers[serverName] = toolConfig.serverTransform(server, serverName);
|
|
11
|
-
}
|
|
12
|
-
const finalConfig = toolConfig.configWrapper(servers);
|
|
13
|
-
return JSON.stringify(finalConfig, null, 2);
|
|
14
|
-
}
|
|
15
|
-
function generateMcpConfigurationFiles(mcpServers, toolConfig, baseDir = "") {
|
|
16
|
-
const configs = [];
|
|
17
|
-
const rulesyncConfig = { mcpServers };
|
|
18
|
-
for (const configPath of toolConfig.configPaths) {
|
|
19
|
-
const filepath = baseDir ? `${baseDir}/${configPath}` : configPath;
|
|
20
|
-
const content = generateMcpConfig(rulesyncConfig, toolConfig);
|
|
21
|
-
configs.push({
|
|
22
|
-
filepath,
|
|
23
|
-
content: `${content}
|
|
24
|
-
`
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
return configs;
|
|
28
|
-
}
|
|
29
|
-
var serverTransforms = {
|
|
30
|
-
/**
|
|
31
|
-
* Basic server transformation (command, args, env, url handling)
|
|
32
|
-
*/
|
|
33
|
-
basic: (server) => {
|
|
34
|
-
const result = {};
|
|
35
|
-
if (server.command) {
|
|
36
|
-
result.command = server.command;
|
|
37
|
-
if (server.args) result.args = server.args;
|
|
38
|
-
} else if (server.url || server.httpUrl) {
|
|
39
|
-
const url = server.httpUrl || server.url;
|
|
40
|
-
if (url) result.url = url;
|
|
41
|
-
}
|
|
42
|
-
if (server.env) {
|
|
43
|
-
result.env = server.env;
|
|
44
|
-
}
|
|
45
|
-
return result;
|
|
46
|
-
},
|
|
47
|
-
/**
|
|
48
|
-
* Extended server transformation (includes disabled, alwaysAllow, etc.)
|
|
49
|
-
*/
|
|
50
|
-
extended: (server) => {
|
|
51
|
-
const result = serverTransforms.basic(server);
|
|
52
|
-
if (server.disabled !== void 0) {
|
|
53
|
-
result.disabled = server.disabled;
|
|
54
|
-
}
|
|
55
|
-
if (server.alwaysAllow) {
|
|
56
|
-
result.alwaysAllow = server.alwaysAllow;
|
|
57
|
-
}
|
|
58
|
-
if (server.networkTimeout !== void 0) {
|
|
59
|
-
result.networkTimeout = server.networkTimeout;
|
|
60
|
-
}
|
|
61
|
-
if (server.tools) {
|
|
62
|
-
result.tools = server.tools;
|
|
63
|
-
}
|
|
64
|
-
return result;
|
|
65
|
-
},
|
|
66
|
-
/**
|
|
67
|
-
* Remove rulesync-specific properties from server config
|
|
68
|
-
*/
|
|
69
|
-
cleanRulesyncProps: (server) => {
|
|
70
|
-
const { targets: _, transport: _transport, ...cleanServer } = server;
|
|
71
|
-
return { ...cleanServer };
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
var configWrappers = {
|
|
75
|
-
/**
|
|
76
|
-
* Standard mcpServers wrapper
|
|
77
|
-
*/
|
|
78
|
-
mcpServers: (servers) => ({
|
|
79
|
-
mcpServers: servers
|
|
80
|
-
}),
|
|
81
|
-
/**
|
|
82
|
-
* Servers-only wrapper (for tools that use "servers" instead of "mcpServers")
|
|
83
|
-
*/
|
|
84
|
-
servers: (servers) => ({
|
|
85
|
-
servers
|
|
86
|
-
})
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
export {
|
|
90
|
-
generateMcpConfig,
|
|
91
|
-
generateMcpConfigurationFiles,
|
|
92
|
-
serverTransforms,
|
|
93
|
-
configWrappers
|
|
94
|
-
};
|
package/dist/chunk-TJKD6LEW.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
shouldIncludeServer
|
|
3
|
-
} from "./chunk-VI6SBYFB.js";
|
|
4
|
-
|
|
5
|
-
// src/generators/mcp/junie.ts
|
|
6
|
-
function generateJunieMcp(config) {
|
|
7
|
-
const junieConfig = {
|
|
8
|
-
mcpServers: {}
|
|
9
|
-
};
|
|
10
|
-
for (const [serverName, server] of Object.entries(config.mcpServers)) {
|
|
11
|
-
if (!shouldIncludeServer(server, "junie")) continue;
|
|
12
|
-
const junieServer = {
|
|
13
|
-
name: serverName
|
|
14
|
-
};
|
|
15
|
-
if (server.command) {
|
|
16
|
-
junieServer.command = server.command;
|
|
17
|
-
if (server.args) junieServer.args = server.args;
|
|
18
|
-
} else if (server.url || server.httpUrl) {
|
|
19
|
-
if (server.httpUrl) {
|
|
20
|
-
junieServer.httpUrl = server.httpUrl;
|
|
21
|
-
} else if (server.url) {
|
|
22
|
-
junieServer.url = server.url;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
if (server.env) {
|
|
26
|
-
junieServer.env = server.env;
|
|
27
|
-
}
|
|
28
|
-
if (server.cwd) {
|
|
29
|
-
junieServer.workingDirectory = server.cwd;
|
|
30
|
-
}
|
|
31
|
-
if (server.timeout !== void 0) {
|
|
32
|
-
junieServer.timeout = server.timeout;
|
|
33
|
-
}
|
|
34
|
-
if (server.trust !== void 0) {
|
|
35
|
-
junieServer.trust = server.trust;
|
|
36
|
-
}
|
|
37
|
-
if (server.transport) {
|
|
38
|
-
if (String(server.transport) === "streamable-http") {
|
|
39
|
-
junieServer.transport = "http";
|
|
40
|
-
} else if (server.transport === "stdio" || server.transport === "http" || server.transport === "sse") {
|
|
41
|
-
junieServer.transport = server.transport;
|
|
42
|
-
}
|
|
43
|
-
} else if (server.command) {
|
|
44
|
-
junieServer.transport = "stdio";
|
|
45
|
-
}
|
|
46
|
-
junieConfig.mcpServers[serverName] = junieServer;
|
|
47
|
-
}
|
|
48
|
-
return JSON.stringify(junieConfig, null, 2);
|
|
49
|
-
}
|
|
50
|
-
function generateJunieMcpConfiguration(mcpServers, baseDir = "") {
|
|
51
|
-
const filepath = baseDir ? `${baseDir}/.junie/mcp-config.json` : ".junie/mcp-config.json";
|
|
52
|
-
const config = {
|
|
53
|
-
mcpServers: {}
|
|
54
|
-
};
|
|
55
|
-
for (const [serverName, server] of Object.entries(mcpServers)) {
|
|
56
|
-
if (!shouldIncludeServer(server, "junie")) {
|
|
57
|
-
continue;
|
|
58
|
-
}
|
|
59
|
-
const { targets: _, transport, cwd, ...serverConfig } = server;
|
|
60
|
-
const junieServer = {
|
|
61
|
-
...serverConfig,
|
|
62
|
-
name: serverName
|
|
63
|
-
};
|
|
64
|
-
if (cwd) {
|
|
65
|
-
junieServer.workingDirectory = cwd;
|
|
66
|
-
}
|
|
67
|
-
if (transport) {
|
|
68
|
-
if (String(transport) === "streamable-http") {
|
|
69
|
-
junieServer.transport = "http";
|
|
70
|
-
} else if (transport === "stdio" || transport === "http" || transport === "sse") {
|
|
71
|
-
junieServer.transport = transport;
|
|
72
|
-
}
|
|
73
|
-
} else if (serverConfig.command) {
|
|
74
|
-
junieServer.transport = "stdio";
|
|
75
|
-
}
|
|
76
|
-
config.mcpServers[serverName] = junieServer;
|
|
77
|
-
}
|
|
78
|
-
return [
|
|
79
|
-
{
|
|
80
|
-
filepath,
|
|
81
|
-
content: `${JSON.stringify(config, null, 2)}
|
|
82
|
-
`
|
|
83
|
-
}
|
|
84
|
-
];
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
export {
|
|
88
|
-
generateJunieMcp,
|
|
89
|
-
generateJunieMcpConfiguration
|
|
90
|
-
};
|
package/dist/chunk-UHANRG2O.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
configWrappers,
|
|
3
|
-
generateMcpConfig,
|
|
4
|
-
generateMcpConfigurationFiles,
|
|
5
|
-
serverTransforms
|
|
6
|
-
} from "./chunk-PPAQWVXX.js";
|
|
7
|
-
|
|
8
|
-
// src/generators/mcp/cline.ts
|
|
9
|
-
function generateClineMcp(config) {
|
|
10
|
-
return generateMcpConfig(config, {
|
|
11
|
-
target: "cline",
|
|
12
|
-
configPaths: [".cline/mcp.json"],
|
|
13
|
-
serverTransform: (server) => {
|
|
14
|
-
const clineServer = {};
|
|
15
|
-
if (server.command) {
|
|
16
|
-
clineServer.command = server.command;
|
|
17
|
-
if (server.args) clineServer.args = server.args;
|
|
18
|
-
} else if (server.url) {
|
|
19
|
-
clineServer.url = server.url;
|
|
20
|
-
}
|
|
21
|
-
if (server.env) {
|
|
22
|
-
clineServer.env = server.env;
|
|
23
|
-
}
|
|
24
|
-
if (server.disabled !== void 0) {
|
|
25
|
-
clineServer.disabled = server.disabled;
|
|
26
|
-
}
|
|
27
|
-
if (server.alwaysAllow) {
|
|
28
|
-
clineServer.alwaysAllow = server.alwaysAllow;
|
|
29
|
-
}
|
|
30
|
-
if (server.networkTimeout !== void 0) {
|
|
31
|
-
clineServer.networkTimeout = server.networkTimeout;
|
|
32
|
-
}
|
|
33
|
-
return clineServer;
|
|
34
|
-
},
|
|
35
|
-
configWrapper: configWrappers.mcpServers
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
function generateClineMcpConfiguration(mcpServers, baseDir = "") {
|
|
39
|
-
return generateMcpConfigurationFiles(
|
|
40
|
-
mcpServers,
|
|
41
|
-
{
|
|
42
|
-
target: "cline",
|
|
43
|
-
configPaths: [".cline/mcp.json"],
|
|
44
|
-
serverTransform: serverTransforms.cleanRulesyncProps,
|
|
45
|
-
configWrapper: configWrappers.mcpServers
|
|
46
|
-
},
|
|
47
|
-
baseDir
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export {
|
|
52
|
-
generateClineMcp,
|
|
53
|
-
generateClineMcpConfiguration
|
|
54
|
-
};
|
package/dist/chunk-UZCJNUXO.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
shouldIncludeServer
|
|
3
|
-
} from "./chunk-VI6SBYFB.js";
|
|
4
|
-
|
|
5
|
-
// src/generators/mcp/geminicli.ts
|
|
6
|
-
function generateGeminiCliMcp(config) {
|
|
7
|
-
const geminiSettings = {
|
|
8
|
-
mcpServers: {}
|
|
9
|
-
};
|
|
10
|
-
for (const [serverName, server] of Object.entries(config.mcpServers)) {
|
|
11
|
-
if (!shouldIncludeServer(server, "geminicli")) continue;
|
|
12
|
-
const geminiServer = {};
|
|
13
|
-
if (server.command) {
|
|
14
|
-
geminiServer.command = server.command;
|
|
15
|
-
if (server.args) geminiServer.args = server.args;
|
|
16
|
-
} else if (server.url || server.httpUrl) {
|
|
17
|
-
if (server.httpUrl) {
|
|
18
|
-
geminiServer.httpUrl = server.httpUrl;
|
|
19
|
-
} else if (server.url) {
|
|
20
|
-
geminiServer.url = server.url;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
if (server.env) {
|
|
24
|
-
geminiServer.env = {};
|
|
25
|
-
for (const [key, value] of Object.entries(server.env)) {
|
|
26
|
-
if (value.startsWith("${") && value.endsWith("}")) {
|
|
27
|
-
geminiServer.env[key] = value;
|
|
28
|
-
} else {
|
|
29
|
-
geminiServer.env[key] = `\${${value}}`;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
if (server.timeout !== void 0) {
|
|
34
|
-
geminiServer.timeout = server.timeout;
|
|
35
|
-
}
|
|
36
|
-
if (server.trust !== void 0) {
|
|
37
|
-
geminiServer.trust = server.trust;
|
|
38
|
-
}
|
|
39
|
-
geminiSettings.mcpServers[serverName] = geminiServer;
|
|
40
|
-
}
|
|
41
|
-
return JSON.stringify(geminiSettings, null, 2);
|
|
42
|
-
}
|
|
43
|
-
function generateGeminiCliMcpConfiguration(mcpServers, baseDir = "") {
|
|
44
|
-
const filepath = baseDir ? `${baseDir}/.gemini/settings.json` : ".gemini/settings.json";
|
|
45
|
-
const config = {
|
|
46
|
-
mcpServers: {}
|
|
47
|
-
};
|
|
48
|
-
for (const [serverName, server] of Object.entries(mcpServers)) {
|
|
49
|
-
if (!shouldIncludeServer(server, "geminicli")) {
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
const { targets: _, ...serverConfig } = server;
|
|
53
|
-
config.mcpServers[serverName] = { ...serverConfig };
|
|
54
|
-
}
|
|
55
|
-
return [
|
|
56
|
-
{
|
|
57
|
-
filepath,
|
|
58
|
-
content: `${JSON.stringify(config, null, 2)}
|
|
59
|
-
`
|
|
60
|
-
}
|
|
61
|
-
];
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export {
|
|
65
|
-
generateGeminiCliMcp,
|
|
66
|
-
generateGeminiCliMcpConfiguration
|
|
67
|
-
};
|