rulesync 5.2.1 → 5.3.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
@@ -131,7 +131,7 @@ Rulesync supports both **generation** and **import** for All of the major AI cod
131
131
  | ------------------ | :---: | :----: | :------: | :------: | :-------: | :----: |
132
132
  | AGENTS.md | ✅ | | | 🎮 | 🎮 | 🎮 |
133
133
  | Claude Code | ✅ 🌏 | ✅ | ✅ 🌏 📦 | ✅ 🌏 | ✅ 🌏 | ✅ 🌏 |
134
- | Codex CLI | ✅ 🌏 | | 🌏 | 🌏 | 🎮 | 🌏 |
134
+ | Codex CLI | ✅ 🌏 | | 🌏 | 🌏 | 🎮 |🌏 |
135
135
  | Gemini CLI | ✅ 🌏 | ✅ | ✅ 🌏 | ✅ 🌏 | 🎮 | 🎮 |
136
136
  | GitHub Copilot | ✅ | | ✅ | ✅ | ✅ | ✅ |
137
137
  | Cursor | ✅ | ✅ | ✅ | ✅ 🌏 | 🎮 | ✅ |
@@ -407,6 +407,8 @@ claudecode: # for claudecode-specific parameters
407
407
  - "Read"
408
408
  - "Write"
409
409
  - "Grep"
410
+ codexcli: # for codexcli-specific parameters
411
+ short-description: A brief user-facing description
410
412
  ---
411
413
 
412
414
  This is the skill body content.
package/dist/index.cjs CHANGED
@@ -5559,6 +5559,11 @@ var RulesyncSkillFrontmatterSchemaInternal = import_mini20.z.looseObject({
5559
5559
  "allowed-tools": import_mini20.z.optional(import_mini20.z.array(import_mini20.z.string()))
5560
5560
  })
5561
5561
  ),
