rulesync 0.63.0 → 0.64.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.
Files changed (33) hide show
  1. package/README.md +15 -3
  2. package/dist/amazonqcli-WVGYACHI.js +9 -0
  3. package/dist/{augmentcode-HIZIQG2W.js → augmentcode-DTHPPXWO.js} +2 -2
  4. package/dist/{chunk-M7NL7G7A.js → chunk-4NAQ5HL4.js} +1 -1
  5. package/dist/{chunk-GQTMTBX4.js → chunk-6LSN7HSJ.js} +76 -4
  6. package/dist/chunk-DMTCLQ4T.js +17 -0
  7. package/dist/{chunk-YTU3SCQO.js → chunk-E2J3UBBK.js} +9 -3
  8. package/dist/{chunk-LXTA7DBA.js → chunk-EID75W45.js} +1 -1
  9. package/dist/{chunk-U4PLVMCG.js → chunk-FVPZQEWP.js} +1 -1
  10. package/dist/{chunk-NETSYSMD.js → chunk-HHJIL3YZ.js} +1 -1
  11. package/dist/{chunk-UEAYL4NT.js → chunk-JX55DU6Y.js} +1 -1
  12. package/dist/{chunk-KUGTKMNW.js → chunk-KKWJVA56.js} +5 -2
  13. package/dist/chunk-LURFNGH4.js +17 -0
  14. package/dist/{chunk-AUUSMVCT.js → chunk-LYVES5YR.js} +2 -0
  15. package/dist/{chunk-4PSTOKKD.js → chunk-TBXG53FV.js} +1 -1
  16. package/dist/{chunk-2CW2KFB3.js → chunk-TQOL7OKY.js} +1 -1
  17. package/dist/chunk-YPJW7Z5M.js +210 -0
  18. package/dist/{claudecode-YTEFACCT.js → claudecode-SSYLLUXX.js} +3 -3
  19. package/dist/{cline-CKNUDEA3.js → cline-5EUGKNZ6.js} +3 -3
  20. package/dist/{codexcli-7SDGYI7D.js → codexcli-IGM2ADYK.js} +3 -3
  21. package/dist/{copilot-MOR3HHJX.js → copilot-HSQO7ZCJ.js} +2 -2
  22. package/dist/{cursor-YJGH7W24.js → cursor-ZB3XNGBK.js} +3 -3
  23. package/dist/{geminicli-E7KZTZ2G.js → geminicli-FNRKH5GX.js} +3 -3
  24. package/dist/index.cjs +912 -504
  25. package/dist/index.js +647 -482
  26. package/dist/{junie-5LEQU4BO.js → junie-3YGOSOGF.js} +3 -3
  27. package/dist/{kiro-YDHXY2MA.js → kiro-B6WZNLY4.js} +2 -2
  28. package/dist/opencode-SZETJ62M.js +17 -0
  29. package/dist/{roo-L3QTTIPO.js → roo-KLTWVAKE.js} +3 -2
  30. package/dist/{windsurf-4P6HEUBV.js → windsurf-IZEKUAID.js} +3 -3
  31. package/package.json +2 -1
  32. package/dist/chunk-MDYDKNXQ.js +0 -61
  33. package/dist/chunk-PCATT4UZ.js +0 -78
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  generateJunieMcp,
3
3
  generateJunieMcpConfiguration
