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.
Files changed (35) hide show
  1. package/README.ja.md +67 -5
  2. package/README.md +77 -6
  3. package/dist/{augmentcode-MJYD2Y4S.js → augmentcode-HIZIQG2W.js} +2 -2
  4. package/dist/chunk-7E4U4YAB.js +17 -0
  5. package/dist/{chunk-D7XQ4OHK.js → chunk-7UBF4OLN.js} +1 -1
  6. package/dist/{chunk-VI6SBYFB.js → chunk-AUUSMVCT.js} +2 -1
  7. package/dist/chunk-J3TBR5EP.js +292 -0
  8. package/dist/{chunk-OXKDEZJK.js → chunk-KUGTKMNW.js} +1 -1
  9. package/dist/{chunk-QVPD6ENS.js → chunk-LXTA7DBA.js} +1 -1
  10. package/dist/chunk-OA473EXZ.js +17 -0
  11. package/dist/{chunk-BEPSWIZC.js → chunk-PCATT4UZ.js} +1 -1
  12. package/dist/chunk-VKNCBVZF.js +17 -0
  13. package/dist/chunk-VNT6AHHO.js +17 -0
  14. package/dist/chunk-W2WU253H.js +17 -0
  15. package/dist/chunk-WAX2UANS.js +61 -0
  16. package/dist/{chunk-ORNO5MOO.js → chunk-YTU3SCQO.js} +1 -1
  17. package/dist/{claudecode-CKGUHLRR.js → claudecode-VVI2PTKI.js} +3 -3
  18. package/dist/{cline-Z5C656VR.js → cline-BJLFSLEB.js} +3 -3
  19. package/dist/{codexcli-VFUJKSIJ.js → codexcli-LKWQB3V3.js} +3 -3
  20. package/dist/{copilot-4WQS5TA7.js → copilot-MOR3HHJX.js} +2 -2
  21. package/dist/{cursor-HOB2F2V2.js → cursor-2BVUO64T.js} +3 -2
  22. package/dist/{geminicli-XTMQTIU2.js → geminicli-5YFMKRFL.js} +3 -2
  23. package/dist/index.cjs +532 -318
  24. package/dist/index.js +304 -163
  25. package/dist/{junie-AN6CR7DD.js → junie-5TDJPUXX.js} +3 -2
  26. package/dist/{kiro-PTUZOHQ2.js → kiro-YDHXY2MA.js} +2 -2
  27. package/dist/{roo-WOMS36KU.js → roo-L3QTTIPO.js} +2 -2
  28. package/dist/windsurf-PXDRIQ76.js +10 -0
  29. package/package.json +1 -1
  30. package/dist/chunk-3PHMFVXP.js +0 -66
  31. package/dist/chunk-OY6BYYIX.js +0 -63
  32. package/dist/chunk-PPAQWVXX.js +0 -94
  33. package/dist/chunk-TJKD6LEW.js +0 -90
  34. package/dist/chunk-UHANRG2O.js +0 -54
  35. package/dist/chunk-UZCJNUXO.js +0 -67
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  generateJunieMcp,
3
3
  generateJunieMcpConfiguration
4
- } from "./chunk-TJKD6LEW.js";
5
- import "./chunk-VI6SBYFB.js";
4
+ } from "./chunk-VNT6AHHO.js";
5
+ import "./chunk-J3TBR5EP.js";
6
+ import "./chunk-AUUSMVCT.js";
6
7
  export {
7
8
  generateJunieMcp,
8
9
  generateJunieMcpConfiguration
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  generateKiroMcp,
3
3
  generateKiroMcpConfiguration
4
- } from "./chunk-QVPD6ENS.js";
5
- import "./chunk-VI6SBYFB.js";
4
+ } from "./chunk-LXTA7DBA.js";
5
+ import "./chunk-AUUSMVCT.js";
6
6
  export {
7
7
  generateKiroMcp,
8
8
  generateKiroMcpConfiguration
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  generateRooMcp,
3
3
  generateRooMcpConfiguration
4
- } from "./chunk-BEPSWIZC.js";
5
- import "./chunk-VI6SBYFB.js";
4
+ } from "./chunk-PCATT4UZ.js";
5
+ import "./chunk-AUUSMVCT.js";
6
6
  export {
7
7
  generateRooMcp,
8
8
  generateRooMcpConfiguration
@@ -0,0 +1,10 @@
1
+ import {
2
+ generateWindsurfMcp,
3
+ generateWindsurfMcpConfiguration
4
+ } from "./chunk-7E4U4YAB.js";
5
+ import "./chunk-J3TBR5EP.js";
6
+ import "./chunk-AUUSMVCT.js";
7
+ export {
8
+ generateWindsurfMcp,
9
+ generateWindsurfMcpConfiguration
10
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rulesync",
3
- "version": "0.55.0",
3
+ "version": "0.56.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",
@@ -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
- };
@@ -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
- };
@@ -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
- };
@@ -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
- };
@@ -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
- };
@@ -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
- };