rulesync 16.30.0 → 16.30.2

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.
@@ -69887,6 +69887,78 @@ const getProcessorRegistryEntry = (feature) => {
69887
69887
  return entry;
69888
69888
  };
69889
69889
  //#endregion
69890
+ //#region src/lib/fold-root-overwrite-watch.ts
69891
+ /**
69892
+ * Whether a target folds every non-root rule into its root file, i.e. its tool
69893
+ * reads the one root file and nothing else.
69894
+ */
69895
+ function foldsIntoRoot({ toolTarget }) {
69896
+ return RulesProcessor.getFactory(toolTarget)?.meta.collisionPolicy === "fold";
69897
+ }
69898
+ /**
69899
+ * Names the root file the way the rest of the run does: relative to the
69900
+ * working directory when it lives under it (so `AGENTS.md`, or
69901
+ * `packages/app/AGENTS.md` for a second output root), absolute otherwise.
69902
+ */
69903
+ function displayPath({ filePath }) {
69904
+ const rel = (0, node_path.relative)(process.cwd(), filePath);
69905
+ return rel === "" || (0, node_path.isAbsolute)(rel) || rel === ".." || rel.startsWith(`..${node_path.sep}`) ? filePath : toPosixPath(rel);
69906
+ }
69907
+ /**
69908
+ * Watches for a later target overwriting a fold target's root file with
69909
+ * different content, which silently loses every non-root rule for that tool.
69910
+ *
69911
+ * Several targets write the same root file (`AGENTS.md` above all), and the
69912
+ * documented rule is that the last target in config order wins. For a target
69913
+ * that files non-root rules in its own directory that is harmless: it keeps the
69914
+ * root body either way. A `collisionPolicy: "fold"` target (codexcli and the
69915
+ * others whose tool reads only the one root file) has nowhere else to put its
69916
+ * non-root rules, so when a sibling that emits the root body alone comes later
69917
+ * in config order — `["codexcli", "zoocode"]` — the fold is overwritten and
69918
+ * Codex CLI is left with the root rule only, in a diff that reads as a large
69919
+ * deletion of `AGENTS.md`. See issue #3022.
69920
+ *
69921
+ * The overwrite itself is not prevented (last-wins is what the docs promise);
69922
+ * it is named, once per root file, together with the reordering that keeps the
69923
+ * folded content. `observe` only records what each target would write; the
69924
+ * verdict is `report`'s, once every target has been seen, because only the
69925
+ * final writer decides what is on disk: with `["codexcli", "zoocode", "pi"]`
69926
+ * the fold target `pi` wins the file with every non-root body in it, so nothing
69927
+ * is lost and nothing is reported. Files are keyed by their resolved output
69928
+ * path, so a project with several output roots is compared root by root
69929
+ * however each root was spelled. In `--check` mode nothing is
69930
+ * written, but the sentence describes the same outcome of the same config, so
69931
+ * it is worded the same.
69932
+ */
69933
+ function createFoldRootOverwriteWatch({ logger }) {
69934
+ const writesByPath = /* @__PURE__ */ new Map();
69935
+ return {
69936
+ observe: ({ toolTarget, toolFiles }) => {
69937
+ const folds = foldsIntoRoot({ toolTarget });
69938
+ for (const file of toolFiles) {
69939
+ if (!(file instanceof ToolRule) || !file.isRoot()) continue;
69940
+ const path = (0, node_path.resolve)(file.getFilePath());
69941
+ const writes = writesByPath.get(path) ?? [];
69942
+ writes.push({
69943
+ target: toolTarget,
69944
+ folds,
69945
+ content: file.getFileContent()
69946
+ });
69947
+ writesByPath.set(path, writes);
69948
+ }
69949
+ },
69950
+ report: () => {
69951
+ for (const [path, writes] of writesByPath) {
69952
+ const last = writes.at(-1);
69953
+ if (last === void 0 || last.folds) continue;
69954
+ const fold = writes.findLast((write) => write.folds && write.content !== last.content);
69955
+ if (fold === void 0) continue;
69956
+ logger.warn(`Target '${last.target}' overwrites ${displayPath({ filePath: path })}, the file target '${fold.target}' folds every non-root rule into, so '${fold.target}' is left with the root rule only. The last target in config order wins a shared file: list '${fold.target}' after '${last.target}' to keep the folded content (see "Target Order and File Conflicts" in the configuration guide).`);
69957
+ }
69958
+ }
69959
+ };
69960
+ }
69961
+ //#endregion
69890
69962
  //#region src/lib/orphan-sweep.ts
