rulesync 0.79.0 → 0.80.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.md +11 -11
- package/dist/index.cjs +7 -1
- package/dist/index.js +7 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Rulesync
|
|
2
2
|
|
|
3
3
|
[](https://github.com/dyoshikawa/rulesync/actions/workflows/ci.yml)
|
|
4
4
|
[](https://www.npmjs.com/package/rulesync)
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
A Node.js CLI tool that automatically generates configuration files for various AI development tools from unified AI rule files. Features selective generation, comprehensive import/export capabilities, and supports major AI development tools with rules, commands, MCP, ignore files, and subagents. Uses the recommended `.rulesync/rules/*.md` structure, with full backward compatibility for legacy `.rulesync/*.md` layouts.
|
|
8
8
|
|
|
9
9
|
> [!NOTE]
|
|
10
|
-
> If you are interested in
|
|
10
|
+
> If you are interested in Rulesync latest news, please follow the maintainer's X(Twitter) account:
|
|
11
11
|
> [@dyoshikawa1993](https://x.com/dyoshikawa1993)
|
|
12
12
|
|
|
13
13
|
## Installation
|
|
@@ -52,7 +52,7 @@ npx rulesync generate --targets "*" --features "*"
|
|
|
52
52
|
|
|
53
53
|
## Supported Tools and Features
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
Rulesync supports both **generation** and **import** for All of the major AI coding tools:
|
|
56
56
|
|
|
57
57
|
| Tool | rules | ignore | mcp | commands | subagents |
|
|
58
58
|
|------------------------|:-----:|:------:|:-----:|:--------:|:---------:|
|
|
@@ -76,19 +76,19 @@ rulesync supports both **generation** and **import** for All of the major AI cod
|
|
|
76
76
|
|
|
77
77
|
🎮: Simulated Commands/Subagents (Experimental Feature)
|
|
78
78
|
|
|
79
|
-
## Why
|
|
79
|
+
## Why Rulesync?
|
|
80
80
|
|
|
81
81
|
### 🔧 **Tool Flexibility**
|
|
82
82
|
Team members can freely choose their preferred AI coding tools. Whether it's GitHub Copilot, Cursor, Cline, or Claude Code, each developer can use the tool that maximizes their productivity.
|
|
83
83
|
|
|
84
84
|
### 📈 **Future-Proof Development**
|
|
85
|
-
AI development tools evolve rapidly with new tools emerging frequently. With
|
|
85
|
+
AI development tools evolve rapidly with new tools emerging frequently. With Rulesync, switching between tools doesn't require redefining your rules from scratch.
|
|
86
86
|
|
|
87
87
|
### 🎯 **Multi-Tool Workflow**
|
|
88
88
|
Enable hybrid development workflows combining multiple AI tools.
|
|
89
89
|
|
|
90
90
|
### 🔓 **No Lock-in**
|
|
91
|
-
Avoid lock-in completely. If you decide to stop using
|
|
91
|
+
Avoid lock-in completely. If you decide to stop using Rulesync, you can continue using the generated rule files as-is.
|
|
92
92
|
|
|
93
93
|
### 🎯 **Consistency Across Tools**
|
|
94
94
|
Apply consistent rules across all AI tools, improving code quality and development experience for the entire team.
|
|
@@ -124,7 +124,7 @@ npx rulesync gitignore
|
|
|
124
124
|
|
|
125
125
|
## Configuration
|
|
126
126
|
|
|
127
|
-
You can configure
|
|
127
|
+
You can configure Rulesync by creating a `rulesync.jsonc` file in the root of your project.
|
|
128
128
|
|
|
129
129
|
Example:
|
|
130
130
|
|
|
@@ -162,7 +162,7 @@ Example:
|
|
|
162
162
|
---
|
|
163
163
|
root: true # true that is less than or equal to one file for overview such as `AGENTS.md`, false for details such as `.agents/memories/*.md`
|
|
164
164
|
targets: ["*"] # * = all, or specific tools
|
|
165
|
-
description: "
|
|
165
|
+
description: "Rulesync project overview and development guidelines for unified AI rules management CLI tool"
|
|
166
166
|
globs: ["**/*"] # file patterns to match (e.g., ["*.md", "*.txt"])
|
|
167
167
|
agentsmd: # agentsmd and codexcli specific rules
|
|
168
168
|
# Support for using nested AGENTS.md files for subprojects in a large monorepo.
|
|
@@ -172,13 +172,13 @@ agentsmd: # agentsmd and codexcli specific rules
|
|
|
172
172
|
subprojectPath: "path/to/subproject"
|
|
173
173
|
cursor: # cursor specific rules
|
|
174
174
|
alwaysApply: true
|
|
175
|
-
description: "
|
|
175
|
+
description: "Rulesync project overview and development guidelines for unified AI rules management CLI tool"
|
|
176
176
|
globs: ["*"]
|
|
177
177
|
---
|
|
178
178
|
|
|
179
|
-
#
|
|
179
|
+
# Rulesync Project Overview
|
|
180
180
|
|
|
181
|
-
This is
|
|
181
|
+
This is Rulesync, a Node.js CLI tool that automatically generates configuration files for various AI development tools from unified AI rule files. The project enables teams to maintain consistent AI coding assistant rules across multiple tools.
|
|
182
182
|
|
|
183
183
|
...
|
|
184
184
|
```
|
package/dist/index.cjs
CHANGED
|
@@ -46,6 +46,7 @@ var import_node_path = require("path");
|
|
|
46
46
|
|
|
47
47
|
// src/utils/logger.ts
|
|
48
48
|
var import_consola = require("consola");
|
|
49
|
+
var isEnvTest = process.env.NODE_ENV === "test";
|
|
49
50
|
var Logger = class {
|
|
50
51
|
_verbose = false;
|
|
51
52
|
console = import_consola.consola.withDefaults({
|
|
@@ -58,22 +59,27 @@ var Logger = class {
|
|
|
58
59
|
return this._verbose;
|
|
59
60
|
}
|
|
60
61
|
info(message, ...args) {
|
|
62
|
+
if (isEnvTest) return;
|
|
61
63
|
this.console.info(message, ...args);
|
|
62
64
|
}
|
|
63
65
|
// Success (always shown)
|
|
64
66
|
success(message, ...args) {
|
|
67
|
+
if (isEnvTest) return;
|
|
65
68
|
this.console.success(message, ...args);
|
|
66
69
|
}
|
|
67
70
|
// Warning (always shown)
|
|
68
71
|
warn(message, ...args) {
|
|
72
|
+
if (isEnvTest) return;
|
|
69
73
|
this.console.warn(message, ...args);
|
|
70
74
|
}
|
|
71
75
|
// Error (always shown)
|
|
72
76
|
error(message, ...args) {
|
|
77
|
+
if (isEnvTest) return;
|
|
73
78
|
this.console.error(message, ...args);
|
|
74
79
|
}
|
|
75
80
|
// Debug level (shown only in verbose mode)
|
|
76
81
|
debug(message, ...args) {
|
|
82
|
+
if (isEnvTest) return;
|
|
77
83
|
if (this._verbose) {
|
|
78
84
|
this.console.info(message, ...args);
|
|
79
85
|
}
|
|
@@ -6228,7 +6234,7 @@ var getVersion = async () => {
|
|
|
6228
6234
|
const packageJson = await readJsonFile(packageJsonPath);
|
|
6229
6235
|
return packageJson.version;
|
|
6230
6236
|
} catch {
|
|
6231
|
-
return "0.
|
|
6237
|
+
return "0.80.0";
|
|
6232
6238
|
}
|
|
6233
6239
|
};
|
|
6234
6240
|
var main = async () => {
|
package/dist/index.js
CHANGED
|
@@ -23,6 +23,7 @@ import { basename, dirname, join, relative, resolve } from "path";
|
|
|
23
23
|
|
|
24
24
|
// src/utils/logger.ts
|
|
25
25
|
import { consola } from "consola";
|
|
26
|
+
var isEnvTest = process.env.NODE_ENV === "test";
|
|
26
27
|
var Logger = class {
|
|
27
28
|
_verbose = false;
|
|
28
29
|
console = consola.withDefaults({
|
|
@@ -35,22 +36,27 @@ var Logger = class {
|
|
|
35
36
|
return this._verbose;
|
|
36
37
|
}
|
|
37
38
|
info(message, ...args) {
|
|
39
|
+
if (isEnvTest) return;
|
|
38
40
|
this.console.info(message, ...args);
|
|
39
41
|
}
|
|
40
42
|
// Success (always shown)
|
|
41
43
|
success(message, ...args) {
|
|
44
|
+
if (isEnvTest) return;
|
|
42
45
|
this.console.success(message, ...args);
|
|
43
46
|
}
|
|
44
47
|
// Warning (always shown)
|
|
45
48
|
warn(message, ...args) {
|
|
49
|
+
if (isEnvTest) return;
|
|
46
50
|
this.console.warn(message, ...args);
|
|
47
51
|
}
|
|
48
52
|
// Error (always shown)
|
|
49
53
|
error(message, ...args) {
|
|
54
|
+
if (isEnvTest) return;
|
|
50
55
|
this.console.error(message, ...args);
|
|
51
56
|
}
|
|
52
57
|
// Debug level (shown only in verbose mode)
|
|
53
58
|
debug(message, ...args) {
|
|
59
|
+
if (isEnvTest) return;
|
|
54
60
|
if (this._verbose) {
|
|
55
61
|
this.console.info(message, ...args);
|
|
56
62
|
}
|
|
@@ -6204,7 +6210,7 @@ var getVersion = async () => {
|
|
|
6204
6210
|
const packageJson = await readJsonFile(packageJsonPath);
|
|
6205
6211
|
return packageJson.version;
|
|
6206
6212
|
} catch {
|
|
6207
|
-
return "0.
|
|
6213
|
+
return "0.80.0";
|
|
6208
6214
|
}
|
|
6209
6215
|
};
|
|
6210
6216
|
var main = async () => {
|