rulesync 0.76.0 → 0.78.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/dist/index.cjs CHANGED
@@ -3626,9 +3626,13 @@ var RulesyncRule = class _RulesyncRule extends RulesyncFile {
3626
3626
  // src/rules/tool-rule.ts
3627
3627
  var ToolRule = class extends ToolFile {
3628
3628
  root;
3629
- constructor({ root = false, ...rest }) {
3629
+ description;
3630
+ globs;
3631
+ constructor({ root = false, description, globs, ...rest }) {
3630
3632
  super(rest);
3631
3633
  this.root = root;
3634
+ this.description = description;
3635
+ this.globs = globs;
3632
3636
  }
3633
3637
  static async fromFile(_params) {
3634
3638
  throw new Error("Please implement this method in the subclass.");
@@ -3650,7 +3654,9 @@ var ToolRule = class extends ToolFile {
3650
3654
  relativeFilePath: rulesyncRule.getFrontmatter().root ? rootPath.relativeFilePath : rulesyncRule.getRelativeFilePath(),
3651
3655
  fileContent,
3652
3656
  validate,
3653
- root: rulesyncRule.getFrontmatter().root ?? false
3657
+ root: rulesyncRule.getFrontmatter().root ?? false,
3658
+ description: rulesyncRule.getFrontmatter().description,
3659
+ globs: rulesyncRule.getFrontmatter().globs
3654
3660
  };
3655
3661
  }
3656
3662
  toRulesyncRuleDefault() {
@@ -3661,8 +3667,8 @@ var ToolRule = class extends ToolFile {
3661
3667
  frontmatter: {
3662
3668
  root: this.isRoot(),
3663
3669
  targets: ["*"],
3664
- description: "",
3665
- globs: this.isRoot() ? ["**/*"] : []
3670
+ description: this.description ?? "",
3671
+ globs: this.globs ?? (this.isRoot() ? ["**/*"] : [])
3666
3672
  },
3667
3673
  body: this.getFileContent()
3668
3674
  });
@@ -3670,6 +3676,12 @@ var ToolRule = class extends ToolFile {
3670
3676
  isRoot() {
3671
3677
  return this.root;
3672
3678
  }
3679
+ getDescription() {
3680
+ return this.description;
3681
+ }
3682
+ getGlobs() {
3683
+ return this.globs;
3684
+ }
3673
3685
  static isTargetedByRulesyncRule(_rulesyncRule) {
3674
3686
  throw new Error("Please implement this method in the subclass.");
3675
3687
  }
@@ -5695,10 +5707,8 @@ var RulesProcessor = class extends FeatureProcessor {
5695
5707
  lines.push("Please also reference the following documents as needed:");
5696
5708
  lines.push("");
5697
5709
  for (const rule of toolRulesWithoutRoot) {
5698
- const rulesyncRule = rule.toRulesyncRule();
5699
- const frontmatter = rulesyncRule.getFrontmatter();
5700
- const escapedDescription = frontmatter.description?.replace(/"/g, '\\"');
5701
- const globsText = frontmatter.globs?.join(",");
5710
+ const escapedDescription = rule.getDescription()?.replace(/"/g, '\\"');
5711
+ const globsText = rule.getGlobs()?.join(",");
5702
5712
  lines.push(
5703
5713
  `@${rule.getRelativePathFromCwd()} description: "${escapedDescription}" globs: "${globsText}"`
5704
5714
  );
@@ -6186,7 +6196,7 @@ var getVersion = async () => {
6186
6196
  const packageJson = await readJsonFile(packageJsonPath);
6187
6197
  return packageJson.version;
6188
6198
  } catch {
6189
- return "0.76.0";
6199
+ return "0.78.0";
6190
6200
  }
6191
6201
  };
6192
6202
  var main = async () => {
package/dist/index.js CHANGED
@@ -3603,9 +3603,13 @@ var RulesyncRule = class _RulesyncRule extends RulesyncFile {
3603
3603
  // src/rules/tool-rule.ts
3604
3604
  var ToolRule = class extends ToolFile {
3605
3605
  root;
3606
- constructor({ root = false, ...rest }) {
3606
+ description;
3607
+ globs;
3608
+ constructor({ root = false, description, globs, ...rest }) {
3607
3609
  super(rest);
3608
3610
  this.root = root;
3611
+ this.description = description;
3612
+ this.globs = globs;
3609
3613
  }
3610
3614
  static async fromFile(_params) {
3611
3615
  throw new Error("Please implement this method in the subclass.");
@@ -3627,7 +3631,9 @@ var ToolRule = class extends ToolFile {
3627
3631
  relativeFilePath: rulesyncRule.getFrontmatter().root ? rootPath.relativeFilePath : rulesyncRule.getRelativeFilePath(),
3628
3632
  fileContent,
3629
3633
  validate,
3630
- root: rulesyncRule.getFrontmatter().root ?? false
3634
+ root: rulesyncRule.getFrontmatter().root ?? false,
3635
+ description: rulesyncRule.getFrontmatter().description,
3636
+ globs: rulesyncRule.getFrontmatter().globs
3631
3637
  };
3632
3638
  }
3633
3639
  toRulesyncRuleDefault() {
@@ -3638,8 +3644,8 @@ var ToolRule = class extends ToolFile {
3638
3644
  frontmatter: {
3639
3645
  root: this.isRoot(),
3640
3646
  targets: ["*"],
3641
- description: "",
3642
- globs: this.isRoot() ? ["**/*"] : []
3647
+ description: this.description ?? "",
3648
+ globs: this.globs ?? (this.isRoot() ? ["**/*"] : [])
3643
3649
  },
3644
3650
  body: this.getFileContent()
3645
3651
  });
@@ -3647,6 +3653,12 @@ var ToolRule = class extends ToolFile {
3647
3653
  isRoot() {
3648
3654
  return this.root;
3649
3655
  }
3656
+ getDescription() {
3657
+ return this.description;
3658
+ }
3659
+ getGlobs() {
3660
+ return this.globs;
3661
+ }
3650
3662
  static isTargetedByRulesyncRule(_rulesyncRule) {
3651
3663
  throw new Error("Please implement this method in the subclass.");
3652
3664
  }
@@ -5672,10 +5684,8 @@ var RulesProcessor = class extends FeatureProcessor {
5672
5684
  lines.push("Please also reference the following documents as needed:");
5673
5685
  lines.push("");
5674
5686
  for (const rule of toolRulesWithoutRoot) {
5675
- const rulesyncRule = rule.toRulesyncRule();
5676
- const frontmatter = rulesyncRule.getFrontmatter();
5677
- const escapedDescription = frontmatter.description?.replace(/"/g, '\\"');
5678
- const globsText = frontmatter.globs?.join(",");
5687
+ const escapedDescription = rule.getDescription()?.replace(/"/g, '\\"');
5688
+ const globsText = rule.getGlobs()?.join(",");
5679
5689
  lines.push(
5680
5690
  `@${rule.getRelativePathFromCwd()} description: "${escapedDescription}" globs: "${globsText}"`
5681
5691
  );
@@ -6162,7 +6172,7 @@ var getVersion = async () => {
6162
6172
  const packageJson = await readJsonFile(packageJsonPath);
6163
6173
  return packageJson.version;
6164
6174
  } catch {
6165
- return "0.76.0";
6175
+ return "0.78.0";
6166
6176
  }
6167
6177
  };
6168
6178
  var main = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rulesync",
3
- "version": "0.76.0",
3
+ "version": "0.78.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",
@@ -46,37 +46,37 @@
46
46
  "js-yaml": "4.1.0",
47
47
  "micromatch": "4.0.8",
48
48
  "smol-toml": "1.4.2",
49
- "zod": "4.0.17"
49
+ "zod": "4.1.5"
50
50
  },
51
51
  "devDependencies": {
52
- "@anthropic-ai/claude-code": "1.0.93",
53
- "@biomejs/biome": "2.1.4",
54
- "@eslint/js": "9.33.0",
55
- "@secretlint/secretlint-rule-preset-recommend": "11.0.2",
52
+ "@anthropic-ai/claude-code": "1.0.110",
53
+ "@biomejs/biome": "2.2.3",
54
+ "@eslint/js": "9.35.0",
55
+ "@secretlint/secretlint-rule-preset-recommend": "11.2.4",
56
56
  "@tsconfig/node24": "24.0.1",
57
57
  "@types/js-yaml": "4.0.9",
58
58
  "@types/micromatch": "4.0.9",
59
- "@types/node": "24.2.1",
60
- "@typescript/native-preview": "7.0.0-dev.20250812.1",
59
+ "@types/node": "24.3.1",
60
+ "@typescript/native-preview": "7.0.0-dev.20250909.1",
61
61
  "@vitest/coverage-v8": "3.2.4",
62
- "cspell": "9.2.0",
63
- "eslint": "9.33.0",
62
+ "cspell": "9.2.1",
63
+ "eslint": "9.35.0",
64
64
  "eslint-plugin-import": "2.32.0",
65
65
  "eslint-plugin-no-type-assertion": "1.3.0",
66
- "eslint-plugin-oxlint": "1.11.2",
66
+ "eslint-plugin-oxlint": "1.14.0",
67
67
  "eslint-plugin-strict-dependencies": "1.3.22",
68
68
  "eslint-plugin-zod-import": "0.3.0",
69
- "knip": "5.62.0",
70
- "lint-staged": "16.1.5",
71
- "o3-search-mcp": "0.0.7",
72
- "oxlint": "1.11.2",
73
- "secretlint": "11.0.2",
69
+ "knip": "5.63.1",
70
+ "lint-staged": "16.1.6",
71
+ "o3-search-mcp": "0.0.9",
72
+ "oxlint": "1.14.0",
73
+ "secretlint": "11.2.4",
74
74
  "simple-git-hooks": "2.13.1",
75
75
  "sort-package-json": "3.4.0",
76
76
  "tsup": "8.5.0",
77
- "tsx": "4.20.4",
77
+ "tsx": "4.20.5",
78
78
  "typescript": "5.9.2",
79
- "typescript-eslint": "8.39.1",
79
+ "typescript-eslint": "8.43.0",
80
80
  "vitest": "3.2.4"
81
81
  },
82
82
  "engines": {