rulesync 8.22.0 → 8.24.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/cli/index.js CHANGED
@@ -79,7 +79,7 @@ import {
79
79
  stringifyFrontmatter,
80
80
  toPosixPath,
81
81
  writeFileContent
82
- } from "../chunk-5UYENRC6.js";
82
+ } from "../chunk-KWUW4DM2.js";
83
83
 
84
84
  // src/cli/index.ts
85
85
  import { Command } from "commander";
@@ -1271,7 +1271,7 @@ var GITIGNORE_ENTRY_REGISTRY = [
1271
1271
  // This prevents accidental commits when a user disables the rovodev target.
1272
1272
  { target: "common", feature: "general", entry: "**/AGENTS.local.md" },
1273
1273
  // AGENTS.md
1274
- { target: ["agentsmd", "pi"], feature: "rules", entry: "**/AGENTS.md" },
1274
+ { target: ["agentsmd", "pi", "warp"], feature: "rules", entry: "**/AGENTS.md" },
1275
1275
  { target: "agentsmd", feature: "rules", entry: "**/.agents/" },
1276
1276
  // Antigravity (IDE + CLI, Antigravity 2.0)
1277
1277
  // Both targets share the `.agents/` project tree; the CLI additionally
@@ -1506,8 +1506,17 @@ var GITIGNORE_ENTRY_REGISTRY = [
1506
1506
  { target: "windsurf", feature: "skills", entry: "**/.windsurf/skills/" },
1507
1507
  { target: "windsurf", feature: "skills", entry: "**/.codeium/windsurf/skills/" },
1508
1508
  // Warp
1509
+ // `/init` now writes `AGENTS.md` (handled by the shared AGENTS.md entry above).
1509
1510
  { target: "warp", feature: "rules", entry: "**/.warp/" },
1510
- { target: "warp", feature: "rules", entry: "**/WARP.md" }
1511
+ { target: "warp", feature: "mcp", entry: "**/.warp/.mcp.json" },
1512
+ // Zed
1513
+ // `.rules` is the project rules file. `.agents/skills/` is shared with the
1514
+ // antigravity targets (already registered above); re-tagging it for `zed`
1515
+ // ensures target-filtered gitignore runs still include it.
1516
+ // No entry for `.zed/settings.json` (MCP / ignore): it is a user-managed
1517
+ // file, like other tools' settings.json, so it is intentionally not ignored.
1518
+ { target: "zed", feature: "rules", entry: "**/.rules" },
1519
+ { target: "zed", feature: "skills", entry: "**/.agents/skills/" }
1511
1520
  ];
1512
1521
  var ALL_GITIGNORE_ENTRIES = (() => {
1513
1522
  const seen = /* @__PURE__ */ new Set();
@@ -3284,7 +3293,7 @@ import { Semaphore as Semaphore4 } from "es-toolkit/promise";
3284
3293
 
3285
3294
  // src/lib/git-client.ts
3286
3295
  import { execFile } from "child_process";
3287
- import { isAbsolute, join as join10, relative } from "path";
3296
+ import { isAbsolute, join as join10, posix as posix4, relative } from "path";
3288
3297
  import { promisify } from "util";
3289
3298
  var execFileAsync = promisify(execFile);
3290
3299
  var GIT_TIMEOUT_MS = 6e4;
@@ -3385,6 +3394,8 @@ async function fetchSkillFiles(params) {
3385
3394
  }
3386
3395
  await checkGitAvailable();
3387
3396
  const tmpDir = await createTempDirectory("rulesync-git-");
3397
+ const normalizedSkillsPath = posix4.normalize(skillsPath.replace(/\\/g, "/")).replace(/\/+$/, "");
3398
+ const isRootPath = normalizedSkillsPath === "" || normalizedSkillsPath === ".";
3388
3399
  try {
3389
3400
  await execFileAsync(
3390
3401
  "git",
@@ -3402,11 +3413,17 @@ async function fetchSkillFiles(params) {
3402
3413
  ],
3403
3414
  { timeout: GIT_TIMEOUT_MS }
3404
3415
  );
3405
- await execFileAsync("git", ["-C", tmpDir, "sparse-checkout", "set", "--", skillsPath], {
3406
- timeout: GIT_TIMEOUT_MS
3407
- });
3416
+ if (isRootPath) {
3417
+ await execFileAsync("git", ["-C", tmpDir, "sparse-checkout", "disable"], {
3418
+ timeout: GIT_TIMEOUT_MS
3419
+ });
3420
+ } else {
3421
+ await execFileAsync("git", ["-C", tmpDir, "sparse-checkout", "set", "--", skillsPath], {
3422
+ timeout: GIT_TIMEOUT_MS
3423
+ });
3424
+ }
3408
3425
  await execFileAsync("git", ["-C", tmpDir, "checkout"], { timeout: GIT_TIMEOUT_MS });
3409
- const skillsDir = join10(tmpDir, skillsPath);
3426
+ const skillsDir = isRootPath ? tmpDir : join10(tmpDir, skillsPath);
3410
3427
  if (!await directoryExists(skillsDir)) return [];
3411
3428
  return await walkDirectory(skillsDir, skillsDir, 0, { totalFiles: 0, totalSize: 0 }, logger5);
3412
3429
  } catch (error) {
@@ -6515,7 +6532,7 @@ function wrapCommand({
6515
6532
  }
6516
6533
 
6517
6534
  // src/cli/index.ts
6518
- var getVersion = () => "8.22.0";
6535
+ var getVersion = () => "8.24.0";
6519
6536
  function wrapCommand2(name, errorCode, handler) {
6520
6537
  return wrapCommand({ name, errorCode, handler, getVersion });
6521
6538
  }