rulesync 15.0.1 → 16.0.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 +3 -3
- package/dist/cli/index.cjs +46 -23
- package/dist/cli/index.d.cts +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +46 -23
- package/dist/cli/index.js.map +1 -1
- package/dist/{import-BuxzyDyH.js → import-BT5KR_K-.js} +5081 -2015
- package/dist/import-BT5KR_K-.js.map +1 -0
- package/dist/{import-DRN7goJ_.cjs → import-Dyo6JaHg.cjs} +5096 -2024
- 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 +15 -15
- package/dist/import-BuxzyDyH.js.map +0 -1
package/README.md
CHANGED
|
@@ -94,7 +94,7 @@ 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
100
|
| Cursor | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
@@ -106,7 +106,7 @@ 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 | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
|
|
@@ -120,7 +120,7 @@ The tables below show whether each tool supports a given feature (✅ = supporte
|
|
|
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-Dyo6JaHg.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
|
}
|
|
@@ -3783,7 +3793,7 @@ async function addCommand(logger, options) {
|
|
|
3783
3793
|
* Calculate the total count from a result object
|
|
3784
3794
|
*/
|
|
3785
3795
|
function calculateTotalCount(result) {
|
|
3786
|
-
return result.rulesCount + result.ignoreCount + result.mcpCount + result.commandsCount + result.subagentsCount + result.skillsCount + result.hooksCount + result.permissionsCount + result.checksCount;
|
|
3796
|
+
return result.rulesCount + result.ignoreCount + result.mcpCount + result.commandsCount + result.subagentsCount + result.skillsCount + result.hooksCount + result.permissionsCount + result.checksCount + (result.activationCount ?? 0);
|
|
3787
3797
|
}
|
|
3788
3798
|
//#endregion
|
|
3789
3799
|
//#region src/cli/commands/convert.ts
|
|
@@ -4444,6 +4454,10 @@ function buildSummaryParts(result) {
|
|
|
4444
4454
|
{
|
|
4445
4455
|
count: result.checksCount,
|
|
4446
4456
|
label: "checks"
|
|
4457
|
+
},
|
|
4458
|
+
{
|
|
4459
|
+
count: result.activationCount,
|
|
4460
|
+
label: "Hermes activation files"
|
|
4447
4461
|
}
|
|
4448
4462
|
];
|
|
4449
4463
|
const parts = [];
|
|
@@ -4501,6 +4515,10 @@ async function generateCommand(logger, options) {
|
|
|
4501
4515
|
rules: {
|
|
4502
4516
|
count: result.rulesCount,
|
|
4503
4517
|
paths: result.rulesPaths
|
|
4518
|
+
},
|
|
4519
|
+
activation: {
|
|
4520
|
+
count: result.activationCount,
|
|
4521
|
+
paths: result.activationPaths
|
|
4504
4522
|
}
|
|
4505
4523
|
};
|
|
4506
4524
|
const featureLabels = {
|
|
@@ -4512,7 +4530,8 @@ async function generateCommand(logger, options) {
|
|
|
4512
4530
|
skills: (count) => `${count === 1 ? "skill" : "skills"}`,
|
|
4513
4531
|
hooks: (count) => `${count === 1 ? "hooks file" : "hooks files"}`,
|
|
4514
4532
|
permissions: (count) => `${count === 1 ? "permissions file" : "permissions files"}`,
|
|
4515
|
-
checks: (count) => `${count === 1 ? "check" : "checks"}
|
|
4533
|
+
checks: (count) => `${count === 1 ? "check" : "checks"}`,
|
|
4534
|
+
activation: (count) => `${count === 1 ? "Hermes activation file" : "Hermes activation files"}`
|
|
4516
4535
|
};
|
|
4517
4536
|
for (const [feature, data] of Object.entries(featureResults)) logFeatureResult(logger, {
|
|
4518
4537
|
count: data.count,
|
|
@@ -4548,24 +4567,7 @@ const TARGETS_NOT_DERIVED = /* @__PURE__ */ new Set([
|
|
|
4548
4567
|
"augmentcode-legacy",
|
|
4549
4568
|
"claudecode-legacy"
|
|
4550
4569
|
]);
|
|
4551
|
-
const DERIVED_PATHS_NOT_GITIGNORED =
|
|
4552
|
-
"**/.amp/settings.json",
|
|
4553
|
-
"**/.amp/settings.jsonc",
|
|
4554
|
-
"**/.antigravity/settings.json",
|
|
4555
|
-
"**/.claude/settings.json",
|
|
4556
|
-
"**/.claude/settings.local.json",
|
|
4557
|
-
"**/.codex/config.toml",
|
|
4558
|
-
"**/.devin/config.json",
|
|
4559
|
-
"**/.factory/settings.json",
|
|
4560
|
-
"**/.grok/config.toml",
|
|
4561
|
-
"**/.vibe/config.toml",
|
|
4562
|
-
"**/reasonix.toml",
|
|
4563
|
-
"**/.vscode/settings.json",
|
|
4564
|
-
"**/.zed/settings.json",
|
|
4565
|
-
"**/kilo.json",
|
|
4566
|
-
"**/kilo.jsonc",
|
|
4567
|
-
"**/opencode.json"
|
|
4568
|
-
]);
|
|
4570
|
+
const DERIVED_PATHS_NOT_GITIGNORED = new Set(require_import.SHARED_USER_MANAGED_CONFIG_PATHS.map((path) => `**/${path}`));
|
|
4569
4571
|
const toPosix = (path) => path.replace(/\\/g, "/");
|
|
4570
4572
|
const dirToGlob = (relativeDirPath) => `**/${toPosix(relativeDirPath).replace(/\/$/, "")}/`;
|
|
4571
4573
|
const fileToGlob = (relativeDirPath, relativeFilePath) => {
|
|
@@ -4588,8 +4590,13 @@ const deriveDirEntries = (factories, feature) => {
|
|
|
4588
4590
|
for (const [target, factory] of factories) {
|
|
4589
4591
|
if (TARGETS_NOT_DERIVED.has(target)) continue;
|
|
4590
4592
|
if (!supportsProject(factory)) continue;
|
|
4591
|
-
const
|
|
4593
|
+
const paths = getProjectPaths(factory);
|
|
4594
|
+
const dir = paths.relativeDirPath;
|
|
4592
4595
|
if (!dir || dir === ".") continue;
|
|
4596
|
+
if (paths.relativeFilePath) {
|
|
4597
|
+
pushEntry(entries, target, feature, fileToGlob(dir, paths.relativeFilePath));
|
|
4598
|
+
continue;
|
|
4599
|
+
}
|
|
4593
4600
|
pushEntry(entries, target, feature, dirToGlob(dir));
|
|
4594
4601
|
}
|
|
4595
4602
|
return entries;
|
|
@@ -4753,6 +4760,21 @@ const GITIGNORE_ENTRY_REGISTRY = [
|
|
|
4753
4760
|
feature: "rules",
|
|
4754
4761
|
entry: "**/.junie/memories/"
|
|
4755
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
|
+
},
|
|
4756
4778
|
{
|
|
4757
4779
|
target: "rovodev",
|
|
4758
4780
|
feature: "skills",
|
|
@@ -7190,6 +7212,7 @@ function buildSuccessResponse$1(params) {
|
|
|
7190
7212
|
hooksCount: generateResult.hooksCount,
|
|
7191
7213
|
permissionsCount: generateResult.permissionsCount,
|
|
7192
7214
|
checksCount: generateResult.checksCount,
|
|
7215
|
+
activationCount: generateResult.activationCount,
|
|
7193
7216
|
totalCount
|
|
7194
7217
|
},
|
|
7195
7218
|
config: {
|
|
@@ -8981,7 +9004,7 @@ function wrapCommand$1({ name, errorCode, handler, getVersion, loggerFactory = c
|
|
|
8981
9004
|
}
|
|
8982
9005
|
//#endregion
|
|
8983
9006
|
//#region src/cli/program.ts
|
|
8984
|
-
const getVersion = () => "
|
|
9007
|
+
const getVersion = () => "16.0.0";
|
|
8985
9008
|
const FEATURES_HELP = `${require_import.ALL_FEATURES.join(",")}; ignore is deprecated, use permissions`;
|
|
8986
9009
|
function wrapCommand(name, errorCode, handler) {
|
|
8987
9010
|
return wrapCommand$1({
|
package/dist/cli/index.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {}
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {}
|
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-BT5KR_K-.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
|
}
|
|
@@ -3781,7 +3791,7 @@ async function addCommand(logger, options) {
|
|
|
3781
3791
|
* Calculate the total count from a result object
|
|
3782
3792
|
*/
|
|
3783
3793
|
function calculateTotalCount(result) {
|
|
3784
|
-
return result.rulesCount + result.ignoreCount + result.mcpCount + result.commandsCount + result.subagentsCount + result.skillsCount + result.hooksCount + result.permissionsCount + result.checksCount;
|
|
3794
|
+
return result.rulesCount + result.ignoreCount + result.mcpCount + result.commandsCount + result.subagentsCount + result.skillsCount + result.hooksCount + result.permissionsCount + result.checksCount + (result.activationCount ?? 0);
|
|
3785
3795
|
}
|
|
3786
3796
|
//#endregion
|
|
3787
3797
|
//#region src/cli/commands/convert.ts
|
|
@@ -4442,6 +4452,10 @@ function buildSummaryParts(result) {
|
|
|
4442
4452
|
{
|
|
4443
4453
|
count: result.checksCount,
|
|
4444
4454
|
label: "checks"
|
|
4455
|
+
},
|
|
4456
|
+
{
|
|
4457
|
+
count: result.activationCount,
|
|
4458
|
+
label: "Hermes activation files"
|
|
4445
4459
|
}
|
|
4446
4460
|
];
|
|
4447
4461
|
const parts = [];
|
|
@@ -4499,6 +4513,10 @@ async function generateCommand(logger, options) {
|
|
|
4499
4513
|
rules: {
|
|
4500
4514
|
count: result.rulesCount,
|
|
4501
4515
|
paths: result.rulesPaths
|
|
4516
|
+
},
|
|
4517
|
+
activation: {
|
|
4518
|
+
count: result.activationCount,
|
|
4519
|
+
paths: result.activationPaths
|
|
4502
4520
|
}
|
|
4503
4521
|
};
|
|
4504
4522
|
const featureLabels = {
|
|
@@ -4510,7 +4528,8 @@ async function generateCommand(logger, options) {
|
|
|
4510
4528
|
skills: (count) => `${count === 1 ? "skill" : "skills"}`,
|
|
4511
4529
|
hooks: (count) => `${count === 1 ? "hooks file" : "hooks files"}`,
|
|
4512
4530
|
permissions: (count) => `${count === 1 ? "permissions file" : "permissions files"}`,
|
|
4513
|
-
checks: (count) => `${count === 1 ? "check" : "checks"}
|
|
4531
|
+
checks: (count) => `${count === 1 ? "check" : "checks"}`,
|
|
4532
|
+
activation: (count) => `${count === 1 ? "Hermes activation file" : "Hermes activation files"}`
|
|
4514
4533
|
};
|
|
4515
4534
|
for (const [feature, data] of Object.entries(featureResults)) logFeatureResult(logger, {
|
|
4516
4535
|
count: data.count,
|
|
@@ -4546,24 +4565,7 @@ const TARGETS_NOT_DERIVED = /* @__PURE__ */ new Set([
|
|
|
4546
4565
|
"augmentcode-legacy",
|
|
4547
4566
|
"claudecode-legacy"
|
|
4548
4567
|
]);
|
|
4549
|
-
const DERIVED_PATHS_NOT_GITIGNORED =
|
|
4550
|
-
"**/.amp/settings.json",
|
|
4551
|
-
"**/.amp/settings.jsonc",
|
|
4552
|
-
"**/.antigravity/settings.json",
|
|
4553
|
-
"**/.claude/settings.json",
|
|
4554
|
-
"**/.claude/settings.local.json",
|
|
4555
|
-
"**/.codex/config.toml",
|
|
4556
|
-
"**/.devin/config.json",
|
|
4557
|
-
"**/.factory/settings.json",
|
|
4558
|
-
"**/.grok/config.toml",
|
|
4559
|
-
"**/.vibe/config.toml",
|
|
4560
|
-
"**/reasonix.toml",
|
|
4561
|
-
"**/.vscode/settings.json",
|
|
4562
|
-
"**/.zed/settings.json",
|
|
4563
|
-
"**/kilo.json",
|
|
4564
|
-
"**/kilo.jsonc",
|
|
4565
|
-
"**/opencode.json"
|
|
4566
|
-
]);
|
|
4568
|
+
const DERIVED_PATHS_NOT_GITIGNORED = new Set(SHARED_USER_MANAGED_CONFIG_PATHS.map((path) => `**/${path}`));
|
|
4567
4569
|
const toPosix = (path) => path.replace(/\\/g, "/");
|
|
4568
4570
|
const dirToGlob = (relativeDirPath) => `**/${toPosix(relativeDirPath).replace(/\/$/, "")}/`;
|
|
4569
4571
|
const fileToGlob = (relativeDirPath, relativeFilePath) => {
|
|
@@ -4586,8 +4588,13 @@ const deriveDirEntries = (factories, feature) => {
|
|
|
4586
4588
|
for (const [target, factory] of factories) {
|
|
4587
4589
|
if (TARGETS_NOT_DERIVED.has(target)) continue;
|
|
4588
4590
|
if (!supportsProject(factory)) continue;
|
|
4589
|
-
const
|
|
4591
|
+
const paths = getProjectPaths(factory);
|
|
4592
|
+
const dir = paths.relativeDirPath;
|
|
4590
4593
|
if (!dir || dir === ".") continue;
|
|
4594
|
+
if (paths.relativeFilePath) {
|
|
4595
|
+
pushEntry(entries, target, feature, fileToGlob(dir, paths.relativeFilePath));
|
|
4596
|
+
continue;
|
|
4597
|
+
}
|
|
4591
4598
|
pushEntry(entries, target, feature, dirToGlob(dir));
|
|
4592
4599
|
}
|
|
4593
4600
|
return entries;
|
|
@@ -4751,6 +4758,21 @@ const GITIGNORE_ENTRY_REGISTRY = [
|
|
|
4751
4758
|
feature: "rules",
|
|
4752
4759
|
entry: "**/.junie/memories/"
|
|
4753
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
|
+
},
|
|
4754
4776
|
{
|
|
4755
4777
|
target: "rovodev",
|
|
4756
4778
|
feature: "skills",
|
|
@@ -7188,6 +7210,7 @@ function buildSuccessResponse$1(params) {
|
|
|
7188
7210
|
hooksCount: generateResult.hooksCount,
|
|
7189
7211
|
permissionsCount: generateResult.permissionsCount,
|
|
7190
7212
|
checksCount: generateResult.checksCount,
|
|
7213
|
+
activationCount: generateResult.activationCount,
|
|
7191
7214
|
totalCount
|
|
7192
7215
|
},
|
|
7193
7216
|
config: {
|
|
@@ -8979,7 +9002,7 @@ function wrapCommand$1({ name, errorCode, handler, getVersion, loggerFactory = c
|
|
|
8979
9002
|
}
|
|
8980
9003
|
//#endregion
|
|
8981
9004
|
//#region src/cli/program.ts
|
|
8982
|
-
const getVersion = () => "
|
|
9005
|
+
const getVersion = () => "16.0.0";
|
|
8983
9006
|
const FEATURES_HELP = `${ALL_FEATURES.join(",")}; ignore is deprecated, use permissions`;
|
|
8984
9007
|
function wrapCommand(name, errorCode, handler) {
|
|
8985
9008
|
return wrapCommand$1({
|