rulesync 7.23.0 → 7.25.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
@@ -69,8 +69,9 @@ import {
69
69
  removeFile,
70
70
  removeTempDirectory,
71
71
  stringifyFrontmatter,
72
+ toPosixPath,
72
73
  writeFileContent
73
- } from "../chunk-GAWAOFCL.js";
74
+ } from "../chunk-XGT6BGPR.js";
74
75
 
75
76
  // src/cli/index.ts
76
77
  import { Command } from "commander";
@@ -79,7 +80,7 @@ import { Command } from "commander";
79
80
  var parseCommaSeparatedList = (value) => value.split(",").map((s) => s.trim()).filter(Boolean);
80
81
 
81
82
  // src/lib/fetch.ts
82
- import { join } from "path";
83
+ import { join, posix } from "path";
83
84
  import { Semaphore } from "es-toolkit/promise";
84
85
 
85
86
  // src/lib/github-client.ts
@@ -652,7 +653,7 @@ async function fetchFiles(params) {
652
653
  );
653
654
  }
654
655
  const resolvedRef = options.ref ?? parsed.ref;
655
- const resolvedPath = options.path ?? parsed.path ?? ".";
656
+ const resolvedPath = toPosixPath(options.path ?? parsed.path ?? ".");
656
657
  const outputDir = options.output ?? RULESYNC_RELATIVE_DIR_PATH;
657
658
  const conflictStrategy = options.conflict ?? "overwrite";
658
659
  const enabledFeatures = resolveFeatures(options.features);
@@ -761,7 +762,7 @@ async function collectFeatureFiles(params) {
761
762
  );
