rulesync 3.14.0 → 3.15.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/index.cjs +123 -131
- package/dist/index.js +304 -312
- package/package.json +14 -12
package/dist/index.cjs
CHANGED
|
@@ -112,6 +112,15 @@ async function readOrInitializeFileContent(filePath, initialContent = "") {
|
|
|
112
112
|
return initialContent;
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
+
function resolvePath(relativePath, baseDir) {
|
|
116
|
+
if (!baseDir) return relativePath;
|
|
117
|
+
const resolved = (0, import_node_path.resolve)(baseDir, relativePath);
|
|
118
|
+
const rel = (0, import_node_path.relative)(baseDir, resolved);
|
|
119
|
+
if (rel.startsWith("..") || (0, import_node_path.resolve)(resolved) !== resolved) {
|
|
120
|
+
throw new Error(`Path traversal detected: ${relativePath}`);
|
|
121
|
+
}
|
|
122
|
+
return resolved;
|
|
123
|
+
}
|
|
115
124
|
async function directoryExists(dirPath) {
|
|
116
125
|
try {
|
|
117
126
|
const stats = await (0, import_promises.stat)(dirPath);
|
|
@@ -176,14 +185,8 @@ function validateBaseDir(baseDir) {
|
|
|
176
185
|
if (baseDir.includes("..")) {
|
|
177
186
|
throw new Error(`baseDir cannot contain directory traversal (..): ${baseDir}`);
|
|
178
187
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
}
|
|
182
|
-
if (/^[a-zA-Z]:[/\\]/.test(baseDir)) {
|
|
183
|
-
throw new Error(`baseDir must be a relative path. Absolute path not allowed: ${baseDir}`);
|
|
184
|
-
}
|
|
185
|
-
const normalized = (0, import_node_path.resolve)(".", baseDir);
|
|
186
|
-
const rel = (0, import_node_path.relative)(".", normalized);
|
|
188
|
+
const normalized = (0, import_node_path.resolve)(baseDir);
|
|
189
|
+
const rel = (0, import_node_path.relative)(process.cwd(), normalized);
|
|
187
190
|
if (rel.startsWith("..")) {
|
|
188
191
|
throw new Error(`baseDir cannot contain directory traversal (..): ${baseDir}`);
|
|
189
192
|
}
|
|
@@ -1654,9 +1657,28 @@ var CommandsProcessor = class extends FeatureProcessor {
|
|
|
1654
1657
|
|
|
1655
1658
|
// src/config/config-resolver.ts
|
|
1656
1659
|
var import_node_path13 = require("path");
|
|
1657
|
-
var
|
|
1660
|
+
var import_jsonc_parser = require("jsonc-parser");
|
|
1658
1661
|
|
|
1659
1662
|
// src/config/config.ts
|
|
1663
|
+
var import_mini10 = require("zod/mini");
|
|
1664
|
+
var ConfigParamsSchema = import_mini10.z.object({
|
|
1665
|
+
baseDirs: import_mini10.z.array(import_mini10.z.string()),
|
|
1666
|
+
targets: RulesyncTargetsSchema,
|
|
1667
|
+
features: RulesyncFeaturesSchema,
|
|
1668
|
+
verbose: import_mini10.z.boolean(),
|
|
1669
|
+
delete: import_mini10.z.boolean(),
|
|
1670
|
+
// New non-experimental options
|
|
1671
|
+
global: (0, import_mini10.optional)(import_mini10.z.boolean()),
|
|
1672
|
+
simulatedCommands: (0, import_mini10.optional)(import_mini10.z.boolean()),
|
|
1673
|
+
simulatedSubagents: (0, import_mini10.optional)(import_mini10.z.boolean()),
|
|
1674
|
+
modularMcp: (0, import_mini10.optional)(import_mini10.z.boolean()),
|
|
1675
|
+
// Deprecated experimental options (for backward compatibility)
|
|
1676
|
+
experimentalGlobal: (0, import_mini10.optional)(import_mini10.z.boolean()),
|
|
1677
|
+
experimentalSimulateCommands: (0, import_mini10.optional)(import_mini10.z.boolean()),
|
|
1678
|
+
experimentalSimulateSubagents: (0, import_mini10.optional)(import_mini10.z.boolean())
|
|
1679
|
+
});
|
|
1680
|
+
var PartialConfigParamsSchema = import_mini10.z.partial(ConfigParamsSchema);
|
|
1681
|
+
var RequiredConfigParamsSchema = import_mini10.z.required(ConfigParamsSchema);
|
|
1660
1682
|
var Config = class {
|
|
1661
1683
|
baseDirs;
|
|
1662
1684
|
targets;
|
|
@@ -1771,46 +1793,18 @@ var ConfigResolver = class {
|
|
|
1771
1793
|
experimentalSimulateCommands,
|
|
1772
1794
|
experimentalSimulateSubagents
|
|
1773
1795
|
}) {
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1796
|
+
const validatedConfigPath = resolvePath(configPath, process.cwd());
|
|
1797
|
+
let configByFile = {};
|
|
1798
|
+
if (await fileExists(validatedConfigPath)) {
|
|
1799
|
+
try {
|
|
1800
|
+
const fileContent = await readFileContent(validatedConfigPath);
|
|
1801
|
+
const jsonData = (0, import_jsonc_parser.parse)(fileContent);
|
|
1802
|
+
configByFile = PartialConfigParamsSchema.parse(jsonData);
|
|
1803
|
+
} catch (error) {
|
|
1804
|
+
logger.error(`Failed to load config file: ${formatError(error)}`);
|
|
1805
|
+
throw error;
|
|
1783
1806
|
}
|
|
1784
|
-
const resolvedGlobal2 = global ?? experimentalGlobal ?? defaults.global;
|
|
1785
|
-
const resolvedSimulatedCommands2 = simulatedCommands ?? experimentalSimulateCommands ?? defaults.simulatedCommands;
|
|
1786
|
-
const resolvedSimulatedSubagents2 = simulatedSubagents ?? experimentalSimulateSubagents ?? defaults.simulatedSubagents;
|
|
1787
|
-
return new Config({
|
|
1788
|
-
targets: targets ?? defaults.targets,
|
|
1789
|
-
features: features ?? defaults.features,
|
|
1790
|
-
verbose: verbose ?? defaults.verbose,
|
|
1791
|
-
delete: isDelete ?? defaults.delete,
|
|
1792
|
-
baseDirs: getBaseDirsInLightOfGlobal({
|
|
1793
|
-
baseDirs: baseDirs ?? defaults.baseDirs,
|
|
1794
|
-
global: resolvedGlobal2
|
|
1795
|
-
}),
|
|
1796
|
-
global: resolvedGlobal2,
|
|
1797
|
-
simulatedCommands: resolvedSimulatedCommands2,
|
|
1798
|
-
simulatedSubagents: resolvedSimulatedSubagents2,
|
|
1799
|
-
modularMcp: modularMcp ?? defaults.modularMcp
|
|
1800
|
-
});
|
|
1801
1807
|
}
|
|
1802
|
-
const loadOptions = {
|
|
1803
|
-
name: "rulesync",
|
|
1804
|
-
cwd: process.cwd(),
|
|
1805
|
-
rcFile: false,
|
|
1806
|
-
// Disable rc file lookup
|
|
1807
|
-
configFile: "rulesync"
|
|
1808
|
-
// Will look for rulesync.jsonc, rulesync.ts, etc.
|
|
1809
|
-
};
|
|
1810
|
-
if (configPath) {
|
|
1811
|
-
loadOptions.configFile = configPath;
|
|
1812
|
-
}
|
|
1813
|
-
const { config: configByFile } = await (0, import_c12.loadConfig)(loadOptions);
|
|
1814
1808
|
const deprecatedGlobal = experimentalGlobal ?? configByFile.experimentalGlobal;
|
|
1815
1809
|
const deprecatedCommands = experimentalSimulateCommands ?? configByFile.experimentalSimulateCommands;
|
|
1816
1810
|
const deprecatedSubagents = experimentalSimulateSubagents ?? configByFile.experimentalSimulateSubagents;
|
|
@@ -1866,20 +1860,18 @@ function getBaseDirsInLightOfGlobal({
|
|
|
1866
1860
|
baseDirs,
|
|
1867
1861
|
global
|
|
1868
1862
|
}) {
|
|
1869
|
-
if (isEnvTest) {
|
|
1870
|
-
return baseDirs.map((baseDir) => (0, import_node_path13.join)(".", baseDir));
|
|
1871
|
-
}
|
|
1872
1863
|
if (global) {
|
|
1873
1864
|
return [getHomeDirectory()];
|
|
1874
1865
|
}
|
|
1875
|
-
baseDirs.
|
|
1866
|
+
const resolvedBaseDirs = baseDirs.map((baseDir) => (0, import_node_path13.resolve)(baseDir));
|
|
1867
|
+
resolvedBaseDirs.forEach((baseDir) => {
|
|
1876
1868
|
validateBaseDir(baseDir);
|
|
1877
1869
|
});
|
|
1878
|
-
return
|
|
1870
|
+
return resolvedBaseDirs;
|
|
1879
1871
|
}
|
|
1880
1872
|
|
|
1881
1873
|
// src/ignore/ignore-processor.ts
|
|
1882
|
-
var
|
|
1874
|
+
var import_mini11 = require("zod/mini");
|
|
1883
1875
|
|
|
1884
1876
|
// src/ignore/amazonqcli-ignore.ts
|
|
1885
1877
|
var import_node_path15 = require("path");
|
|
@@ -2527,7 +2519,7 @@ var ignoreProcessorToolTargets = [
|
|
|
2527
2519
|
"roo",
|
|
2528
2520
|
"windsurf"
|
|
2529
2521
|
];
|
|
2530
|
-
var IgnoreProcessorToolTargetSchema =
|
|
2522
|
+
var IgnoreProcessorToolTargetSchema = import_mini11.z.enum(ignoreProcessorToolTargets);
|
|
2531
2523
|
var IgnoreProcessor = class extends FeatureProcessor {
|
|
2532
2524
|
toolTarget;
|
|
2533
2525
|
constructor({
|
|
@@ -2702,7 +2694,7 @@ var IgnoreProcessor = class extends FeatureProcessor {
|
|
|
2702
2694
|
};
|
|
2703
2695
|
|
|
2704
2696
|
// src/mcp/mcp-processor.ts
|
|
2705
|
-
var
|
|
2697
|
+
var import_mini13 = require("zod/mini");
|
|
2706
2698
|
|
|
2707
2699
|
// src/mcp/amazonqcli-mcp.ts
|
|
2708
2700
|
var import_node_path27 = require("path");
|
|
@@ -2710,37 +2702,37 @@ var import_node_path27 = require("path");
|
|
|
2710
2702
|
// src/mcp/rulesync-mcp.ts
|
|
2711
2703
|
var import_node_path26 = require("path");
|
|
2712
2704
|
var import_object = require("es-toolkit/object");
|
|
2713
|
-
var
|
|
2714
|
-
var McpTransportTypeSchema =
|
|
2715
|
-
var McpServerBaseSchema =
|
|
2716
|
-
type:
|
|
2717
|
-
command:
|
|
2718
|
-
args:
|
|
2719
|
-
url:
|
|
2720
|
-
httpUrl:
|
|
2721
|
-
env:
|
|
2722
|
-
disabled:
|
|
2723
|
-
networkTimeout:
|
|
2724
|
-
timeout:
|
|
2725
|
-
trust:
|
|
2726
|
-
cwd:
|
|
2727
|
-
transport:
|
|
2728
|
-
alwaysAllow:
|
|
2729
|
-
tools:
|
|
2730
|
-
kiroAutoApprove:
|
|
2731
|
-
kiroAutoBlock:
|
|
2732
|
-
headers:
|
|
2705
|
+
var import_mini12 = require("zod/mini");
|
|
2706
|
+
var McpTransportTypeSchema = import_mini12.z.enum(["stdio", "sse", "http"]);
|
|
2707
|
+
var McpServerBaseSchema = import_mini12.z.object({
|
|
2708
|
+
type: import_mini12.z.optional(import_mini12.z.enum(["stdio", "sse", "http"])),
|
|
2709
|
+
command: import_mini12.z.optional(import_mini12.z.union([import_mini12.z.string(), import_mini12.z.array(import_mini12.z.string())])),
|
|
2710
|
+
args: import_mini12.z.optional(import_mini12.z.array(import_mini12.z.string())),
|
|
2711
|
+
url: import_mini12.z.optional(import_mini12.z.string()),
|
|
2712
|
+
httpUrl: import_mini12.z.optional(import_mini12.z.string()),
|
|
2713
|
+
env: import_mini12.z.optional(import_mini12.z.record(import_mini12.z.string(), import_mini12.z.string())),
|
|
2714
|
+
disabled: import_mini12.z.optional(import_mini12.z.boolean()),
|
|
2715
|
+
networkTimeout: import_mini12.z.optional(import_mini12.z.number()),
|
|
2716
|
+
timeout: import_mini12.z.optional(import_mini12.z.number()),
|
|
2717
|
+
trust: import_mini12.z.optional(import_mini12.z.boolean()),
|
|
2718
|
+
cwd: import_mini12.z.optional(import_mini12.z.string()),
|
|
2719
|
+
transport: import_mini12.z.optional(McpTransportTypeSchema),
|
|
2720
|
+
alwaysAllow: import_mini12.z.optional(import_mini12.z.array(import_mini12.z.string())),
|
|
2721
|
+
tools: import_mini12.z.optional(import_mini12.z.array(import_mini12.z.string())),
|
|
2722
|
+
kiroAutoApprove: import_mini12.z.optional(import_mini12.z.array(import_mini12.z.string())),
|
|
2723
|
+
kiroAutoBlock: import_mini12.z.optional(import_mini12.z.array(import_mini12.z.string())),
|
|
2724
|
+
headers: import_mini12.z.optional(import_mini12.z.record(import_mini12.z.string(), import_mini12.z.string()))
|
|
2733
2725
|
});
|
|
2734
|
-
var ModularMcpServerSchema =
|
|
2735
|
-
description:
|
|
2726
|
+
var ModularMcpServerSchema = import_mini12.z.extend(McpServerBaseSchema, {
|
|
2727
|
+
description: import_mini12.z.string().check(import_mini12.z.minLength(1))
|
|
2736
2728
|
});
|
|
2737
|
-
var ModularMcpServersSchema =
|
|
2738
|
-
var RulesyncMcpServersSchema =
|
|
2739
|
-
description:
|
|
2740
|
-
targets:
|
|
2729
|
+
var ModularMcpServersSchema = import_mini12.z.record(import_mini12.z.string(), ModularMcpServerSchema);
|
|
2730
|
+
var RulesyncMcpServersSchema = import_mini12.z.extend(McpServerBaseSchema, {
|
|
2731
|
+
description: import_mini12.z.optional(import_mini12.z.string()),
|
|
2732
|
+
targets: import_mini12.z.optional(RulesyncTargetsSchema)
|
|
2741
2733
|
});
|
|
2742
|
-
var RulesyncMcpConfigSchema =
|
|
2743
|
-
mcpServers:
|
|
2734
|
+
var RulesyncMcpConfigSchema = import_mini12.z.object({
|
|
2735
|
+
mcpServers: import_mini12.z.record(import_mini12.z.string(), RulesyncMcpServersSchema)
|
|
2744
2736
|
});
|
|
2745
2737
|
var RulesyncMcp = class _RulesyncMcp extends RulesyncFile {
|
|
2746
2738
|
json;
|
|
@@ -3537,7 +3529,7 @@ var mcpProcessorToolTargets = [
|
|
|
3537
3529
|
"geminicli",
|
|
3538
3530
|
"roo"
|
|
3539
3531
|
];
|
|
3540
|
-
var McpProcessorToolTargetSchema =
|
|
3532
|
+
var McpProcessorToolTargetSchema = import_mini13.z.enum(
|
|
3541
3533
|
// codexcli is not in the list of tool targets but we add it here because it is a valid tool target for global mode generation
|
|
3542
3534
|
mcpProcessorToolTargets.concat("codexcli")
|
|
3543
3535
|
);
|
|
@@ -3776,14 +3768,14 @@ var McpProcessor = class extends FeatureProcessor {
|
|
|
3776
3768
|
// src/rules/rules-processor.ts
|
|
3777
3769
|
var import_node_path65 = require("path");
|
|
3778
3770
|
var import_fast_xml_parser = require("fast-xml-parser");
|
|
3779
|
-
var
|
|
3771
|
+
var import_mini22 = require("zod/mini");
|
|
3780
3772
|
|
|
3781
3773
|
// src/subagents/agentsmd-subagent.ts
|
|
3782
3774
|
var import_node_path37 = require("path");
|
|
3783
3775
|
|
|
3784
3776
|
// src/subagents/simulated-subagent.ts
|
|
3785
3777
|
var import_node_path36 = require("path");
|
|
3786
|
-
var
|
|
3778
|
+
var import_mini14 = require("zod/mini");
|
|
3787
3779
|
|
|
3788
3780
|
// src/subagents/tool-subagent.ts
|
|
3789
3781
|
var ToolSubagent = class extends ToolFile {
|
|
@@ -3818,9 +3810,9 @@ var ToolSubagent = class extends ToolFile {
|
|
|
3818
3810
|
};
|
|
3819
3811
|
|
|
3820
3812
|
// src/subagents/simulated-subagent.ts
|
|
3821
|
-
var SimulatedSubagentFrontmatterSchema =
|
|
3822
|
-
name:
|
|
3823
|
-
description:
|
|
3813
|
+
var SimulatedSubagentFrontmatterSchema = import_mini14.z.object({
|
|
3814
|
+
name: import_mini14.z.string(),
|
|
3815
|
+
description: import_mini14.z.string()
|
|
3824
3816
|
});
|
|
3825
3817
|
var SimulatedSubagent = class extends ToolSubagent {
|
|
3826
3818
|
frontmatter;
|
|
@@ -4054,22 +4046,22 @@ var RooSubagent = class _RooSubagent extends SimulatedSubagent {
|
|
|
4054
4046
|
|
|
4055
4047
|
// src/subagents/subagents-processor.ts
|
|
4056
4048
|
var import_node_path45 = require("path");
|
|
4057
|
-
var
|
|
4049
|
+
var import_mini17 = require("zod/mini");
|
|
4058
4050
|
|
|
4059
4051
|
// src/subagents/claudecode-subagent.ts
|
|
4060
4052
|
var import_node_path44 = require("path");
|
|
4061
|
-
var
|
|
4053
|
+
var import_mini16 = require("zod/mini");
|
|
4062
4054
|
|
|
4063
4055
|
// src/subagents/rulesync-subagent.ts
|
|
4064
4056
|
var import_node_path43 = require("path");
|
|
4065
|
-
var
|
|
4066
|
-
var RulesyncSubagentModelSchema =
|
|
4067
|
-
var RulesyncSubagentFrontmatterSchema =
|
|
4057
|
+
var import_mini15 = require("zod/mini");
|
|
4058
|
+
var RulesyncSubagentModelSchema = import_mini15.z.enum(["opus", "sonnet", "haiku", "inherit"]);
|
|
4059
|
+
var RulesyncSubagentFrontmatterSchema = import_mini15.z.object({
|
|
4068
4060
|
targets: RulesyncTargetsSchema,
|
|
4069
|
-
name:
|
|
4070
|
-
description:
|
|
4071
|
-
claudecode:
|
|
4072
|
-
|
|
4061
|
+
name: import_mini15.z.string(),
|
|
4062
|
+
description: import_mini15.z.string(),
|
|
4063
|
+
claudecode: import_mini15.z.optional(
|
|
4064
|
+
import_mini15.z.object({
|
|
4073
4065
|
model: RulesyncSubagentModelSchema
|
|
4074
4066
|
})
|
|
4075
4067
|
)
|
|
@@ -4143,10 +4135,10 @@ var RulesyncSubagent = class _RulesyncSubagent extends RulesyncFile {
|
|
|
4143
4135
|
};
|
|
4144
4136
|
|
|
4145
4137
|
// src/subagents/claudecode-subagent.ts
|
|
4146
|
-
var ClaudecodeSubagentFrontmatterSchema =
|
|
4147
|
-
name:
|
|
4148
|
-
description:
|
|
4149
|
-
model:
|
|
4138
|
+
var ClaudecodeSubagentFrontmatterSchema = import_mini16.z.object({
|
|
4139
|
+
name: import_mini16.z.string(),
|
|
4140
|
+
description: import_mini16.z.string(),
|
|
4141
|
+
model: import_mini16.z.optional(import_mini16.z.enum(["opus", "sonnet", "haiku", "inherit"]))
|
|
4150
4142
|
});
|
|
4151
4143
|
var ClaudecodeSubagent = class _ClaudecodeSubagent extends ToolSubagent {
|
|
4152
4144
|
frontmatter;
|
|
@@ -4292,7 +4284,7 @@ var subagentsProcessorToolTargetsSimulated = [
|
|
|
4292
4284
|
"roo"
|
|
4293
4285
|
];
|
|
4294
4286
|
var subagentsProcessorToolTargetsGlobal = ["claudecode"];
|
|
4295
|
-
var SubagentsProcessorToolTargetSchema =
|
|
4287
|
+
var SubagentsProcessorToolTargetSchema = import_mini17.z.enum(subagentsProcessorToolTargets);
|
|
4296
4288
|
var SubagentsProcessor = class extends FeatureProcessor {
|
|
4297
4289
|
toolTarget;
|
|
4298
4290
|
global;
|
|
@@ -4577,23 +4569,23 @@ var import_node_path47 = require("path");
|
|
|
4577
4569
|
|
|
4578
4570
|
// src/rules/rulesync-rule.ts
|
|
4579
4571
|
var import_node_path46 = require("path");
|
|
4580
|
-
var
|
|
4581
|
-
var RulesyncRuleFrontmatterSchema =
|
|
4582
|
-
root:
|
|
4583
|
-
targets:
|
|
4584
|
-
description:
|
|
4585
|
-
globs:
|
|
4586
|
-
agentsmd:
|
|
4587
|
-
|
|
4572
|
+
var import_mini18 = require("zod/mini");
|
|
4573
|
+
var RulesyncRuleFrontmatterSchema = import_mini18.z.object({
|
|
4574
|
+
root: import_mini18.z.optional(import_mini18.z.optional(import_mini18.z.boolean())),
|
|
4575
|
+
targets: import_mini18.z.optional(RulesyncTargetsSchema),
|
|
4576
|
+
description: import_mini18.z.optional(import_mini18.z.string()),
|
|
4577
|
+
globs: import_mini18.z.optional(import_mini18.z.array(import_mini18.z.string())),
|
|
4578
|
+
agentsmd: import_mini18.z.optional(
|
|
4579
|
+
import_mini18.z.object({
|
|
4588
4580
|
// @example "path/to/subproject"
|
|
4589
|
-
subprojectPath:
|
|
4581
|
+
subprojectPath: import_mini18.z.optional(import_mini18.z.string())
|
|
4590
4582
|
})
|
|
4591
4583
|
),
|
|
4592
|
-
cursor:
|
|
4593
|
-
|
|
4594
|
-
alwaysApply:
|
|
4595
|
-
description:
|
|
4596
|
-
globs:
|
|
4584
|
+
cursor: import_mini18.z.optional(
|
|
4585
|
+
import_mini18.z.object({
|
|
4586
|
+
alwaysApply: import_mini18.z.optional(import_mini18.z.boolean()),
|
|
4587
|
+
description: import_mini18.z.optional(import_mini18.z.string()),
|
|
4588
|
+
globs: import_mini18.z.optional(import_mini18.z.array(import_mini18.z.string()))
|
|
4597
4589
|
})
|
|
4598
4590
|
)
|
|
4599
4591
|
});
|
|
@@ -5186,9 +5178,9 @@ var ClaudecodeRule = class _ClaudecodeRule extends ToolRule {
|
|
|
5186
5178
|
|
|
5187
5179
|
// src/rules/cline-rule.ts
|
|
5188
5180
|
var import_node_path53 = require("path");
|
|
5189
|
-
var
|
|
5190
|
-
var ClineRuleFrontmatterSchema =
|
|
5191
|
-
description:
|
|
5181
|
+
var import_mini19 = require("zod/mini");
|
|
5182
|
+
var ClineRuleFrontmatterSchema = import_mini19.z.object({
|
|
5183
|
+
description: import_mini19.z.string()
|
|
5192
5184
|
});
|
|
5193
5185
|
var ClineRule = class _ClineRule extends ToolRule {
|
|
5194
5186
|
static getSettablePaths() {
|
|
@@ -5335,10 +5327,10 @@ var CodexcliRule = class _CodexcliRule extends ToolRule {
|
|
|
5335
5327
|
|
|
5336
5328
|
// src/rules/copilot-rule.ts
|
|
5337
5329
|
var import_node_path55 = require("path");
|
|
5338
|
-
var
|
|
5339
|
-
var CopilotRuleFrontmatterSchema =
|
|
5340
|
-
description:
|
|
5341
|
-
applyTo:
|
|
5330
|
+
var import_mini20 = require("zod/mini");
|
|
5331
|
+
var CopilotRuleFrontmatterSchema = import_mini20.z.object({
|
|
5332
|
+
description: import_mini20.z.optional(import_mini20.z.string()),
|
|
5333
|
+
applyTo: import_mini20.z.optional(import_mini20.z.string())
|
|
5342
5334
|
});
|
|
5343
5335
|
var CopilotRule = class _CopilotRule extends ToolRule {
|
|
5344
5336
|
frontmatter;
|
|
@@ -5505,11 +5497,11 @@ var CopilotRule = class _CopilotRule extends ToolRule {
|
|
|
5505
5497
|
|
|
5506
5498
|
// src/rules/cursor-rule.ts
|
|
5507
5499
|
var import_node_path56 = require("path");
|
|
5508
|
-
var
|
|
5509
|
-
var CursorRuleFrontmatterSchema =
|
|
5510
|
-
description:
|
|
5511
|
-
globs:
|
|
5512
|
-
alwaysApply:
|
|
5500
|
+
var import_mini21 = require("zod/mini");
|
|
5501
|
+
var CursorRuleFrontmatterSchema = import_mini21.z.object({
|
|
5502
|
+
description: import_mini21.z.optional(import_mini21.z.string()),
|
|
5503
|
+
globs: import_mini21.z.optional(import_mini21.z.string()),
|
|
5504
|
+
alwaysApply: import_mini21.z.optional(import_mini21.z.boolean())
|
|
5513
5505
|
});
|
|
5514
5506
|
var CursorRule = class _CursorRule extends ToolRule {
|
|
5515
5507
|
frontmatter;
|
|
@@ -6225,7 +6217,7 @@ var rulesProcessorToolTargets = [
|
|
|
6225
6217
|
"warp",
|
|
6226
6218
|
"windsurf"
|
|
6227
6219
|
];
|
|
6228
|
-
var RulesProcessorToolTargetSchema =
|
|
6220
|
+
var RulesProcessorToolTargetSchema = import_mini22.z.enum(rulesProcessorToolTargets);
|
|
6229
6221
|
var rulesProcessorToolTargetsGlobal = [
|
|
6230
6222
|
"claudecode",
|
|
6231
6223
|
"codexcli",
|
|
@@ -7715,7 +7707,7 @@ Attention, again, you are just the planner, so though you can read any files and
|
|
|
7715
7707
|
}
|
|
7716
7708
|
|
|
7717
7709
|
// src/cli/index.ts
|
|
7718
|
-
var getVersion = () => "3.
|
|
7710
|
+
var getVersion = () => "3.15.0";
|
|
7719
7711
|
var main = async () => {
|
|
7720
7712
|
const program = new import_commander.Command();
|
|
7721
7713
|
const version = getVersion();
|