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 CHANGED
@@ -1,4 +1,4 @@
1
- # rulesync
1
+ # Rulesync
2
2
 
3
3
  [![CI](https://github.com/dyoshikawa/rulesync/actions/workflows/ci.yml/badge.svg)](https://github.com/dyoshikawa/rulesync/actions/workflows/ci.yml)
4
4
  [![npm version](https://img.shields.io/npm/v/rulesync)](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 rulesync latest news, please follow the maintainer's X(Twitter) account:
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
- rulesync supports both **generation** and **import** for All of the major AI coding tools:
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 rulesync?
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 rulesync, switching between tools doesn't require redefining your rules from scratch.
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 rulesync, you can continue using the generated rule files as-is.
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 rulesync by creating a `rulesync.jsonc` file in the root of your project.
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: "rulesync project overview and development guidelines for unified AI rules management CLI tool"
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: "rulesync project overview and development guidelines for unified AI rules management CLI tool"
175
+ description: "Rulesync project overview and development guidelines for unified AI rules management CLI tool"
176
176
  globs: ["*"]
177
177
  ---
178
178
 
179
- # rulesync Project Overview
179
+ # Rulesync Project Overview
180
180
 
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.
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.79.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.79.0";
6213
+ return "0.80.0";
6208
6214
  }
6209
6215
  };
6210
6216
  var main = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rulesync",
3
- "version": "0.79.0",
3
+ "version": "0.80.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",