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/README.md +27 -26
- package/dist/{chunk-GAWAOFCL.js → chunk-XGT6BGPR.js} +1776 -881
- package/dist/cli/index.cjs +2257 -1305
- package/dist/cli/index.js +74 -15
- package/dist/index.cjs +1899 -1005
- package/dist/index.d.cts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
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-
|
|
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
|
-
{
|
|
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
|
-
{
|
|
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
|
-
{
|
|
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
|
-
{
|
|
1196
|
-
|
|
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
|
-
{
|
|
1200
|
-
|
|
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
|
-
{
|
|
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
|
-
{
|
|
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
|
-
{
|
|
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.
|
|
4441
|
+
var getVersion = () => "7.25.0";
|
|
4383
4442
|
function wrapCommand2(name, errorCode, handler) {
|
|
4384
4443
|
return wrapCommand({ name, errorCode, handler, getVersion });
|
|
4385
4444
|
}
|