rulesync 15.1.0 → 16.1.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 +7 -7
- package/dist/cli/index.cjs +34 -21
- package/dist/cli/index.js +34 -21
- package/dist/cli/index.js.map +1 -1
- package/dist/{import-WWoS8Wv4.js → import-BmXT7mRS.js} +6243 -2564
- package/dist/import-BmXT7mRS.js.map +1 -0
- package/dist/{import-CVk4I0-A.cjs → import-eG7fZPXI.cjs} +6259 -2574
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +64 -9
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +64 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/import-WWoS8Wv4.js.map +0 -1
package/README.md
CHANGED
|
@@ -94,10 +94,10 @@ The tables below show whether each tool supports a given feature (✅ = supporte
|
|
|
94
94
|
| Codex CLI | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
95
95
|
| GitHub Copilot | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
96
96
|
| GitHub Copilot CLI | ✅ | | ✅ | | ✅ | ✅ | ✅ | | |
|
|
97
|
-
| Goose | ✅ |
|
|
97
|
+
| Goose | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
98
98
|
| Hermes Agent | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
99
99
|
| Grok CLI | ✅ | | ✅ | | ✅ | ✅ | ✅ | ✅ | |
|
|
100
|
-
| Cursor | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
100
|
+
| Cursor | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
101
101
|
| deepagents-cli | ✅ | | ✅ | | ✅ | ✅ | ✅ | | |
|
|
102
102
|
| Factory Droid | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
103
103
|
| OpenCode | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
@@ -106,21 +106,21 @@ The tables below show whether each tool supports a given feature (✅ = supporte
|
|
|
106
106
|
| Kimi Code | ✅ | | ✅ | | ✅ | ✅ | ✅ | ✅ | |
|
|
107
107
|
| Roo Code | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | |
|
|
108
108
|
| Rovodev (Atlassian) | ✅ | | ✅ | ✅ | ✅ | ✅ | | ✅ | |
|
|
109
|
-
| Takt | ✅ | | ✅ | ✅ | ✅ | ✅ | | ✅ |
|
|
109
|
+
| Takt | ✅ | | ✅ | ✅ | ✅ | ✅ | | ✅ | ✅ |
|
|
110
110
|
| Vibe Code | ✅ | ✅ | ✅ | | ✅ | ✅ | ✅ | ✅ | |
|
|
111
111
|
| Qwen Code | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
112
112
|
| Reasonix | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
113
113
|
| Kiro ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
114
114
|
| Kiro CLI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
115
115
|
| Kiro IDE | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
116
|
-
| Google Antigravity IDE | ✅ | | ✅ | ✅ |
|
|
117
|
-
| Google Antigravity CLI | ✅ | ✅ | ✅ | ✅ |
|
|
118
|
-
| Google Antigravity plugin | ✅ | | ✅ | |
|
|
116
|
+
| Google Antigravity IDE | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
117
|
+
| Google Antigravity CLI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
118
|
+
| Google Antigravity plugin | ✅ | | ✅ | | ✅ | ✅ | ✅ | | |
|
|
119
119
|
| JetBrains AI Assistant | ✅ | ✅ | ✅ | | | ✅ | | | |
|
|
120
120
|
| JetBrains Junie | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
121
121
|
| AugmentCode | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
122
122
|
| Devin Desktop | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
123
|
-
| Warp | ✅ | ✅ | ✅ |
|
|
123
|
+
| Warp | ✅ | ✅ | ✅ | ✅ | | ✅ | | ✅ | |
|
|
124
124
|
| Replit | ✅ | | | | | ✅ | | | |
|
|
125
125
|
| Pi Coding Agent | ✅ | | | ✅ | | ✅ | ✅ | | |
|
|
126
126
|
| Zed | ✅ | ✅ | ✅ | | | ✅ | | ✅ | |
|
package/dist/cli/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const require_import = require("../import-
|
|
2
|
+
const require_import = require("../import-eG7fZPXI.cjs");
|
|
3
3
|
let commander = require("commander");
|
|
4
4
|
let zod_mini = require("zod/mini");
|
|
5
5
|
let node_fs_promises = require("node:fs/promises");
|
|
@@ -246,6 +246,16 @@ function singletonTemplate(feature) {
|
|
|
246
246
|
"mcp"
|
|
247
247
|
],
|
|
248
248
|
"env": {}
|
|
249
|
+
},
|
|
250
|
+
"playwright": {
|
|
251
|
+
"type": "stdio",
|
|
252
|
+
"command": "pnpm",
|
|
253
|
+
"args": [
|
|
254
|
+
"dlx",
|
|
255
|
+
"@playwright/mcp",
|
|
256
|
+
"--headless"
|
|
257
|
+
],
|
|
258
|
+
"env": {}
|
|
249
259
|
}
|
|
250
260
|
}
|
|
251
261
|
}
|
|
@@ -4557,24 +4567,7 @@ const TARGETS_NOT_DERIVED = /* @__PURE__ */ new Set([
|
|
|
4557
4567
|
"augmentcode-legacy",
|
|
4558
4568
|
"claudecode-legacy"
|
|
4559
4569
|
]);
|
|
4560
|
-
const DERIVED_PATHS_NOT_GITIGNORED =
|
|
4561
|
-
"**/.amp/settings.json",
|
|
4562
|
-
"**/.amp/settings.jsonc",
|
|
4563
|
-
"**/.antigravity/settings.json",
|
|
4564
|
-
"**/.claude/settings.json",
|
|
4565
|
-
"**/.claude/settings.local.json",
|
|
4566
|
-
"**/.codex/config.toml",
|
|
4567
|
-
"**/.devin/config.json",
|
|
4568
|
-
"**/.factory/settings.json",
|
|
4569
|
-
"**/.grok/config.toml",
|
|
4570
|
-
"**/.vibe/config.toml",
|
|
4571
|
-
"**/reasonix.toml",
|
|
4572
|
-
"**/.vscode/settings.json",
|
|
4573
|
-
"**/.zed/settings.json",
|
|
4574
|
-
"**/kilo.json",
|
|
4575
|
-
"**/kilo.jsonc",
|
|
4576
|
-
"**/opencode.json"
|
|
4577
|
-
]);
|
|
4570
|
+
const DERIVED_PATHS_NOT_GITIGNORED = new Set(require_import.SHARED_USER_MANAGED_CONFIG_PATHS.map((path) => `**/${path}`));
|
|
4578
4571
|
const toPosix = (path) => path.replace(/\\/g, "/");
|
|
4579
4572
|
const dirToGlob = (relativeDirPath) => `**/${toPosix(relativeDirPath).replace(/\/$/, "")}/`;
|
|
4580
4573
|
const fileToGlob = (relativeDirPath, relativeFilePath) => {
|
|
@@ -4597,8 +4590,13 @@ const deriveDirEntries = (factories, feature) => {
|
|
|
4597
4590
|
for (const [target, factory] of factories) {
|
|
4598
4591
|
if (TARGETS_NOT_DERIVED.has(target)) continue;
|
|
4599
4592
|
if (!supportsProject(factory)) continue;
|
|
4600
|
-
const
|
|
4593
|
+
const paths = getProjectPaths(factory);
|
|
4594
|
+
const dir = paths.relativeDirPath;
|
|
4601
4595
|
if (!dir || dir === ".") continue;
|
|
4596
|
+
if (paths.relativeFilePath) {
|
|
4597
|
+
pushEntry(entries, target, feature, fileToGlob(dir, paths.relativeFilePath));
|
|
4598
|
+
continue;
|
|
4599
|
+
}
|
|
4602
4600
|
pushEntry(entries, target, feature, dirToGlob(dir));
|
|
4603
4601
|
}
|
|
4604
4602
|
return entries;
|
|
@@ -4762,6 +4760,21 @@ const GITIGNORE_ENTRY_REGISTRY = [
|
|
|
4762
4760
|
feature: "rules",
|
|
4763
4761
|
entry: "**/.junie/memories/"
|
|
4764
4762
|
},
|
|
4763
|
+
{
|
|
4764
|
+
target: "goose",
|
|
4765
|
+
feature: "ignore",
|
|
4766
|
+
entry: "**/.gooseignore"
|
|
4767
|
+
},
|
|
4768
|
+
{
|
|
4769
|
+
target: "goose",
|
|
4770
|
+
feature: "subagents",
|
|
4771
|
+
entry: "**/.goose/recipes/subagents/"
|
|
4772
|
+
},
|
|
4773
|
+
{
|
|
4774
|
+
target: "junie",
|
|
4775
|
+
feature: "permissions",
|
|
4776
|
+
entry: "**/.junie/allowlist.json"
|
|
4777
|
+
},
|
|
4765
4778
|
{
|
|
4766
4779
|
target: "rovodev",
|
|
4767
4780
|
feature: "skills",
|
|
@@ -8991,7 +9004,7 @@ function wrapCommand$1({ name, errorCode, handler, getVersion, loggerFactory = c
|
|
|
8991
9004
|
}
|
|
8992
9005
|
//#endregion
|
|
8993
9006
|
//#region src/cli/program.ts
|
|
8994
|
-
const getVersion = () => "
|
|
9007
|
+
const getVersion = () => "16.1.0";
|
|
8995
9008
|
const FEATURES_HELP = `${require_import.ALL_FEATURES.join(",")}; ignore is deprecated, use permissions`;
|
|
8996
9009
|
function wrapCommand(name, errorCode, handler) {
|
|
8997
9010
|
return wrapCommand$1({
|
package/dist/cli/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { $ as
|
|
2
|
+
import { $ as ErrorCodes, $t as RULESYNC_SKILLS_RELATIVE_DIR_PATH, A as RulesyncMcp, At as RULESYNC_AIIGNORE_RELATIVE_FILE_PATH, B as stringifyFrontmatter, Bt as RULESYNC_IGNORE_RELATIVE_FILE_PATH, C as RulesyncSubagent, Ct as writeFileContent, D as RulesyncRule, Dt as ToolTargetSchema, E as RulesyncSkillFrontmatterSchema, Et as PACKAGING_TOOL_TARGETS, F as parseJsonc, Ft as RULESYNC_CURATED_RULES_RELATIVE_DIR_PATH, G as ConfigFileSchema, Gt as RULESYNC_MCP_SCHEMA_URL, H as SHARED_USER_MANAGED_CONFIG_PATHS, Ht as RULESYNC_MCP_FILE_NAME, I as RulesyncCommand, It as RULESYNC_CURATED_SKILLS_RELATIVE_DIR_PATH, J as ConsoleLogger, Jt as RULESYNC_PERMISSIONS_LEGACY_FILE_NAME, K as SourceEntrySchema, Kt as RULESYNC_NPM_SOURCES_LOCK_RELATIVE_FILE_PATH, L as RulesyncCommandFrontmatterSchema, Lt as RULESYNC_HOOKS_FILE_NAME, M as RulesyncHooks, Mt as RULESYNC_COMMANDS_RELATIVE_DIR_PATH, N as getRulesyncSourceCandidates, Nt as RULESYNC_CONFIG_RELATIVE_FILE_PATH, O as RulesyncRuleFrontmatterSchema, Ot as MAX_FILE_SIZE, P as resolveRulesyncSourceWritePath, Pt as RULESYNC_CONFIG_SCHEMA_URL, Q as CLIError, Qt as RULESYNC_RULES_RELATIVE_DIR_PATH, R as RulesyncCheck, Rt as RULESYNC_HOOKS_LEGACY_FILE_NAME, S as getLocalSkillDirNames, St as toPosixPath, T as RulesyncSkill, Tt as ALL_TOOL_TARGETS_WITH_WILDCARD, U as SKILL_FILE_NAME$1, Ut as RULESYNC_MCP_LEGACY_FILE_NAME, V as loadYaml, Vt as RULESYNC_LOCAL_CONFIG_RELATIVE_FILE_PATH, W as ConfigResolver, Wt as RULESYNC_MCP_RELATIVE_FILE_PATH, X as fallbackLogger, Xt as RULESYNC_PERMISSIONS_SCHEMA_URL, Y as JsonLogger, Yt as RULESYNC_PERMISSIONS_RELATIVE_FILE_PATH, Z as warnOnConflictingFlags, Zt as RULESYNC_RELATIVE_DIR_PATH, _ as CLAUDECODE_SETTINGS_LOCAL_FILE_NAME, _t as removeFile, a as convertFromTool, at as directoryExists, b as CODEXCLI_BASH_RULES_FILE_NAME, bt as resolvePath, c as SubagentsProcessor, ct as findFilesByGlobs, d as IgnoreProcessor, dt as isSymlink, en as RULESYNC_SOURCES_LOCK_RELATIVE_FILE_PATH, et as assertDirectoryIfExists, f as HooksProcessor, ft as listDirectoryFiles, g as CLAUDECODE_MEMORIES_DIR_NAME, gt as removeDirectoryStrict, h as CLAUDECODE_LOCAL_RULE_FILE_NAME, ht as removeDirectory, i as getProcessorRegistryEntry, in as formatError, it as createTempDirectory, j as RulesyncIgnore, jt as RULESYNC_CHECKS_RELATIVE_DIR_PATH, k as RulesyncPermissions, kt as RULESYNC_AIIGNORE_FILE_NAME, l as SkillsProcessor, lt as getFileSize, m as CLAUDECODE_DIR, mt as readFileContentOrNull, n as checkRulesyncDirExists, nn as ALL_FEATURES, nt as assertWritablePathInsideRoot, o as isPackagingToolTarget, ot as ensureDir, p as CommandsProcessor, pt as readFileContent, q as findControlCharacter, qt as RULESYNC_PERMISSIONS_FILE_NAME, r as generate, rn as ALL_FEATURES_WITH_WILDCARD, rt as checkPathTraversal, s as RulesProcessor, st as fileExists, t as importFromTool, tn as RULESYNC_SUBAGENTS_RELATIVE_DIR_PATH, tt as assertTreeContainsNoSymlinks, u as McpProcessor, ut as getHomeDirectory, v as CLAUDECODE_SKILLS_DIR_PATH, vt as removeFileStrict, w as RulesyncSubagentFrontmatterSchema, wt as ALL_TOOL_TARGETS, x as CODEXCLI_DIR, xt as runWithDirectoryRollback, y as ChecksProcessor, yt as removeTempDirectory, z as RulesyncCheckFrontmatterSchema, zt as RULESYNC_HOOKS_RELATIVE_FILE_PATH } from "../import-BmXT7mRS.js";
|
|
3
3
|
import { Command } from "commander";
|
|
4
4
|
import { nonnegative, optional, refine, z } from "zod/mini";
|
|
5
5
|
import { cp, mkdtemp, realpath, rm } from "node:fs/promises";
|
|
@@ -244,6 +244,16 @@ function singletonTemplate(feature) {
|
|
|
244
244
|
"mcp"
|
|
245
245
|
],
|
|
246
246
|
"env": {}
|
|
247
|
+
},
|
|
248
|
+
"playwright": {
|
|
249
|
+
"type": "stdio",
|
|
250
|
+
"command": "pnpm",
|
|
251
|
+
"args": [
|
|
252
|
+
"dlx",
|
|
253
|
+
"@playwright/mcp",
|
|
254
|
+
"--headless"
|
|
255
|
+
],
|
|
256
|
+
"env": {}
|
|
247
257
|
}
|
|
248
258
|
}
|
|
249
259
|
}
|
|
@@ -4555,24 +4565,7 @@ const TARGETS_NOT_DERIVED = /* @__PURE__ */ new Set([
|
|
|
4555
4565
|
"augmentcode-legacy",
|
|
4556
4566
|
"claudecode-legacy"
|
|
4557
4567
|
]);
|
|
4558
|
-
const DERIVED_PATHS_NOT_GITIGNORED =
|
|
4559
|
-
"**/.amp/settings.json",
|
|
4560
|
-
"**/.amp/settings.jsonc",
|
|
4561
|
-
"**/.antigravity/settings.json",
|
|
4562
|
-
"**/.claude/settings.json",
|
|
4563
|
-
"**/.claude/settings.local.json",
|
|
4564
|
-
"**/.codex/config.toml",
|
|
4565
|
-
"**/.devin/config.json",
|
|
4566
|
-
"**/.factory/settings.json",
|
|
4567
|
-
"**/.grok/config.toml",
|
|
4568
|
-
"**/.vibe/config.toml",
|
|
4569
|
-
"**/reasonix.toml",
|
|
4570
|
-
"**/.vscode/settings.json",
|
|
4571
|
-
"**/.zed/settings.json",
|
|
4572
|
-
"**/kilo.json",
|
|
4573
|
-
"**/kilo.jsonc",
|
|
4574
|
-
"**/opencode.json"
|
|
4575
|
-
]);
|
|
4568
|
+
const DERIVED_PATHS_NOT_GITIGNORED = new Set(SHARED_USER_MANAGED_CONFIG_PATHS.map((path) => `**/${path}`));
|
|
4576
4569
|
const toPosix = (path) => path.replace(/\\/g, "/");
|
|
4577
4570
|
const dirToGlob = (relativeDirPath) => `**/${toPosix(relativeDirPath).replace(/\/$/, "")}/`;
|
|
4578
4571
|
const fileToGlob = (relativeDirPath, relativeFilePath) => {
|
|
@@ -4595,8 +4588,13 @@ const deriveDirEntries = (factories, feature) => {
|
|
|
4595
4588
|
for (const [target, factory] of factories) {
|
|
4596
4589
|
if (TARGETS_NOT_DERIVED.has(target)) continue;
|
|
4597
4590
|
if (!supportsProject(factory)) continue;
|
|
4598
|
-
const
|
|
4591
|
+
const paths = getProjectPaths(factory);
|
|
4592
|
+
const dir = paths.relativeDirPath;
|
|
4599
4593
|
if (!dir || dir === ".") continue;
|
|
4594
|
+
if (paths.relativeFilePath) {
|
|
4595
|
+
pushEntry(entries, target, feature, fileToGlob(dir, paths.relativeFilePath));
|
|
4596
|
+
continue;
|
|
4597
|
+
}
|
|
4600
4598
|
pushEntry(entries, target, feature, dirToGlob(dir));
|
|
4601
4599
|
}
|
|
4602
4600
|
return entries;
|
|
@@ -4760,6 +4758,21 @@ const GITIGNORE_ENTRY_REGISTRY = [
|
|
|
4760
4758
|
feature: "rules",
|
|
4761
4759
|
entry: "**/.junie/memories/"
|
|
4762
4760
|
},
|
|
4761
|
+
{
|
|
4762
|
+
target: "goose",
|
|
4763
|
+
feature: "ignore",
|
|
4764
|
+
entry: "**/.gooseignore"
|
|
4765
|
+
},
|
|
4766
|
+
{
|
|
4767
|
+
target: "goose",
|
|
4768
|
+
feature: "subagents",
|
|
4769
|
+
entry: "**/.goose/recipes/subagents/"
|
|
4770
|
+
},
|
|
4771
|
+
{
|
|
4772
|
+
target: "junie",
|
|
4773
|
+
feature: "permissions",
|
|
4774
|
+
entry: "**/.junie/allowlist.json"
|
|
4775
|
+
},
|
|
4763
4776
|
{
|
|
4764
4777
|
target: "rovodev",
|
|
4765
4778
|
feature: "skills",
|
|
@@ -8989,7 +9002,7 @@ function wrapCommand$1({ name, errorCode, handler, getVersion, loggerFactory = c
|
|
|
8989
9002
|
}
|
|
8990
9003
|
//#endregion
|
|
8991
9004
|
//#region src/cli/program.ts
|
|
8992
|
-
const getVersion = () => "
|
|
9005
|
+
const getVersion = () => "16.1.0";
|
|
8993
9006
|
const FEATURES_HELP = `${ALL_FEATURES.join(",")}; ignore is deprecated, use permissions`;
|
|
8994
9007
|
function wrapCommand(name, errorCode, handler) {
|
|
8995
9008
|
return wrapCommand$1({
|