rulesync 0.63.0 → 0.65.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 (35) hide show
  1. package/README.md +21 -3
  2. package/dist/amazonqcli-MW7XTVPN.js +9 -0
  3. package/dist/{augmentcode-HIZIQG2W.js → augmentcode-WCZCL7VR.js} +2 -2
  4. package/dist/{chunk-KUGTKMNW.js → chunk-4NWMCTN5.js} +5 -2
  5. package/dist/chunk-6AXPFPKI.js +17 -0
  6. package/dist/{chunk-LXTA7DBA.js → chunk-6SLEITCQ.js} +1 -1
  7. package/dist/chunk-DM2B7XUB.js +210 -0
  8. package/dist/{chunk-UEAYL4NT.js → chunk-FL5BF6JM.js} +1 -1
  9. package/dist/{chunk-4PSTOKKD.js → chunk-GIAQWZQ4.js} +1 -1
  10. package/dist/{chunk-YTU3SCQO.js → chunk-I4NVS7GE.js} +9 -3
  11. package/dist/{chunk-GQTMTBX4.js → chunk-JXOLLTNV.js} +89 -4
  12. package/dist/{chunk-NETSYSMD.js → chunk-LTWEI4PW.js} +1 -1
  13. package/dist/{chunk-AUUSMVCT.js → chunk-M2AUM37M.js} +3 -0
  14. package/dist/{chunk-M7NL7G7A.js → chunk-N6DASHJL.js} +1 -1
  15. package/dist/chunk-TX2CE4RR.js +17 -0
  16. package/dist/{chunk-2CW2KFB3.js → chunk-UGY5ALND.js} +1 -1
  17. package/dist/chunk-VRWNZTGW.js +17 -0
  18. package/dist/{chunk-U4PLVMCG.js → chunk-YC2BC7Z2.js} +1 -1
  19. package/dist/{claudecode-YTEFACCT.js → claudecode-RZSJPPBU.js} +3 -3
  20. package/dist/{cline-CKNUDEA3.js → cline-JTWWBQQ4.js} +3 -3
  21. package/dist/{codexcli-7SDGYI7D.js → codexcli-ATMFGRJR.js} +3 -3
  22. package/dist/{copilot-MOR3HHJX.js → copilot-H3CLGKDP.js} +2 -2
  23. package/dist/{cursor-YJGH7W24.js → cursor-ZUN5RZU6.js} +3 -3
  24. package/dist/{geminicli-E7KZTZ2G.js → geminicli-Q5HPIQCU.js} +3 -3
  25. package/dist/index.cjs +1213 -619
  26. package/dist/index.js +806 -488
  27. package/dist/{junie-5LEQU4BO.js → junie-JCLVC3MI.js} +3 -3
  28. package/dist/{kiro-YDHXY2MA.js → kiro-CNF6433S.js} +2 -2
  29. package/dist/opencode-EBS3CED2.js +17 -0
  30. package/dist/qwencode-JIT6KW7E.js +10 -0
  31. package/dist/{roo-L3QTTIPO.js → roo-KBTRH4TZ.js} +3 -2
  32. package/dist/{windsurf-4P6HEUBV.js → windsurf-ZAAWL6JJ.js} +3 -3
  33. package/package.json +2 -1
  34. package/dist/chunk-MDYDKNXQ.js +0 -61
  35. 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-N6DASHJL.js";
5
+ import "./chunk-JXOLLTNV.js";
6
+ import "./chunk-M2AUM37M.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-6SLEITCQ.js";
5
+ import "./chunk-M2AUM37M.js";
6
6
  export {
7
7
  generateKiroMcp,
8
8
  generateKiroMcpConfiguration
@@ -0,0 +1,17 @@
1
+ import {
2
+ generateMcpConfigurationFilesFromRegistry,
3
+ generateMcpFromRegistry
4
+ } from "./chunk-JXOLLTNV.js";
5
+ import "./chunk-M2AUM37M.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
+ };
@@ -0,0 +1,10 @@
1
+ import {
2
+ generateQwenCodeMcp,
3
+ generateQwenCodeMcpConfiguration
4
+ } from "./chunk-TX2CE4RR.js";
5
+ import "./chunk-JXOLLTNV.js";
6
+ import "./chunk-M2AUM37M.js";
7
+ export {
8
+ generateQwenCodeMcp,
9
+ generateQwenCodeMcpConfiguration
10
+ };
@@ -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-VRWNZTGW.js";
5
+ import "./chunk-JXOLLTNV.js";
6
+ import "./chunk-M2AUM37M.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-LTWEI4PW.js";
5
+ import "./chunk-JXOLLTNV.js";
6
+ import "./chunk-M2AUM37M.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.65.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
- };