762
763
  const results = await Promise.all(
763
764
  tasks.map(async ({ featurePath }) => {
764
- const fullPath = basePath === "." || basePath === "" ? featurePath : join(basePath, featurePath);
765
+ const fullPath = basePath === "." || basePath === "" ? featurePath : posix.join(basePath, featurePath);
765
766
  const collected = [];
766
767
  try {
767
768
  if (featurePath.includes(".")) {
@@ -1150,10 +1151,18 @@ import { join as join2 } from "path";
1150
1151
  // src/cli/commands/gitignore-entries.ts
1151
1152
  var GITIGNORE_ENTRY_REGISTRY = [
1152
1153
  // Common / general
1153
- { target: "common", feature: "general", entry: `${RULESYNC_CURATED_SKILLS_RELATIVE_DIR_PATH}/` },
1154
+ {
1155
+ target: "common",
1156
+ feature: "general",
1157
+ entry: `${RULESYNC_CURATED_SKILLS_RELATIVE_DIR_PATH}/`
1158
+ },
1154
1159
  { target: "common", feature: "general", entry: ".rulesync/rules/*.local.md" },
1155
1160
  { target: "common", feature: "general", entry: "rulesync.local.jsonc" },
1156
1161
  { target: "common", feature: "general", entry: "!.rulesync/.aiignore" },
1162
+ // AGENTS.local.md is placed in common scope (not rovodev-only) so that
1163
+ // local rule files are always gitignored regardless of which targets are enabled.
1164
+ // This prevents accidental commits when a user disables the rovodev target.
1165
+ { target: "common", feature: "general", entry: "**/AGENTS.local.md" },
1157
1166
  // AGENTS.md
1158
1167
  { target: "agentsmd", feature: "rules", entry: "**/AGENTS.md" },
1159
1168
  { target: "agentsmd", feature: "rules", entry: "**/.agents/" },
@@ -1165,14 +1174,22 @@ var GITIGNORE_ENTRY_REGISTRY = [
1165
1174
  { target: "claudecode", feature: "rules", entry: "**/CLAUDE.md" },
1166
1175
  { target: "claudecode", feature: "rules", entry: "**/CLAUDE.local.md" },
1167
1176
  { target: "claudecode", feature: "rules", entry: "**/.claude/CLAUDE.md" },
1168
- { target: "claudecode", feature: "rules", entry: "**/.claude/CLAUDE.local.md" },
1177
+ {
1178
+ target: "claudecode",
1179
+ feature: "rules",
1180
+ entry: "**/.claude/CLAUDE.local.md"
1181
+ },
1169
1182
  { target: "claudecode", feature: "rules", entry: "**/.claude/rules/" },
1170
1183
  { target: "claudecode", feature: "commands", entry: "**/.claude/commands/" },
1171
1184
  { target: "claudecode", feature: "subagents", entry: "**/.claude/agents/" },
1172
1185
  { target: "claudecode", feature: "skills", entry: "**/.claude/skills/" },
1173
1186
  { target: "claudecode", feature: "mcp", entry: "**/.mcp.json" },
1174
1187
  { target: "claudecode", feature: "general", entry: "**/.claude/memories/" },
1175
- { target: "claudecode", feature: "general", entry: "**/.claude/settings.local.json" },
1188
+ {
1189
+ target: "claudecode",
1190
+ feature: "general",
1191
+ entry: "**/.claude/settings.local.json"
1192
+ },
1176
1193
  // Cline
1177
1194
  { target: "cline", feature: "rules", entry: "**/.clinerules/" },
1178
1195
  { target: "cline", feature: "commands", entry: "**/.clinerules/workflows/" },
@@ -1192,15 +1209,35 @@ var GITIGNORE_ENTRY_REGISTRY = [
1192
1209
  { target: "deepagents", feature: "rules", entry: "**/.deepagents/memories/" },
1193
1210
  { target: "deepagents", feature: "mcp", entry: "**/.deepagents/.mcp.json" },
1194
1211
  { target: "deepagents", feature: "skills", entry: "**/.deepagents/skills/" },
1195
- { target: "deepagents", feature: "subagents", entry: "**/.deepagents/agents/" },
1196
- { target: "deepagents", feature: "hooks", entry: "**/.deepagents/hooks.json" },
1212
+ {
1213
+ target: "deepagents",
1214
+ feature: "subagents",
1215
+ entry: "**/.deepagents/agents/"
1216
+ },
1217
+ {
1218
+ target: "deepagents",
1219
+ feature: "hooks",
1220
+ entry: "**/.deepagents/hooks.json"
1221
+ },
1197
1222
  // Factory Droid
1198
1223
  { target: "factorydroid", feature: "rules", entry: "**/.factory/rules/" },
1199
- { target: "factorydroid", feature: "commands", entry: "**/.factory/commands/" },
1200
- { target: "factorydroid", feature: "subagents", entry: "**/.factory/droids/" },
1224
+ {
1225
+ target: "factorydroid",
1226
+ feature: "commands",
1227
+ entry: "**/.factory/commands/"
1228
+ },
1229
+ {
1230
+ target: "factorydroid",
1231
+ feature: "subagents",
1232
+ entry: "**/.factory/droids/"
1233
+ },
1201
1234
  { target: "factorydroid", feature: "skills", entry: "**/.factory/skills/" },
1202
1235
  { target: "factorydroid", feature: "mcp", entry: "**/.factory/mcp.json" },
1203
- { target: "factorydroid", feature: "general", entry: "**/.factory/settings.json" },
1236
+ {
1237
+ target: "factorydroid",
1238
+ feature: "general",
1239
+ entry: "**/.factory/settings.json"
1240
+ },
1204
1241
  // Gemini CLI
1205
1242
  { target: "geminicli", feature: "rules", entry: "**/GEMINI.md" },
1206
1243
  { target: "geminicli", feature: "commands", entry: "**/.gemini/commands/" },
@@ -1213,7 +1250,11 @@ var GITIGNORE_ENTRY_REGISTRY = [
1213
1250
  { target: "goose", feature: "rules", entry: "**/.goose/" },
1214
1251
  { target: "goose", feature: "ignore", entry: "**/.gooseignore" },
1215
1252
  // GitHub Copilot
1216
- { target: "copilot", feature: "rules", entry: "**/.github/copilot-instructions.md" },
1253
+ {
1254
+ target: "copilot",
1255
+ feature: "rules",
1256
+ entry: "**/.github/copilot-instructions.md"
1257
+ },
1217
1258
  { target: "copilot", feature: "rules", entry: "**/.github/instructions/" },
1218
1259
  { target: "copilot", feature: "commands", entry: "**/.github/prompts/" },
1219
1260
  { target: "copilot", feature: "subagents", entry: "**/.github/agents/" },
@@ -1221,7 +1262,11 @@ var GITIGNORE_ENTRY_REGISTRY = [
1221
1262
  { target: "copilot", feature: "hooks", entry: "**/.github/hooks/" },
1222
1263
  { target: "copilot", feature: "mcp", entry: "**/.vscode/mcp.json" },
1223
1264
  // GitHub Copilot CLI
1224
- { target: "copilotcli", feature: "mcp", entry: "**/.copilot/mcp-config.json" },
1265
+ {
1266
+ target: "copilotcli",
1267
+ feature: "mcp",
1268
+ entry: "**/.copilot/mcp-config.json"
1269
+ },
1225
1270
  // Junie
1226
1271
  { target: "junie", feature: "rules", entry: "**/.junie/guidelines.md" },
1227
1272
  { target: "junie", feature: "mcp", entry: "**/.junie/mcp.json" },
@@ -1257,6 +1302,20 @@ var GITIGNORE_ENTRY_REGISTRY = [
1257
1302
  { target: "roo", feature: "ignore", entry: "**/.rooignore" },
1258
1303
  { target: "roo", feature: "mcp", entry: "**/.roo/mcp.json" },
1259
1304
  { target: "roo", feature: "subagents", entry: "**/.roo/subagents/" },
1305
+ // Rovodev
1306
+ {
1307
+ target: "rovodev",
1308
+ feature: "general",
1309
+ entry: "**/.rovodev/AGENTS.md"
1310
+ },
1311
+ { target: "rovodev", feature: "subagents", entry: "**/.rovodev/subagents/" },
1312
+ { target: "rovodev", feature: "skills", entry: "**/.rovodev/skills/" },
1313
+ {
1314
+ target: "rovodev",
1315
+ feature: "general",
1316
+ entry: "**/.rovodev/.rulesync/"
1317
+ },
1318
+ { target: "rovodev", feature: "skills", entry: "**/.agents/skills/" },
1260
1319
  // Warp
1261
1320
  { target: "warp", feature: "rules", entry: "**/.warp/" },
1262
1321
  { target: "warp", feature: "rules", entry: "**/WARP.md" }
@@ -4379,7 +4438,7 @@ function wrapCommand({
4379
4438
  }
4380
4439
 
4381
4440
  // src/cli/index.ts
4382
- var getVersion = () => "7.23.0";
4441
+ var getVersion = () => "7.25.0";
4383
4442
  function wrapCommand2(name, errorCode, handler) {
4384
4443
  return wrapCommand({ name, errorCode, handler, getVersion });
4385
4444
  }