69891
69963
  function createOrphanSweepPlan() {
69892
69964
  const generatedPaths = /* @__PURE__ */ new Set();
@@ -70196,17 +70268,19 @@ async function processEmptyFeatureGeneration(params) {
70196
70268
  * based on whether rulesync files exist.
70197
70269
  */
70198
70270
  async function processFeatureWithRulesyncFiles(params) {
70199
- const { config, processor, rulesyncFiles, sweepPlan, skipFilePaths } = params;
70271
+ const { config, processor, rulesyncFiles, sweepPlan, skipFilePaths, onToolFiles } = params;
70200
70272
  if (rulesyncFiles.length === 0) return processEmptyFeatureGeneration({
70201
70273
  config,
70202
70274
  processor,
70203
70275
  sweepPlan,
70204
70276
  skipFilePaths
70205
70277
  });
70278
+ const toolFiles = await processor.convertRulesyncFilesToToolFiles(rulesyncFiles);
70279
+ onToolFiles?.(toolFiles);
70206
70280
  return processFeatureGeneration({
70207
70281
  config,
70208
70282
  processor,
70209
- toolFiles: await processor.convertRulesyncFilesToToolFiles(rulesyncFiles),
70283
+ toolFiles,
70210
70284
  sweepPlan,
70211
70285
  skipFilePaths
70212
70286
  });
@@ -70624,6 +70698,7 @@ async function generateRulesCore(params) {
70624
70698
  featureName: "rules",
70625
70699
  logger
70626
70700
  });
70701
+ const foldRootOverwriteWatch = createFoldRootOverwriteWatch({ logger });
70627
70702
  const isCheck = config.getCheck();
70628
70703
  const rootFileOwner = isCheck ? computeRootFileOwnership({
70629
70704
  targets: config.getConfigFileTargets(),
@@ -70660,13 +70735,18 @@ async function generateRulesCore(params) {
70660
70735
  processor,
70661
70736
  rulesyncFiles,
70662
70737
  sweepPlan,
70663
- skipFilePaths: skipFilePaths.size > 0 ? skipFilePaths : void 0
70738
+ skipFilePaths: skipFilePaths.size > 0 ? skipFilePaths : void 0,
70739
+ onToolFiles: (toolFiles) => foldRootOverwriteWatch.observe({
70740
+ toolTarget,
70741
+ toolFiles
70742
+ })
70664
70743
  });
70665
70744
  totalCount += result.count;
70666
70745
  allPaths.push(...result.paths);
70667
70746
  if (result.hasDiff) hasDiff = true;
70668
70747
  if (result.sourceLoadFailed) sourceLoadFailed = true;
70669
70748
  }
70749
+ foldRootOverwriteWatch.report();
70670
70750
  return {
70671
70751
  count: totalCount,
70672
70752
  paths: allPaths,
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_import = require("./import-WJZi59fO.cjs");
2
+ const require_import = require("./import-auwKp4Mm.cjs");
3
3
  //#region src/index.ts
4
4
  async function generate(options = {}) {
5
5
  const { silent = true, verbose = false, ...rest } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/features.ts","../src/types/tool-target-tuples.ts","../src/types/tool-targets.ts","../src/lib/convert.ts","../src/types/ai-dir.ts","../src/features/skills/rulesync-skill.ts","../src/lib/generate.ts","../src/lib/import.ts","../src/index.ts"],"mappings":";;qBAaa;cA+BP,eAAa,EAAA,uBAAA,EAAA;;;;;;;;;IAAoE,EAAA;KAE3E,UAAU,EAAE,aAAa;;;cCiRxB;;;KCrTR,wBAAwB;qBAEhB,4BAA4B,kBAAkB;cAM9C,kBAAgB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEjB,aAAa,EAAE,aAAa;;;KCH5B;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;KCWU;EAEN;EACA;;EAGA;EACA,OAAO;;KAqBD;EACV;EACA,YAAY;;;;;;;;EAQZ;;;;;;;EAOA;;KAmnBU;EACV;EACA;EACA;EACA;IACE;IACA;IACA,cAAc;;EAEhB,aAAa;EACb;;KAGU,qBAAqB,KAC/B;uBAIoB;;;;qBAID;;;;qBAKA;;;;qBAKA;;;;YAKT;IACR;IACA;IACA,cAAc;;;;;YAMN,YAAY;;;;qBAKH;EAEnB,cACE,YACA,iBACA,SACA,UACA,YACA,UACC;SAyBU,QAAQ,SAAS,qBAAqB,QAAQ;EAI3D;EAIA;EAIA;;;;;;;;;;;;;;;;;;;;;EAwBA;;;;;;;;;;;;;EAgBA;EAqBA;EAqBA;IAEM;IACA;IACA,cAAc;;EAMpB,iBAAiB;;;;EAOjB;EAIA;EAIA,YAAY,cAAc,cAAc,cAAc;;;;;;;;;;iBAajC;;iBAWN;;;;;;iBASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkCA;iBA8CM;;;;;iBA6GN;;;;;;;iBAsDM;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+FE,kBACrB,oBACA,yBACA,iBACA,0BACC,QAAQ;WAwGF,YAAY;;;;cC70CjB,wCAAsC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+V1C,EAAA,KAAA;KAMU;EACV;EACA;EACA;EACA;EACA;EACA;EACA,yBAAyB;EACzB,WAAW;EACX;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,QAAQ;IACR;IACA;IACA;IACA;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;;EAEF;IACE;IACA,WAAW;IACX;IACA;;EAEF;IACE;IACA;MACE;MACA;MACA;MACA;MACA;MACA;;IAEF;MACE;;IAEF;MACE,QAAQ;QACN;QACA;QACA;QACA;QACA;;;;EAIN;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;;EAEF;IACE;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb,MAAM;EACN,QAAQ;EACR,MAAM;EACN;IACE;IACA;IACA;IACA;IACA;IACA,cAAc;IACd;;EAEF;IACE;IACA;IACA;IACA;IACA;IACA;IACA,QAAQ;IACR;IACA;;EAEF;IACE;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA;IACA,WAAW;;EAEb;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA,yBAAyB;IACzB,WAAW;IACX;;EAEF,cAAc;EACd;IACE;IACA,yBAAyB;IACzB,WAAW;IACX;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA,WAAW;;;KAKH,2BAA2B,EAAE,aAAa;KAO1C;EACV;EACA;EACA;EACA,aAAa;EACb;EACA,aAAa;EACb;EACA;;KAGU;EACV;;KAGU;EACV;EACA;EACA;EACA;;;;;;cAOW,sBAAsB;EACjC,cACE,YACA,iBACA,SACA,aACA,MACA,YACA,UACA,UACC;SAsBI,oBAAoB;EAU3B,kBAAkB;EAQlB;EAIA,YAAY;SAcC,UACX,YACA,iBACA,SACA,UACC,6BAA6B,QAAQ;;;;KCzoB9B;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;;;;;;EAMA;;;;;EAKA,0BAA0B;;KAuZhB;;;KCjbA;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;KC/CG;EACH;EACA;EACA;EACA;;YAGU,kBAAkB;EAC5B,UAAU;EACV,WAAW;EACX;;;;;;;;;;;;;EAaA;;;;;;;;EAQA;EACA;EACA;EACA;EACA;EACA;EACA;;YAGU,gBAAgB;EAC1B,QAAQ;EACR,WAAW;;YAGD,iBAAiB;EAC3B,MAAM;EACN,IAAI;EACJ,WAAW;EACX;;wBAGoB,SAAS,UAAS,kBAAuB,QAAQ;wBAyBjD,eAAe,SAAS,gBAAgB,QAAQ;wBAehD,gBAAgB,SAAS,iBAAiB,QAAQ"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/features.ts","../src/types/tool-target-tuples.ts","../src/types/tool-targets.ts","../src/lib/convert.ts","../src/types/ai-dir.ts","../src/features/skills/rulesync-skill.ts","../src/lib/generate.ts","../src/lib/import.ts","../src/index.ts"],"mappings":";;qBAaa;cA+BP,eAAa,EAAA,uBAAA,EAAA;;;;;;;;;IAAoE,EAAA;KAE3E,UAAU,EAAE,aAAa;;;cCiRxB;;;KCrTR,wBAAwB;qBAEhB,4BAA4B,kBAAkB;cAM9C,kBAAgB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEjB,aAAa,EAAE,aAAa;;;KCH5B;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;KCWU;EAEN;EACA;;EAGA;EACA,OAAO;;KAqBD;EACV;EACA,YAAY;;;;;;;;EAQZ;;;;;;;EAOA;;KAmnBU;EACV;EACA;EACA;EACA;IACE;IACA;IACA,cAAc;;EAEhB,aAAa;EACb;;KAGU,qBAAqB,KAC/B;uBAIoB;;;;qBAID;;;;qBAKA;;;;qBAKA;;;;YAKT;IACR;IACA;IACA,cAAc;;;;;YAMN,YAAY;;;;qBAKH;EAEnB,cACE,YACA,iBACA,SACA,UACA,YACA,UACC;SAyBU,QAAQ,SAAS,qBAAqB,QAAQ;EAI3D;EAIA;EAIA;;;;;;;;;;;;;;;;;;;;;EAwBA;;;;;;;;;;;;;EAgBA;EAqBA;EAqBA;IAEM;IACA;IACA,cAAc;;EAMpB,iBAAiB;;;;EAOjB;EAIA;EAIA,YAAY,cAAc,cAAc,cAAc;;;;;;;;;;iBAajC;;iBAWN;;;;;;iBASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkCA;iBA8CM;;;;;iBA6GN;;;;;;;iBAsDM;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+FE,kBACrB,oBACA,yBACA,iBACA,0BACC,QAAQ;WAwGF,YAAY;;;;cC70CjB,wCAAsC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+V1C,EAAA,KAAA;KAMU;EACV;EACA;EACA;EACA;EACA;EACA;EACA,yBAAyB;EACzB,WAAW;EACX;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,QAAQ;IACR;IACA;IACA;IACA;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;;EAEF;IACE;IACA,WAAW;IACX;IACA;;EAEF;IACE;IACA;MACE;MACA;MACA;MACA;MACA;MACA;;IAEF;MACE;;IAEF;MACE,QAAQ;QACN;QACA;QACA;QACA;QACA;;;;EAIN;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;;EAEF;IACE;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb,MAAM;EACN,QAAQ;EACR,MAAM;EACN;IACE;IACA;IACA;IACA;IACA;IACA,cAAc;IACd;;EAEF;IACE;IACA;IACA;IACA;IACA;IACA;IACA,QAAQ;IACR;IACA;;EAEF;IACE;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA;IACA,WAAW;;EAEb;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA,yBAAyB;IACzB,WAAW;IACX;;EAEF,cAAc;EACd;IACE;IACA,yBAAyB;IACzB,WAAW;IACX;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA,WAAW;;;KAKH,2BAA2B,EAAE,aAAa;KAO1C;EACV;EACA;EACA;EACA,aAAa;EACb;EACA,aAAa;EACb;EACA;;KAGU;EACV;;KAGU;EACV;EACA;EACA;EACA;;;;;;cAOW,sBAAsB;EACjC,cACE,YACA,iBACA,SACA,aACA,MACA,YACA,UACA,UACC;SAsBI,oBAAoB;EAU3B,kBAAkB;EAQlB;EAIA,YAAY;SAcC,UACX,YACA,iBACA,SACA,UACC,6BAA6B,QAAQ;;;;KCxoB9B;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;;;;;;EAMA;;;;;EAKA,0BAA0B;;KA0ZhB;;;KCrbA;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;KC/CG;EACH;EACA;EACA;EACA;;YAGU,kBAAkB;EAC5B,UAAU;EACV,WAAW;EACX;;;;;;;;;;;;;EAaA;;;;;;;;EAQA;EACA;EACA;EACA;EACA;EACA;EACA;;YAGU,gBAAgB;EAC1B,QAAQ;EACR,WAAW;;YAGD,iBAAiB;EAC3B,MAAM;EACN,IAAI;EACJ,WAAW;EACX;;wBAGoB,SAAS,UAAS,kBAAuB,QAAQ;wBAyBjD,eAAe,SAAS,gBAAgB,QAAQ;wBAehD,gBAAgB,SAAS,iBAAiB,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/features.ts","../src/types/tool-target-tuples.ts","../src/types/tool-targets.ts","../src/lib/convert.ts","../src/types/ai-dir.ts","../src/features/skills/rulesync-skill.ts","../src/lib/generate.ts","../src/lib/import.ts","../src/index.ts"],"mappings":";;qBAaa;cA+BP,eAAa,EAAA,uBAAA,EAAA;;;;;;;;;IAAoE,EAAA;KAE3E,UAAU,EAAE,aAAa;;;cCiRxB;;;KCrTR,wBAAwB;qBAEhB,4BAA4B,kBAAkB;cAM9C,kBAAgB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEjB,aAAa,EAAE,aAAa;;;KCH5B;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;KCWU;EAEN;EACA;;EAGA;EACA,OAAO;;KAqBD;EACV;EACA,YAAY;;;;;;;;EAQZ;;;;;;;EAOA;;KAmnBU;EACV;EACA;EACA;EACA;IACE;IACA;IACA,cAAc;;EAEhB,aAAa;EACb;;KAGU,qBAAqB,KAC/B;uBAIoB;;;;qBAID;;;;qBAKA;;;;qBAKA;;;;YAKT;IACR;IACA;IACA,cAAc;;;;;YAMN,YAAY;;;;qBAKH;EAEnB,cACE,YACA,iBACA,SACA,UACA,YACA,UACC;SAyBU,QAAQ,SAAS,qBAAqB,QAAQ;EAI3D;EAIA;EAIA;;;;;;;;;;;;;;;;;;;;;EAwBA;;;;;;;;;;;;;EAgBA;EAqBA;EAqBA;IAEM;IACA;IACA,cAAc;;EAMpB,iBAAiB;;;;EAOjB;EAIA;EAIA,YAAY,cAAc,cAAc,cAAc;;;;;;;;;;iBAajC;;iBAWN;;;;;;iBASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkCA;iBA8CM;;;;;iBA6GN;;;;;;;iBAsDM;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+FE,kBACrB,oBACA,yBACA,iBACA,0BACC,QAAQ;WAwGF,YAAY;;;;cC70CjB,wCAAsC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+V1C,EAAA,KAAA;KAMU;EACV;EACA;EACA;EACA;EACA;EACA;EACA,yBAAyB;EACzB,WAAW;EACX;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,QAAQ;IACR;IACA;IACA;IACA;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;;EAEF;IACE;IACA,WAAW;IACX;IACA;;EAEF;IACE;IACA;MACE;MACA;MACA;MACA;MACA;MACA;;IAEF;MACE;;IAEF;MACE,QAAQ;QACN;QACA;QACA;QACA;QACA;;;;EAIN;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;;EAEF;IACE;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb,MAAM;EACN,QAAQ;EACR,MAAM;EACN;IACE;IACA;IACA;IACA;IACA;IACA,cAAc;IACd;;EAEF;IACE;IACA;IACA;IACA;IACA;IACA;IACA,QAAQ;IACR;IACA;;EAEF;IACE;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA;IACA,WAAW;;EAEb;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA,yBAAyB;IACzB,WAAW;IACX;;EAEF,cAAc;EACd;IACE;IACA,yBAAyB;IACzB,WAAW;IACX;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA,WAAW;;;KAKH,2BAA2B,EAAE,aAAa;KAO1C;EACV;EACA;EACA;EACA,aAAa;EACb;EACA,aAAa;EACb;EACA;;KAGU;EACV;;KAGU;EACV;EACA;EACA;EACA;;;;;;cAOW,sBAAsB;EACjC,cACE,YACA,iBACA,SACA,aACA,MACA,YACA,UACA,UACC;SAsBI,oBAAoB;EAU3B,kBAAkB;EAQlB;EAIA,YAAY;SAcC,UACX,YACA,iBACA,SACA,UACC,6BAA6B,QAAQ;;;;KCzoB9B;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;;;;;;EAMA;;;;;EAKA,0BAA0B;;KAuZhB;;;KCjbA;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;KC/CG;EACH;EACA;EACA;EACA;;YAGU,kBAAkB;EAC5B,UAAU;EACV,WAAW;EACX;;;;;;;;;;;;;EAaA;;;;;;;;EAQA;EACA;EACA;EACA;EACA;EACA;EACA;;YAGU,gBAAgB;EAC1B,QAAQ;EACR,WAAW;;YAGD,iBAAiB;EAC3B,MAAM;EACN,IAAI;EACJ,WAAW;EACX;;wBAGoB,SAAS,UAAS,kBAAuB,QAAQ;wBAyBjD,eAAe,SAAS,gBAAgB,QAAQ;wBAehD,gBAAgB,SAAS,iBAAiB,QAAQ"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/features.ts","../src/types/tool-target-tuples.ts","../src/types/tool-targets.ts","../src/lib/convert.ts","../src/types/ai-dir.ts","../src/features/skills/rulesync-skill.ts","../src/lib/generate.ts","../src/lib/import.ts","../src/index.ts"],"mappings":";;qBAaa;cA+BP,eAAa,EAAA,uBAAA,EAAA;;;;;;;;;IAAoE,EAAA;KAE3E,UAAU,EAAE,aAAa;;;cCiRxB;;;KCrTR,wBAAwB;qBAEhB,4BAA4B,kBAAkB;cAM9C,kBAAgB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEjB,aAAa,EAAE,aAAa;;;KCH5B;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;KCWU;EAEN;EACA;;EAGA;EACA,OAAO;;KAqBD;EACV;EACA,YAAY;;;;;;;;EAQZ;;;;;;;EAOA;;KAmnBU;EACV;EACA;EACA;EACA;IACE;IACA;IACA,cAAc;;EAEhB,aAAa;EACb;;KAGU,qBAAqB,KAC/B;uBAIoB;;;;qBAID;;;;qBAKA;;;;qBAKA;;;;YAKT;IACR;IACA;IACA,cAAc;;;;;YAMN,YAAY;;;;qBAKH;EAEnB,cACE,YACA,iBACA,SACA,UACA,YACA,UACC;SAyBU,QAAQ,SAAS,qBAAqB,QAAQ;EAI3D;EAIA;EAIA;;;;;;;;;;;;;;;;;;;;;EAwBA;;;;;;;;;;;;;EAgBA;EAqBA;EAqBA;IAEM;IACA;IACA,cAAc;;EAMpB,iBAAiB;;;;EAOjB;EAIA;EAIA,YAAY,cAAc,cAAc,cAAc;;;;;;;;;;iBAajC;;iBAWN;;;;;;iBASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkCA;iBA8CM;;;;;iBA6GN;;;;;;;iBAsDM;;;;;;;;;;;;;;;;;;;;;;;;;;mBA+FE,kBACrB,oBACA,yBACA,iBACA,0BACC,QAAQ;WAwGF,YAAY;;;;cC70CjB,wCAAsC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+V1C,EAAA,KAAA;KAMU;EACV;EACA;EACA;EACA;EACA;EACA;EACA,yBAAyB;EACzB,WAAW;EACX;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,QAAQ;IACR;IACA;IACA;IACA;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;;EAEF;IACE;IACA,WAAW;IACX;IACA;;EAEF;IACE;IACA;MACE;MACA;MACA;MACA;MACA;MACA;;IAEF;MACE;;IAEF;MACE,QAAQ;QACN;QACA;QACA;QACA;QACA;;;;EAIN;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;;EAEF;IACE;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb,MAAM;EACN,QAAQ;EACR,MAAM;EACN;IACE;IACA;IACA;IACA;IACA;IACA,cAAc;IACd;;EAEF;IACE;IACA;IACA;IACA;IACA;IACA;IACA,QAAQ;IACR;IACA;;EAEF;IACE;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA;IACA,WAAW;;EAEb;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAEF;IACE;IACA;IACA;IACA;;EAEF;IACE;IACA,yBAAyB;IACzB,WAAW;IACX;;EAEF,cAAc;EACd;IACE;IACA,yBAAyB;IACzB,WAAW;IACX;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;IACA;IACA,yBAAyB;IACzB,WAAW;;EAEb;IACE;IACA;IACA,WAAW;;;KAKH,2BAA2B,EAAE,aAAa;KAO1C;EACV;EACA;EACA;EACA,aAAa;EACb;EACA,aAAa;EACb;EACA;;KAGU;EACV;;KAGU;EACV;EACA;EACA;EACA;;;;;;cAOW,sBAAsB;EACjC,cACE,YACA,iBACA,SACA,aACA,MACA,YACA,UACA,UACC;SAsBI,oBAAoB;EAU3B,kBAAkB;EAQlB;EAIA,YAAY;SAcC,UACX,YACA,iBACA,SACA,UACC,6BAA6B,QAAQ;;;;KCxoB9B;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;EACR;;;;;;EAMA;;;;;EAKA,0BAA0B;;KA0ZhB;;;KCrbA;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;;KC/CG;EACH;EACA;EACA;EACA;;YAGU,kBAAkB;EAC5B,UAAU;EACV,WAAW;EACX;;;;;;;;;;;;;EAaA;;;;;;;;EAQA;EACA;EACA;EACA;EACA;EACA;EACA;;YAGU,gBAAgB;EAC1B,QAAQ;EACR,WAAW;;YAGD,iBAAiB;EAC3B,MAAM;EACN,IAAI;EACJ,WAAW;EACX;;wBAGoB,SAAS,UAAS,kBAAuB,QAAQ;wBAyBjD,eAAe,SAAS,gBAAgB,QAAQ;wBAehD,gBAAgB,SAAS,iBAAiB,QAAQ"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { $t as ALL_TOOL_TARGETS, Nn as ALL_FEATURES, at as ConfigResolver, i as inspectInputRoots, o as convertFromTool$1, pt as ConsoleLogger, r as generate$1, t as importFromTool$1 } from "./import-BDlmyTcr.js";
1
+ import { $t as ALL_TOOL_TARGETS, Nn as ALL_FEATURES, at as ConfigResolver, i as inspectInputRoots, o as convertFromTool$1, pt as ConsoleLogger, r as generate$1, t as importFromTool$1 } from "./import-BknrMODR.js";
2
2
  //#region src/index.ts
3
3
  async function generate(options = {}) {
4
4
  const { silent = true, verbose = false, ...rest } = options;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rulesync",
3
- "version": "16.30.0",
3
+ "version": "16.30.2",
4
4
  "description": "Unified AI rules management CLI tool that generates configuration files for various AI development tools",
5
5
  "keywords": [
6
6
  "ai",
@@ -57,7 +57,7 @@
57
57
  "commander": "15.0.0",
58
58
  "effect": "3.22.2",
59
59
  "es-toolkit": "1.52.0",
60
- "fastmcp": "4.20.9",
60
+ "fastmcp": "4.20.11",
61
61
  "globby": "16.2.4",
62
62
  "gray-matter": "4.0.3",
63
63
  "js-yaml": "5.4.1",
@@ -65,11 +65,11 @@
65
65
  "minisearch": "7.2.0",
66
66
  "smol-toml": "1.8.0",
67
67
  "sury": "10.0.4",
68
- "zod": "4.6.1"
68
+ "zod": "4.6.2"
69
69
  },
70
70
  "devDependencies": {
71
- "@anthropic-ai/claude-agent-sdk": "0.3.267",
72
- "@openrouter/sdk": "1.2.116",
71
+ "@anthropic-ai/claude-agent-sdk": "0.3.268",
72
+ "@openrouter/sdk": "1.2.117",
73
73
  "@secretlint/secretlint-rule-preset-recommend": "13.0.5",
74
74
  "@tsconfig/node24": "24.0.5",
75
75
  "@types/node": "26.5.1",
@@ -77,7 +77,7 @@
77
77
  "@vitest/coverage-v8": "5.0.0",
78
78
  "cspell": "10.3.0",
79
79
  "knip": "6.35.1",
80
- "lint-staged": "17.5.0",
80
+ "lint-staged": "17.5.1",
81
81
  "oxfmt": "0.67.0",
82
82
  "oxlint": "1.82.0",
83
83
  "repomix": "1.18.0",
@@ -89,7 +89,7 @@
89
89
  "tsdown": "0.23.0",
90
90
  "tsx": "4.23.13",
91
91
  "typescript": "7.0.2",
92
- "vite": "8.2.2",
92
+ "vite": "8.3.0",
93
93
  "vitepress": "1.6.4",
94
94
  "vitest": "5.0.0"
95
95
  },