rulesync 8.28.1 → 8.30.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 +12 -7
- package/dist/{chunk-BLYLT4LZ.js → chunk-BD7XWNHZ.js} +6631 -2013
- package/dist/cli/index.cjs +7170 -2500
- package/dist/cli/index.js +97 -25
- package/dist/index.cjs +8300 -3693
- package/dist/index.d.cts +31 -1
- package/dist/index.d.ts +31 -1
- package/dist/index.js +1 -1
- package/package.json +30 -30
package/dist/cli/index.js
CHANGED
|
@@ -4,6 +4,16 @@ import {
|
|
|
4
4
|
ALL_FEATURES_WITH_WILDCARD,
|
|
5
5
|
ALL_TOOL_TARGETS,
|
|
6
6
|
ALL_TOOL_TARGETS_WITH_WILDCARD,
|
|
7
|
+
CLAUDECODE_AGENTS_DIR_PATH,
|
|
8
|
+
CLAUDECODE_COMMANDS_DIR_PATH,
|
|
9
|
+
CLAUDECODE_DIR,
|
|
10
|
+
CLAUDECODE_LOCAL_RULE_FILE_NAME,
|
|
11
|
+
CLAUDECODE_MCP_FILE_NAME,
|
|
12
|
+
CLAUDECODE_MEMORIES_DIR_NAME,
|
|
13
|
+
CLAUDECODE_RULES_DIR_NAME,
|
|
14
|
+
CLAUDECODE_RULE_FILE_NAME,
|
|
15
|
+
CLAUDECODE_SETTINGS_LOCAL_FILE_NAME,
|
|
16
|
+
CLAUDECODE_SKILLS_DIR_PATH,
|
|
7
17
|
CLIError,
|
|
8
18
|
CommandsProcessor,
|
|
9
19
|
ConfigResolver,
|
|
@@ -79,7 +89,7 @@ import {
|
|
|
79
89
|
stringifyFrontmatter,
|
|
80
90
|
toPosixPath,
|
|
81
91
|
writeFileContent
|
|
82
|
-
} from "../chunk-
|
|
92
|
+
} from "../chunk-BD7XWNHZ.js";
|
|
83
93
|
|
|
84
94
|
// src/cli/index.ts
|
|
85
95
|
import { Command } from "commander";
|
|
@@ -1272,7 +1282,7 @@ var GITIGNORE_ENTRY_REGISTRY = [
|
|
|
1272
1282
|
{ target: "common", feature: "general", entry: "**/AGENTS.local.md" },
|
|
1273
1283
|
// AGENTS.md
|
|
1274
1284
|
{
|
|
1275
|
-
target: ["agentsmd", "amp", "antigravity-ide", "pi", "warp"],
|
|
1285
|
+
target: ["agentsmd", "amp", "antigravity-cli", "antigravity-ide", "pi", "vibe", "warp"],
|
|
1276
1286
|
feature: "rules",
|
|
1277
1287
|
entry: "**/AGENTS.md"
|
|
1278
1288
|
},
|
|
@@ -1286,16 +1296,15 @@ var GITIGNORE_ENTRY_REGISTRY = [
|
|
|
1286
1296
|
{ target: "amp", feature: "rules", entry: "**/.agents/memories/" },
|
|
1287
1297
|
{ target: "amp", feature: "skills", entry: "**/.agents/skills/" },
|
|
1288
1298
|
// Antigravity (IDE + CLI, Antigravity 2.0)
|
|
1289
|
-
// Both targets share the `.agents/` project tree
|
|
1290
|
-
//
|
|
1291
|
-
//
|
|
1299
|
+
// Both targets share the `.agents/` project tree and both write a root
|
|
1300
|
+
// `AGENTS.md` (handled by the shared AGENTS.md entry above). Global-scope
|
|
1301
|
+
// paths (under the home directory, e.g. `~/.gemini/GEMINI.md`) are
|
|
1292
1302
|
// intentionally not gitignored.
|
|
1293
1303
|
{
|
|
1294
1304
|
target: ["antigravity-ide", "antigravity-cli"],
|
|
1295
1305
|
feature: "rules",
|
|
1296
1306
|
entry: "**/.agents/rules/"
|
|
1297
1307
|
},
|
|
1298
|
-
{ target: "antigravity-cli", feature: "rules", entry: "**/GEMINI.md" },
|
|
1299
1308
|
{ target: "antigravity-cli", feature: "ignore", entry: "**/.geminiignore" },
|
|
1300
1309
|
{
|
|
1301
1310
|
target: "antigravity-ide",
|
|
@@ -1330,26 +1339,50 @@ var GITIGNORE_ENTRY_REGISTRY = [
|
|
|
1330
1339
|
// target+feature filtering still resolves the file for MCP runs.
|
|
1331
1340
|
{ target: "augmentcode", feature: "mcp", entry: "**/.augment/settings.json" },
|
|
1332
1341
|
// Claude Code
|
|
1333
|
-
{ target: "claudecode", feature: "rules", entry:
|
|
1334
|
-
{ target: "claudecode", feature: "rules", entry:
|
|
1335
|
-
{ target: "claudecode", feature: "rules", entry: "**/.claude/CLAUDE.md" },
|
|
1342
|
+
{ target: "claudecode", feature: "rules", entry: `**/${CLAUDECODE_RULE_FILE_NAME}` },
|
|
1343
|
+
{ target: "claudecode", feature: "rules", entry: `**/${CLAUDECODE_LOCAL_RULE_FILE_NAME}` },
|
|
1336
1344
|
{
|
|
1337
1345
|
target: "claudecode",
|
|
1338
1346
|
feature: "rules",
|
|
1339
|
-
entry:
|
|
1347
|
+
entry: `**/${CLAUDECODE_DIR}/${CLAUDECODE_RULE_FILE_NAME}`
|
|
1348
|
+
},
|
|
1349
|
+
{
|
|
1350
|
+
target: "claudecode",
|
|
1351
|
+
feature: "rules",
|
|
1352
|
+
entry: `**/${CLAUDECODE_DIR}/${CLAUDECODE_LOCAL_RULE_FILE_NAME}`
|
|
1353
|
+
},
|
|
1354
|
+
{
|
|
1355
|
+
target: "claudecode",
|
|
1356
|
+
feature: "rules",
|
|
1357
|
+
entry: `**/${CLAUDECODE_DIR}/${CLAUDECODE_RULES_DIR_NAME}/`
|
|
1358
|
+
},
|
|
1359
|
+
{
|
|
1360
|
+
target: "claudecode",
|
|
1361
|
+
feature: "commands",
|
|
1362
|
+
entry: `**/${toPosixPath(CLAUDECODE_COMMANDS_DIR_PATH)}/`
|
|
1363
|
+
},
|
|
1364
|
+
{
|
|
1365
|
+
target: "claudecode",
|
|
1366
|
+
feature: "subagents",
|
|
1367
|
+
entry: `**/${toPosixPath(CLAUDECODE_AGENTS_DIR_PATH)}/`
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
target: "claudecode",
|
|
1371
|
+
feature: "skills",
|
|
1372
|
+
entry: `**/${toPosixPath(CLAUDECODE_SKILLS_DIR_PATH)}/`
|
|
1373
|
+
},
|
|
1374
|
+
{ target: "claudecode", feature: "mcp", entry: `**/${CLAUDECODE_MCP_FILE_NAME}` },
|
|
1375
|
+
{
|
|
1376
|
+
target: "claudecode",
|
|
1377
|
+
feature: "general",
|
|
1378
|
+
entry: `**/${CLAUDECODE_DIR}/${CLAUDECODE_MEMORIES_DIR_NAME}/`
|
|
1340
1379
|
},
|
|
1341
|
-
{ target: "claudecode", feature: "rules", entry: "**/.claude/rules/" },
|
|
1342
|
-
{ target: "claudecode", feature: "commands", entry: "**/.claude/commands/" },
|
|
1343
|
-
{ target: "claudecode", feature: "subagents", entry: "**/.claude/agents/" },
|
|
1344
|
-
{ target: "claudecode", feature: "skills", entry: "**/.claude/skills/" },
|
|
1345
|
-
{ target: "claudecode", feature: "mcp", entry: "**/.mcp.json" },
|
|
1346
|
-
{ target: "claudecode", feature: "general", entry: "**/.claude/memories/" },
|
|
1347
1380
|
{
|
|
1348
1381
|
target: "claudecode",
|
|
1349
1382
|
feature: "general",
|
|
1350
|
-
entry:
|
|
1383
|
+
entry: `**/${CLAUDECODE_DIR}/${CLAUDECODE_SETTINGS_LOCAL_FILE_NAME}`
|
|
1351
1384
|
},
|
|
1352
|
-
{ target: "claudecode", feature: "general", entry:
|
|
1385
|
+
{ target: "claudecode", feature: "general", entry: `**/${CLAUDECODE_DIR}/*.lock` },
|
|
1353
1386
|
// Cline
|
|
1354
1387
|
{ target: "cline", feature: "rules", entry: "**/.clinerules/" },
|
|
1355
1388
|
{ target: "cline", feature: "commands", entry: "**/.clinerules/workflows/" },
|
|
@@ -1421,11 +1454,19 @@ var GITIGNORE_ENTRY_REGISTRY = [
|
|
|
1421
1454
|
{ target: "goose", feature: "rules", entry: "**/.goosehints" },
|
|
1422
1455
|
{ target: "goose", feature: "rules", entry: "**/.goose/" },
|
|
1423
1456
|
{ target: "goose", feature: "ignore", entry: "**/.gooseignore" },
|
|
1457
|
+
// Goose recipes: commands map to top-level recipes (`.goose/recipes/*.yaml`)
|
|
1458
|
+
// and subagents to sub-recipes (`.goose/recipes/subagents/*.yaml`). These are
|
|
1459
|
+
// already covered by the broad `**/.goose/` rules entry above, but tagging
|
|
1460
|
+
// them per-feature keeps coverage correct under feature-filtered gitignore.
|
|
1461
|
+
{ target: "goose", feature: "commands", entry: "**/.goose/recipes/" },
|
|
1462
|
+
{ target: "goose", feature: "subagents", entry: "**/.goose/recipes/subagents/" },
|
|
1424
1463
|
// Goose lifecycle hooks plugin (.agents/plugins/<name>/hooks/hooks.json)
|
|
1425
1464
|
{ target: "goose", feature: "hooks", entry: "**/.agents/plugins/" },
|
|
1426
1465
|
// Goose reads MCP "extensions" only from the global user config
|
|
1427
1466
|
// (`~/.config/goose/config.yaml`), which lives under the home directory and is
|
|
1428
1467
|
// not gitignored at the project level (mirrors Cline's global-only MCP).
|
|
1468
|
+
// Grok Build
|
|
1469
|
+
{ target: "grokcli", feature: "general", entry: "**/.grok/config.toml" },
|
|
1429
1470
|
// GitHub Copilot
|
|
1430
1471
|
{
|
|
1431
1472
|
target: ["copilot", "copilotcli"],
|
|
@@ -1439,7 +1480,10 @@ var GITIGNORE_ENTRY_REGISTRY = [
|
|
|
1439
1480
|
},
|
|
1440
1481
|
{ target: "copilot", feature: "commands", entry: "**/.github/prompts/" },
|
|
1441
1482
|
{ target: "copilot", feature: "subagents", entry: "**/.github/agents/" },
|
|
1442
|
-
|
|
1483
|
+
// Copilot CLI shares the project `.github/skills/` location with the Copilot
|
|
1484
|
+
// IDE target; its personal skills live under `~/.copilot/skills/` (home dir,
|
|
1485
|
+
// not gitignored at the project level).
|
|
1486
|
+
{ target: ["copilot", "copilotcli"], feature: "skills", entry: "**/.github/skills/" },
|
|
1443
1487
|
{ target: "copilot", feature: "hooks", entry: "**/.github/hooks/" },
|
|
1444
1488
|
{ target: "copilot", feature: "mcp", entry: "**/.vscode/mcp.json" },
|
|
1445
1489
|
// GitHub Copilot CLI
|
|
@@ -1479,6 +1523,15 @@ var GITIGNORE_ENTRY_REGISTRY = [
|
|
|
1479
1523
|
{ target: "kiro", feature: "subagents", entry: "**/.kiro/agents/" },
|
|
1480
1524
|
{ target: "kiro", feature: "mcp", entry: "**/.kiro/settings/mcp.json" },
|
|
1481
1525
|
{ target: "kiro", feature: "ignore", entry: "**/.aiignore" },
|
|
1526
|
+
// Kiro IDE and CLI write to the same `.kiro/` tree as the legacy `kiro` alias.
|
|
1527
|
+
// (Kiro IDE subagents are Markdown under `.kiro/agents/`, the CLI's are JSON —
|
|
1528
|
+
// both covered by the shared `**/.kiro/agents/` entry.)
|
|
1529
|
+
{ target: ["kiro-cli", "kiro-ide"], feature: "rules", entry: "**/.kiro/steering/" },
|
|
1530
|
+
{ target: ["kiro-cli", "kiro-ide"], feature: "commands", entry: "**/.kiro/prompts/" },
|
|
1531
|
+
{ target: ["kiro-cli", "kiro-ide"], feature: "skills", entry: "**/.kiro/skills/" },
|
|
1532
|
+
{ target: ["kiro-cli", "kiro-ide"], feature: "subagents", entry: "**/.kiro/agents/" },
|
|
1533
|
+
{ target: ["kiro-cli", "kiro-ide"], feature: "mcp", entry: "**/.kiro/settings/mcp.json" },
|
|
1534
|
+
{ target: ["kiro-cli", "kiro-ide"], feature: "ignore", entry: "**/.aiignore" },
|
|
1482
1535
|
// Keep this after ignore entries like "**/.aiignore" so the exception remains effective.
|
|
1483
1536
|
{ target: "common", feature: "general", entry: "!.rulesync/.aiignore" },
|
|
1484
1537
|
// OpenCode
|
|
@@ -1498,8 +1551,12 @@ var GITIGNORE_ENTRY_REGISTRY = [
|
|
|
1498
1551
|
{ target: "pi", feature: "skills", entry: "**/.pi/skills/" },
|
|
1499
1552
|
// Qwen Code
|
|
1500
1553
|
{ target: "qwencode", feature: "rules", entry: "**/QWEN.md" },
|
|
1554
|
+
{ target: "qwencode", feature: "commands", entry: "**/.qwen/commands/" },
|
|
1555
|
+
{ target: "qwencode", feature: "subagents", entry: "**/.qwen/agents/" },
|
|
1556
|
+
{ target: "qwencode", feature: "skills", entry: "**/.qwen/skills/" },
|
|
1501
1557
|
{ target: "qwencode", feature: "ignore", entry: "**/.qwenignore" },
|
|
1502
1558
|
{ target: "qwencode", feature: "general", entry: "**/.qwen/memories/" },
|
|
1559
|
+
// mcp + hooks both write to `.qwen/settings.json`, shared with permissions.
|
|
1503
1560
|
{ target: "qwencode", feature: "permissions", entry: "**/.qwen/settings.json" },
|
|
1504
1561
|
// Replit
|
|
1505
1562
|
{ target: "replit", feature: "rules", entry: "**/replit.md" },
|
|
@@ -1508,7 +1565,7 @@ var GITIGNORE_ENTRY_REGISTRY = [
|
|
|
1508
1565
|
{ target: "roo", feature: "skills", entry: "**/.roo/skills/" },
|
|
1509
1566
|
{ target: "roo", feature: "ignore", entry: "**/.rooignore" },
|
|
1510
1567
|
{ target: "roo", feature: "mcp", entry: "**/.roo/mcp.json" },
|
|
1511
|
-
{ target: "roo", feature: "subagents", entry: "**/.
|
|
1568
|
+
{ target: "roo", feature: "subagents", entry: "**/.roomodes" },
|
|
1512
1569
|
// Rovodev
|
|
1513
1570
|
{
|
|
1514
1571
|
target: "rovodev",
|
|
@@ -1543,9 +1600,24 @@ var GITIGNORE_ENTRY_REGISTRY = [
|
|
|
1543
1600
|
{ target: "devin", feature: "hooks", entry: "**/.windsurf/hooks.json" },
|
|
1544
1601
|
{ target: "devin", feature: "skills", entry: "**/.devin/skills/" },
|
|
1545
1602
|
{ target: "devin", feature: "skills", entry: "**/.codeium/windsurf/skills/" },
|
|
1603
|
+
// Devin Local custom subagent profiles: `.devin/agents/<name>/AGENT.md`
|
|
1604
|
+
// (project). The global path `~/.config/devin/agents/` lives under the home
|
|
1605
|
+
// directory and is not gitignored at the project level.
|
|
1606
|
+
{ target: "devin", feature: "subagents", entry: "**/.devin/agents/" },
|
|
1607
|
+
// Vibe
|
|
1608
|
+
{ target: "vibe", feature: "ignore", entry: "**/.vibeignore" },
|
|
1609
|
+
{ target: "vibe", feature: "skills", entry: "**/.vibe/skills/" },
|
|
1610
|
+
{ target: "vibe", feature: "subagents", entry: "**/.vibe/agents/" },
|
|
1611
|
+
{ target: "vibe", feature: "mcp", entry: "**/.vibe/config.toml" },
|
|
1612
|
+
{ target: "vibe", feature: "permissions", entry: "**/.vibe/config.toml" },
|
|
1613
|
+
// Experimental hooks live in `.vibe/hooks.toml`; the `enable_experimental_hooks`
|
|
1614
|
+
// flag is merged into the shared `.vibe/config.toml` (already covered above).
|
|
1615
|
+
{ target: "vibe", feature: "hooks", entry: "**/.vibe/hooks.toml" },
|
|
1616
|
+
{ target: "vibe", feature: "hooks", entry: "**/.vibe/config.toml" },
|
|
1546
1617
|
// Warp
|
|
1547
|
-
//
|
|
1548
|
-
|
|
1618
|
+
// Warp reads project rules only from the root `AGENTS.md` (handled by the
|
|
1619
|
+
// shared AGENTS.md entry above); it does not read `.warp/memories/`, so no
|
|
1620
|
+
// rules entry under `.warp/` is emitted.
|
|
1549
1621
|
{ target: "warp", feature: "mcp", entry: "**/.warp/.mcp.json" },
|
|
1550
1622
|
{ target: "warp", feature: "skills", entry: "**/.warp/skills/" },
|
|
1551
1623
|
// Zed
|
|
@@ -2900,7 +2972,7 @@ function relativeInstallDirFor(params) {
|
|
|
2900
2972
|
const { agent, scope } = params;
|
|
2901
2973
|
if (scope === "project") {
|
|
2902
2974
|
if (agent === "claude-code") {
|
|
2903
|
-
return
|
|
2975
|
+
return CLAUDECODE_SKILLS_DIR_PATH;
|
|
2904
2976
|
}
|
|
2905
2977
|
return join8(".agents", "skills");
|
|
2906
2978
|
}
|
|
@@ -2908,7 +2980,7 @@ function relativeInstallDirFor(params) {
|
|
|
2908
2980
|
case "github-copilot":
|
|
2909
2981
|
return join8(".copilot", "skills");
|
|
2910
2982
|
case "claude-code":
|
|
2911
|
-
return
|
|
2983
|
+
return CLAUDECODE_SKILLS_DIR_PATH;
|
|
2912
2984
|
case "cursor":
|
|
2913
2985
|
return join8(".cursor", "skills");
|
|
2914
2986
|
case "codex":
|
|
@@ -6572,7 +6644,7 @@ function wrapCommand({
|
|
|
6572
6644
|
}
|
|
6573
6645
|
|
|
6574
6646
|
// src/cli/index.ts
|
|
6575
|
-
var getVersion = () => "8.
|
|
6647
|
+
var getVersion = () => "8.30.0";
|
|
6576
6648
|
function wrapCommand2(name, errorCode, handler) {
|
|
6577
6649
|
return wrapCommand({ name, errorCode, handler, getVersion });
|
|
6578
6650
|
}
|