4
- } from "./chunk-M7NL7G7A.js";
5
- import "./chunk-GQTMTBX4.js";
6
- import "./chunk-AUUSMVCT.js";
4
+ } from "./chunk-4NAQ5HL4.js";
5
+ import "./chunk-6LSN7HSJ.js";
6
+ import "./chunk-LYVES5YR.js";
7
7
  export {
8
8
  generateJunieMcp,
9
9
  generateJunieMcpConfiguration
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  generateKiroMcp,
3
3
  generateKiroMcpConfiguration
4
- } from "./chunk-LXTA7DBA.js";
5
- import "./chunk-AUUSMVCT.js";
4
+ } from "./chunk-EID75W45.js";
5
+ import "./chunk-LYVES5YR.js";
6
6
  export {
7
7
  generateKiroMcp,
8
8
  generateKiroMcpConfiguration
@@ -0,0 +1,17 @@
1
+ import {
2
+ generateMcpConfigurationFilesFromRegistry,
3
+ generateMcpFromRegistry
4
+ } from "./chunk-6LSN7HSJ.js";
5
+ import "./chunk-LYVES5YR.js";
6
+
7
+ // src/generators/mcp/opencode.ts
8
+ function generateOpenCodeMcp(config) {
9
+ return generateMcpFromRegistry("opencode", config);
10
+ }
11
+ function generateOpenCodeMcpConfiguration(mcpServers, baseDir = "") {
12
+ return generateMcpConfigurationFilesFromRegistry("opencode", mcpServers, baseDir);
13
+ }
14
+ export {
15
+ generateOpenCodeMcp,
16
+ generateOpenCodeMcpConfiguration
17
+ };
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  generateRooMcp,
3
3
  generateRooMcpConfiguration
4
- } from "./chunk-PCATT4UZ.js";
5
- import "./chunk-AUUSMVCT.js";
4
+ } from "./chunk-LURFNGH4.js";
5
+ import "./chunk-6LSN7HSJ.js";
6
+ import "./chunk-LYVES5YR.js";
6
7
  export {
7
8
  generateRooMcp,
8
9
  generateRooMcpConfiguration
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  generateWindsurfMcp,
3
3
  generateWindsurfMcpConfiguration
4
- } from "./chunk-NETSYSMD.js";
5
- import "./chunk-GQTMTBX4.js";
6
- import "./chunk-AUUSMVCT.js";
4
+ } from "./chunk-HHJIL3YZ.js";
5
+ import "./chunk-6LSN7HSJ.js";
6
+ import "./chunk-LYVES5YR.js";
7
7
  export {
8
8
  generateWindsurfMcp,
9
9
  generateWindsurfMcpConfiguration
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rulesync",
3
- "version": "0.63.0",
3
+ "version": "0.64.0",
4
4
  "description": "Unified AI rules management CLI tool that generates configuration files for various AI development tools",
5
5
  "keywords": [
6
6
  "ai",
@@ -40,6 +40,7 @@
40
40
  "chokidar": "4.0.3",
41
41
  "commander": "14.0.0",
42
42
  "consola": "3.4.2",
43
+ "fast-xml-parser": "5.2.5",
43
44
  "gray-matter": "4.0.3",
44
45
  "js-yaml": "4.1.0",
45
46
  "micromatch": "4.0.8",
@@ -1,61 +0,0 @@
1
- import {
2
- configWrappers,
3
- generateMcpConfig,
4
- generateMcpConfigurationFiles
5
- } from "./chunk-GQTMTBX4.js";
6
-
7
- // src/generators/mcp/geminicli.ts
8
- function generateGeminiCliMcp(config) {
9
- return generateMcpConfig(config, {
10
- target: "geminicli",
11
- configPaths: [".gemini/settings.json"],
12
- serverTransform: (server) => {
13
- const geminiServer = {};
14
- if (server.command) {
15
- geminiServer.command = server.command;
16
- if (server.args) geminiServer.args = server.args;
17
- } else if (server.url || server.httpUrl) {
18
- if (server.httpUrl) {
19
- geminiServer.httpUrl = server.httpUrl;
20
- } else if (server.url) {
21
- geminiServer.url = server.url;
22
- }
23
- }
24
- if (server.env) {
25
- geminiServer.env = server.env;
26
- }
27
- if (server.timeout !== void 0) {
28
- geminiServer.timeout = server.timeout;
29
- }
30
- if (server.trust !== void 0) {
31
- geminiServer.trust = server.trust;
32
- }
33
- return geminiServer;
34
- },
35
- configWrapper: configWrappers.mcpServers
36
- });
37
- }
38
- function generateGeminiCliMcpConfiguration(mcpServers, baseDir = "") {
39
- return generateMcpConfigurationFiles(
40
- mcpServers,
41
- {
42
- target: "geminicli",
43
- configPaths: [".gemini/settings.json"],
44
- serverTransform: (server) => {
45
- const { targets: _, ...serverConfig } = server;
46
- const geminiServer = { ...serverConfig };
47
- if (server.env) {
48
- geminiServer.env = server.env;
49
- }
50
- return geminiServer;
51
- },
52
- configWrapper: configWrappers.mcpServers
53
- },
54
- baseDir
55
- );
56
- }
57
-
58
- export {
59
- generateGeminiCliMcp,
60
- generateGeminiCliMcpConfiguration
61
- };
@@ -1,78 +0,0 @@
1
- import {
2
- shouldIncludeServer
3
- } from "./chunk-AUUSMVCT.js";
4
-
5
- // src/generators/mcp/roo.ts
6
- function generateRooMcp(config) {
7
- const rooConfig = {
8
- mcpServers: {}
9
- };
10
- for (const [serverName, server] of Object.entries(config.mcpServers)) {
11
- if (!shouldIncludeServer(server, "roo")) continue;
12
- const rooServer = {};
13
- if (server.command) {
14
- rooServer.command = server.command;
15
- if (server.args) rooServer.args = server.args;
16
- } else if (server.url || server.httpUrl) {
17
- const url = server.httpUrl || server.url;
18
- if (url) {
19
- rooServer.url = url;
20
- }
21
- if (server.httpUrl || server.transport === "http") {
22
- rooServer.type = "streamable-http";
23
- } else if (server.transport === "sse" || server.type === "sse") {
24
- rooServer.type = "sse";
25
- }
26
- }
27
- if (server.env) {
28
- rooServer.env = {};
29
- for (const [key, value] of Object.entries(server.env)) {
30
- if (value.startsWith("${env:") && value.endsWith("}")) {
31
- rooServer.env[key] = value;
32
- } else {
33
- rooServer.env[key] = `\${env:${value}}`;
34
- }
35
- }
36
- }
37
- if (server.disabled !== void 0) {
38
- rooServer.disabled = server.disabled;
39
- }
40
- if (server.alwaysAllow) {
41
- rooServer.alwaysAllow = server.alwaysAllow;
42
- }
43
- if (server.networkTimeout !== void 0) {
44
- rooServer.networkTimeout = Math.max(3e4, Math.min(3e5, server.networkTimeout));
45
- }
46
- rooConfig.mcpServers[serverName] = rooServer;
47
- }
48
- return JSON.stringify(rooConfig, null, 2);
49
- }
50
- function generateRooMcpConfiguration(mcpServers, baseDir = "") {
51
- const filepath = baseDir ? `${baseDir}/.roo/mcp.json` : ".roo/mcp.json";
52
- const config = {
53
- mcpServers: {}
54
- };
55
- for (const [serverName, server] of Object.entries(mcpServers)) {
56
- if (!shouldIncludeServer(server, "roo")) {
57
- continue;
58
- }
59
- const { targets: _targets, ...serverConfig } = server;
60
- const rooServer = { ...serverConfig };
61
- if (serverConfig.httpUrl !== void 0 && serverConfig.url !== void 0) {
62
- rooServer.url = serverConfig.httpUrl;
63
- }
64
- config.mcpServers[serverName] = rooServer;
65
- }
66
- return [
67
- {
68
- filepath,
69
- content: `${JSON.stringify(config, null, 2)}
70
- `
71
- }
72
- ];
73
- }
74
-
75
- export {
76
- generateRooMcp,
77
- generateRooMcpConfiguration
78
- };