5562
+ codexcli: import_mini20.z.optional(
5563
+ import_mini20.z.looseObject({
5564
+ "short-description": import_mini20.z.optional(import_mini20.z.string())
5565
+ })
5566
+ ),
5562
5567
  opencode: import_mini20.z.optional(
5563
5568
  import_mini20.z.looseObject({
5564
5569
  "allowed-tools": import_mini20.z.optional(import_mini20.z.array(import_mini20.z.string()))
@@ -5833,7 +5838,12 @@ var import_node_path52 = require("path");
5833
5838
  var import_mini22 = require("zod/mini");
5834
5839
  var CodexCliSkillFrontmatterSchema = import_mini22.z.looseObject({
5835
5840
  name: import_mini22.z.string(),
5836
- description: import_mini22.z.string()
5841
+ description: import_mini22.z.string(),
5842
+ metadata: import_mini22.z.optional(
5843
+ import_mini22.z.looseObject({
5844
+ "short-description": import_mini22.z.optional(import_mini22.z.string())
5845
+ })
5846
+ )
5837
5847
  });
5838
5848
  var CodexCliSkill = class _CodexCliSkill extends ToolSkill {
5839
5849
  constructor({
@@ -5865,10 +5875,9 @@ var CodexCliSkill = class _CodexCliSkill extends ToolSkill {
5865
5875
  }
5866
5876
  }
5867
5877
  }
5868
- static getSettablePaths({ global = false } = {}) {
5869
- if (!global) {
5870
- throw new Error("CodexCliSkill only supports global mode. Please pass { global: true }.");
5871
- }
5878
+ static getSettablePaths({
5879
+ global: _global = false
5880
+ } = {}) {
5872
5881
  return {
5873
5882
  relativeDirPath: (0, import_node_path52.join)(".codex", "skills")
5874
5883
  };
@@ -5906,7 +5915,12 @@ var CodexCliSkill = class _CodexCliSkill extends ToolSkill {
5906
5915
  const rulesyncFrontmatter = {
5907
5916
  name: frontmatter.name,
5908
5917
  description: frontmatter.description,
5909
- targets: ["*"]
5918
+ targets: ["*"],
5919
+ ...frontmatter.metadata?.["short-description"] && {
5920
+ codexcli: {
5921
+ "short-description": frontmatter.metadata["short-description"]
5922
+ }
5923
+ }
5910
5924
  };
5911
5925
  return new RulesyncSkill({
5912
5926
  baseDir: this.baseDir,
@@ -5928,7 +5942,12 @@ var CodexCliSkill = class _CodexCliSkill extends ToolSkill {
5928
5942
  const rulesyncFrontmatter = rulesyncSkill.getFrontmatter();
5929
5943
  const codexFrontmatter = {
5930
5944
  name: rulesyncFrontmatter.name,
5931
- description: rulesyncFrontmatter.description
5945
+ description: rulesyncFrontmatter.description,
5946
+ ...rulesyncFrontmatter.codexcli?.["short-description"] && {
5947
+ metadata: {
5948
+ "short-description": rulesyncFrontmatter.codexcli["short-description"]
5949
+ }
5950
+ }
5932
5951
  };
5933
5952
  return new _CodexCliSkill({
5934
5953
  baseDir: rulesyncSkill.getBaseDir(),
@@ -6871,7 +6890,7 @@ var toolSkillFactories = /* @__PURE__ */ new Map([
6871
6890
  "codexcli",
6872
6891
  {
6873
6892
  class: CodexCliSkill,
6874
- meta: { supportsProject: false, supportsSimulated: false, supportsGlobal: true }
6893
+ meta: { supportsProject: true, supportsSimulated: false, supportsGlobal: true }
6875
6894
  }
6876
6895
  ],
6877
6896
  [
@@ -11441,6 +11460,9 @@ var RULESYNC_IGNORE_ENTRIES = [
11441
11460
  // AGENTS.md
11442
11461
  "**/AGENTS.md",
11443
11462
  "**/.agents/",
11463
+ // Antigravity
11464
+ "**/.agent/rules/",
11465
+ "**/.agent/workflows/",
11444
11466
  // Augment
11445
11467
  "**/.augmentignore",
11446
11468
  "**/.augment/rules/",
@@ -11462,8 +11484,9 @@ var RULESYNC_IGNORE_ENTRIES = [
11462
11484
  "**/.cline/mcp.json",
11463
11485
  // Codex
11464
11486
  "**/.codexignore",
11465
- "**/.codex/",
11487
+ "**/.codex/memories/",
11466
11488
  "**/.codex/skills/",
11489
+ "**/.codex/subagents/",
11467
11490
  // Cursor
11468
11491
  "**/.cursor/",
11469
11492
  "**/.cursorignore",
@@ -13181,7 +13204,7 @@ async function mcpCommand({ version }) {
13181
13204
  }
13182
13205
 
13183
13206
  // src/cli/index.ts
13184
- var getVersion = () => "5.2.1";
13207
+ var getVersion = () => "5.3.0";
13185
13208
  var main = async () => {
13186
13209
  const program = new import_commander.Command();
13187
13210
  const version = getVersion();
package/dist/index.js CHANGED
@@ -5536,6 +5536,11 @@ var RulesyncSkillFrontmatterSchemaInternal = z20.looseObject({
5536
5536
  "allowed-tools": z20.optional(z20.array(z20.string()))
5537
5537
  })
5538
5538
  ),
5539
+ codexcli: z20.optional(
5540
+ z20.looseObject({
5541
+ "short-description": z20.optional(z20.string())
5542
+ })
5543
+ ),
5539
5544
  opencode: z20.optional(
5540
5545
  z20.looseObject({
5541
5546
  "allowed-tools": z20.optional(z20.array(z20.string()))
@@ -5810,7 +5815,12 @@ import { join as join50 } from "path";
5810
5815
  import { z as z22 } from "zod/mini";
5811
5816
  var CodexCliSkillFrontmatterSchema = z22.looseObject({
5812
5817
  name: z22.string(),
5813
- description: z22.string()
5818
+ description: z22.string(),
5819
+ metadata: z22.optional(
5820
+ z22.looseObject({
5821
+ "short-description": z22.optional(z22.string())
5822
+ })
5823
+ )
5814
5824
  });
5815
5825
  var CodexCliSkill = class _CodexCliSkill extends ToolSkill {
5816
5826
  constructor({
@@ -5842,10 +5852,9 @@ var CodexCliSkill = class _CodexCliSkill extends ToolSkill {
5842
5852
  }
5843
5853
  }
5844
5854
  }
5845
- static getSettablePaths({ global = false } = {}) {
5846
- if (!global) {
5847
- throw new Error("CodexCliSkill only supports global mode. Please pass { global: true }.");
5848
- }
5855
+ static getSettablePaths({
5856
+ global: _global = false
5857
+ } = {}) {
5849
5858
  return {
5850
5859
  relativeDirPath: join50(".codex", "skills")
5851
5860
  };
@@ -5883,7 +5892,12 @@ var CodexCliSkill = class _CodexCliSkill extends ToolSkill {
5883
5892
  const rulesyncFrontmatter = {
5884
5893
  name: frontmatter.name,
5885
5894
  description: frontmatter.description,
5886
- targets: ["*"]
5895
+ targets: ["*"],
5896
+ ...frontmatter.metadata?.["short-description"] && {
5897
+ codexcli: {
5898
+ "short-description": frontmatter.metadata["short-description"]
5899
+ }
5900
+ }
5887
5901
  };
5888
5902
  return new RulesyncSkill({
5889
5903
  baseDir: this.baseDir,
@@ -5905,7 +5919,12 @@ var CodexCliSkill = class _CodexCliSkill extends ToolSkill {
5905
5919
  const rulesyncFrontmatter = rulesyncSkill.getFrontmatter();
5906
5920
  const codexFrontmatter = {
5907
5921
  name: rulesyncFrontmatter.name,
5908
- description: rulesyncFrontmatter.description
5922
+ description: rulesyncFrontmatter.description,
5923
+ ...rulesyncFrontmatter.codexcli?.["short-description"] && {
5924
+ metadata: {
5925
+ "short-description": rulesyncFrontmatter.codexcli["short-description"]
5926
+ }
5927
+ }
5909
5928
  };
5910
5929
  return new _CodexCliSkill({
5911
5930
  baseDir: rulesyncSkill.getBaseDir(),
@@ -6848,7 +6867,7 @@ var toolSkillFactories = /* @__PURE__ */ new Map([
6848
6867
  "codexcli",
6849
6868
  {
6850
6869
  class: CodexCliSkill,
6851
- meta: { supportsProject: false, supportsSimulated: false, supportsGlobal: true }
6870
+ meta: { supportsProject: true, supportsSimulated: false, supportsGlobal: true }
6852
6871
  }
6853
6872
  ],
6854
6873
  [
@@ -11418,6 +11437,9 @@ var RULESYNC_IGNORE_ENTRIES = [
11418
11437
  // AGENTS.md
11419
11438
  "**/AGENTS.md",
11420
11439
  "**/.agents/",
11440
+ // Antigravity
11441
+ "**/.agent/rules/",
11442
+ "**/.agent/workflows/",
11421
11443
  // Augment
11422
11444
  "**/.augmentignore",
11423
11445
  "**/.augment/rules/",
@@ -11439,8 +11461,9 @@ var RULESYNC_IGNORE_ENTRIES = [
11439
11461
  "**/.cline/mcp.json",
11440
11462
  // Codex
11441
11463
  "**/.codexignore",
11442
- "**/.codex/",
11464
+ "**/.codex/memories/",
11443
11465
  "**/.codex/skills/",
11466
+ "**/.codex/subagents/",
11444
11467
  // Cursor
11445
11468
  "**/.cursor/",
11446
11469
  "**/.cursorignore",
@@ -13158,7 +13181,7 @@ async function mcpCommand({ version }) {
13158
13181
  }
13159
13182
 
13160
13183
  // src/cli/index.ts
13161
- var getVersion = () => "5.2.1";
13184
+ var getVersion = () => "5.3.0";
13162
13185
  var main = async () => {
13163
13186
  const program = new Command();
13164
13187
  const version = getVersion();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rulesync",
3
- "version": "5.2.1",
3
+ "version": "5.3.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",
@@ -36,48 +36,48 @@
36
36
  "pre-commit": "pnpm exec lint-staged"
37
37
  },
38
38
  "dependencies": {
39
- "@modelcontextprotocol/sdk": "1.25.1",
39
+ "@modelcontextprotocol/sdk": "1.25.2",
40
40
  "@toon-format/toon": "2.1.0",
41
41
  "@valibot/to-json-schema": "1.5.0",
42
42
  "commander": "14.0.2",
43
43
  "consola": "3.4.2",
44
44
  "effect": "3.19.14",
45
45
  "es-toolkit": "1.43.0",
46
- "fastmcp": "3.26.7",
46
+ "fastmcp": "3.26.8",
47
47
  "gray-matter": "4.0.3",
48
48
  "js-yaml": "4.1.1",
49
49
  "jsonc-parser": "3.3.1",
50
50
  "smol-toml": "1.6.0",
51
51
  "sury": "11.0.0-alpha.4",
52
- "zod": "4.3.4"
52
+ "zod": "4.3.5"
53
53
  },
54
54
  "devDependencies": {
55
- "@anthropic-ai/claude-agent-sdk": "0.1.76",
55
+ "@anthropic-ai/claude-agent-sdk": "0.2.4",
56
56
  "@eslint/js": "9.39.2",
57
57
  "@secretlint/secretlint-rule-preset-recommend": "11.2.5",
58
58
  "@tsconfig/node24": "24.0.3",
59
59
  "@types/js-yaml": "4.0.9",
60
- "@types/node": "25.0.3",
61
- "@typescript/native-preview": "7.0.0-dev.20260103.1",
60
+ "@types/node": "25.0.6",
61
+ "@typescript/native-preview": "7.0.0-dev.20260109.1",
62
62
  "@vitest/coverage-v8": "4.0.16",
63
63
  "cspell": "9.4.0",
64
64
  "eslint": "9.39.2",
65
65
  "eslint-plugin-import": "2.32.0",
66
66
  "eslint-plugin-no-type-assertion": "1.3.0",
67
- "eslint-plugin-oxlint": "1.36.0",
67
+ "eslint-plugin-oxlint": "1.38.0",
68
68
  "eslint-plugin-strict-dependencies": "1.3.29",
69
69
  "eslint-plugin-zod-import": "0.3.0",
70
- "knip": "5.79.0",
70
+ "knip": "5.80.2",
71
71
  "lint-staged": "16.2.7",
72
72
  "oxfmt": "0.23.0",
73
- "oxlint": "1.36.0",
73
+ "oxlint": "1.38.0",
74
74
  "secretlint": "11.2.5",
75
75
  "simple-git-hooks": "2.13.1",
76
76
  "sort-package-json": "3.6.0",
77
77
  "tsup": "8.5.1",
78
78
  "tsx": "4.21.0",
79
79
  "typescript": "5.9.3",
80
- "typescript-eslint": "8.51.0",
80
+ "typescript-eslint": "8.52.0",
81
81
  "vitest": "4.0.16"
82
82
  },
83
83
  "engines": {