agentsmesh 0.18.1 → 0.19.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/CHANGELOG.md +344 -0
- package/README.md +28 -3
- package/dist/canonical.d.ts +31 -3
- package/dist/canonical.js +15382 -14728
- package/dist/canonical.js.map +1 -1
- package/dist/cli.js +182 -150
- package/dist/engine.d.ts +2 -2
- package/dist/engine.js +1271 -487
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1271 -487
- package/dist/index.js.map +1 -1
- package/dist/{schema-B4PYQrZH.d.ts → schema-CLmR2JOb.d.ts} +17 -1
- package/dist/{target-descriptor-XZEis_Js.d.ts → target-descriptor-CkLWz3Xk.d.ts} +47 -16
- package/dist/targets.d.ts +3 -3
- package/dist/targets.js +369 -225
- package/dist/targets.js.map +1 -1
- package/package.json +6 -1
- package/schemas/agentsmesh.json +10 -12
- package/schemas/install-manifest.json +66 -0
- package/schemas/installs.json +154 -0
- package/schemas/mcp.json +3 -10
- package/schemas/pack.json +10 -0
- package/schemas/permissions.json +0 -5
package/dist/targets.js
CHANGED
|
@@ -15,86 +15,6 @@ var __export = (target31, all) => {
|
|
|
15
15
|
for (var name in all)
|
|
16
16
|
__defProp(target31, name, { get: all[name], enumerable: true });
|
|
17
17
|
};
|
|
18
|
-
|
|
19
|
-
// src/config/core/conversions.ts
|
|
20
|
-
function usesCommandSkillProjection(target31) {
|
|
21
|
-
return Object.prototype.hasOwnProperty.call(DEFAULT_COMMANDS_TO_SKILLS, target31);
|
|
22
|
-
}
|
|
23
|
-
function usesAgentSkillProjection(target31) {
|
|
24
|
-
return Object.prototype.hasOwnProperty.call(DEFAULT_AGENTS_TO_SKILLS, target31);
|
|
25
|
-
}
|
|
26
|
-
function resolveConversionValue(value, scope) {
|
|
27
|
-
if (value === void 0) return void 0;
|
|
28
|
-
if (typeof value === "boolean") return value;
|
|
29
|
-
return value[scope];
|
|
30
|
-
}
|
|
31
|
-
function shouldConvertCommandsToSkills(config, target31, defaultEnabled, scope = "project") {
|
|
32
|
-
const raw = config.conversions?.commands_to_skills?.[target31];
|
|
33
|
-
const configVal = resolveConversionValue(raw, scope);
|
|
34
|
-
if (configVal !== void 0) return configVal;
|
|
35
|
-
if (usesCommandSkillProjection(target31)) return DEFAULT_COMMANDS_TO_SKILLS[target31];
|
|
36
|
-
return defaultEnabled ?? false;
|
|
37
|
-
}
|
|
38
|
-
function shouldConvertAgentsToSkills(config, target31, defaultEnabled, scope = "project") {
|
|
39
|
-
const raw = config.conversions?.agents_to_skills?.[target31];
|
|
40
|
-
const configVal = resolveConversionValue(raw, scope);
|
|
41
|
-
if (configVal !== void 0) return configVal;
|
|
42
|
-
if (usesAgentSkillProjection(target31)) return DEFAULT_AGENTS_TO_SKILLS[target31];
|
|
43
|
-
return defaultEnabled ?? false;
|
|
44
|
-
}
|
|
45
|
-
var DEFAULT_COMMANDS_TO_SKILLS, DEFAULT_AGENTS_TO_SKILLS;
|
|
46
|
-
var init_conversions = __esm({
|
|
47
|
-
"src/config/core/conversions.ts"() {
|
|
48
|
-
DEFAULT_COMMANDS_TO_SKILLS = {
|
|
49
|
-
amp: true,
|
|
50
|
-
"codex-cli": true,
|
|
51
|
-
goose: true,
|
|
52
|
-
kiro: true,
|
|
53
|
-
warp: true
|
|
54
|
-
};
|
|
55
|
-
DEFAULT_AGENTS_TO_SKILLS = {
|
|
56
|
-
amp: true,
|
|
57
|
-
"gemini-cli": false,
|
|
58
|
-
// native .gemini/agents/*.md per agent-structures
|
|
59
|
-
cline: true,
|
|
60
|
-
"codex-cli": false,
|
|
61
|
-
// native .codex/agents/*.toml per agent-structures
|
|
62
|
-
windsurf: true,
|
|
63
|
-
goose: true,
|
|
64
|
-
antigravity: true,
|
|
65
|
-
continue: true,
|
|
66
|
-
warp: true
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
// src/targets/catalog/capabilities.ts
|
|
72
|
-
function cap(level, flavor) {
|
|
73
|
-
return flavor !== void 0 ? { level, flavor } : { level };
|
|
74
|
-
}
|
|
75
|
-
function normalizeCapabilityValue(input) {
|
|
76
|
-
if (typeof input === "string") {
|
|
77
|
-
return { level: input };
|
|
78
|
-
}
|
|
79
|
-
return input;
|
|
80
|
-
}
|
|
81
|
-
function normalizeTargetCapabilities(caps) {
|
|
82
|
-
return {
|
|
83
|
-
rules: normalizeCapabilityValue(caps.rules),
|
|
84
|
-
additionalRules: normalizeCapabilityValue(caps.additionalRules),
|
|
85
|
-
commands: normalizeCapabilityValue(caps.commands),
|
|
86
|
-
agents: normalizeCapabilityValue(caps.agents),
|
|
87
|
-
skills: normalizeCapabilityValue(caps.skills),
|
|
88
|
-
mcp: normalizeCapabilityValue(caps.mcp),
|
|
89
|
-
hooks: normalizeCapabilityValue(caps.hooks),
|
|
90
|
-
ignore: normalizeCapabilityValue(caps.ignore),
|
|
91
|
-
permissions: normalizeCapabilityValue(caps.permissions)
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
var init_capabilities = __esm({
|
|
95
|
-
"src/targets/catalog/capabilities.ts"() {
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
18
|
function capabilityLevel(capability) {
|
|
99
19
|
return typeof capability === "string" ? capability : capability.level;
|
|
100
20
|
}
|
|
@@ -118,7 +38,7 @@ function validateCapabilityImplementations(descriptor31, capabilities17, ctx, pa
|
|
|
118
38
|
function validateDescriptor(value) {
|
|
119
39
|
return targetDescriptorSchema.parse(value);
|
|
120
40
|
}
|
|
121
|
-
var capabilityLevelSchema, capabilitiesSchema, generatorsSchema, pathResolversSchema, layoutSchema, globalSupportSchema, legacyGlobalKeys, generatorRequirements, settingsBackedFeatures, targetDescriptorSchemaBase, targetDescriptorSchema;
|
|
41
|
+
var capabilityLevelSchema, capabilitiesSchema, generatorsSchema, pathResolversSchema, layoutSchema, globalSupportSchema, legacyGlobalKeys, generatorRequirements, settingsBackedFeatures, conversionDefaultsSchema, metadataSchema, targetDescriptorSchemaBase, targetDescriptorSchema;
|
|
122
42
|
var init_target_descriptor_schema = __esm({
|
|
123
43
|
"src/targets/catalog/target-descriptor.schema.ts"() {
|
|
124
44
|
capabilityLevelSchema = z.union([
|
|
@@ -182,8 +102,19 @@ var init_target_descriptor_schema = __esm({
|
|
|
182
102
|
{ feature: "permissions", generator: "generatePermissions" }
|
|
183
103
|
];
|
|
184
104
|
settingsBackedFeatures = ["mcp", "hooks", "ignore", "permissions"];
|
|
105
|
+
conversionDefaultsSchema = z.object({
|
|
106
|
+
commandsToSkills: z.boolean().optional(),
|
|
107
|
+
agentsToSkills: z.boolean().optional()
|
|
108
|
+
}).strict();
|
|
109
|
+
metadataSchema = z.object({
|
|
110
|
+
displayName: z.string().min(1),
|
|
111
|
+
category: z.enum(["cli", "ide", "agent-platform"]),
|
|
112
|
+
officialUrl: z.string().min(1),
|
|
113
|
+
shortDescription: z.string().min(1)
|
|
114
|
+
}).passthrough();
|
|
185
115
|
targetDescriptorSchemaBase = z.object({
|
|
186
116
|
id: z.string().regex(/^[a-z][a-z0-9-]*$/, "Target id must be lowercase with hyphens"),
|
|
117
|
+
metadata: metadataSchema,
|
|
187
118
|
generators: generatorsSchema,
|
|
188
119
|
capabilities: capabilitiesSchema,
|
|
189
120
|
emptyImportMessage: z.string(),
|
|
@@ -191,7 +122,13 @@ var init_target_descriptor_schema = __esm({
|
|
|
191
122
|
project: layoutSchema,
|
|
192
123
|
globalSupport: globalSupportSchema.optional(),
|
|
193
124
|
buildImportPaths: z.function(),
|
|
194
|
-
detectionPaths: z.array(z.string())
|
|
125
|
+
detectionPaths: z.array(z.string()),
|
|
126
|
+
excludeFromStarterInit: z.boolean().optional(),
|
|
127
|
+
conversionDefaults: conversionDefaultsSchema.optional(),
|
|
128
|
+
emitScopedSettings: z.function().optional(),
|
|
129
|
+
mergeGeneratedOutputContent: z.function().optional(),
|
|
130
|
+
postProcessHookOutputs: z.function().optional(),
|
|
131
|
+
preservesManualActivation: z.boolean().optional()
|
|
195
132
|
}).passthrough();
|
|
196
133
|
targetDescriptorSchema = targetDescriptorSchemaBase.superRefine((value, ctx) => {
|
|
197
134
|
for (const key of legacyGlobalKeys) {
|
|
@@ -216,10 +153,15 @@ var init_target_descriptor_schema = __esm({
|
|
|
216
153
|
|
|
217
154
|
// src/targets/catalog/registry.ts
|
|
218
155
|
function builtinDescriptors() {
|
|
219
|
-
if (
|
|
220
|
-
|
|
156
|
+
if (_builtinDescriptors) return _builtinDescriptors;
|
|
157
|
+
const defined = BUILTIN_TARGETS.filter(
|
|
158
|
+
(d) => d !== void 0 && typeof d.id === "string"
|
|
159
|
+
);
|
|
160
|
+
const map = new Map(defined.map((d) => [d.id, d]));
|
|
161
|
+
if (defined.length === BUILTIN_TARGETS.length) {
|
|
162
|
+
_builtinDescriptors = map;
|
|
221
163
|
}
|
|
222
|
-
return
|
|
164
|
+
return map;
|
|
223
165
|
}
|
|
224
166
|
function registerTargetDescriptor(descriptor31) {
|
|
225
167
|
const validated = validateDescriptor(descriptor31);
|
|
@@ -240,6 +182,65 @@ var init_registry = __esm({
|
|
|
240
182
|
}
|
|
241
183
|
});
|
|
242
184
|
|
|
185
|
+
// src/config/core/conversions.ts
|
|
186
|
+
function builtinDefault(target31, key) {
|
|
187
|
+
return getDescriptor(target31)?.conversionDefaults?.[key];
|
|
188
|
+
}
|
|
189
|
+
function resolveConversionValue(value, scope) {
|
|
190
|
+
if (value === void 0) return void 0;
|
|
191
|
+
if (typeof value === "boolean") return value;
|
|
192
|
+
return value[scope];
|
|
193
|
+
}
|
|
194
|
+
function shouldConvertCommandsToSkills(config, target31, defaultEnabled, scope = "project") {
|
|
195
|
+
const raw = config.conversions?.commands_to_skills?.[target31];
|
|
196
|
+
const configVal = resolveConversionValue(raw, scope);
|
|
197
|
+
if (configVal !== void 0) return configVal;
|
|
198
|
+
const builtin = builtinDefault(target31, "commandsToSkills");
|
|
199
|
+
if (builtin !== void 0) return builtin;
|
|
200
|
+
return defaultEnabled ?? false;
|
|
201
|
+
}
|
|
202
|
+
function shouldConvertAgentsToSkills(config, target31, defaultEnabled, scope = "project") {
|
|
203
|
+
const raw = config.conversions?.agents_to_skills?.[target31];
|
|
204
|
+
const configVal = resolveConversionValue(raw, scope);
|
|
205
|
+
if (configVal !== void 0) return configVal;
|
|
206
|
+
const builtin = builtinDefault(target31, "agentsToSkills");
|
|
207
|
+
if (builtin !== void 0) return builtin;
|
|
208
|
+
return defaultEnabled ?? false;
|
|
209
|
+
}
|
|
210
|
+
var init_conversions = __esm({
|
|
211
|
+
"src/config/core/conversions.ts"() {
|
|
212
|
+
init_registry();
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
|
|
216
|
+
// src/targets/catalog/capabilities.ts
|
|
217
|
+
function cap(level, flavor) {
|
|
218
|
+
return flavor !== void 0 ? { level, flavor } : { level };
|
|
219
|
+
}
|
|
220
|
+
function normalizeCapabilityValue(input) {
|
|
221
|
+
if (typeof input === "string") {
|
|
222
|
+
return { level: input };
|
|
223
|
+
}
|
|
224
|
+
return input;
|
|
225
|
+
}
|
|
226
|
+
function normalizeTargetCapabilities(caps) {
|
|
227
|
+
return {
|
|
228
|
+
rules: normalizeCapabilityValue(caps.rules),
|
|
229
|
+
additionalRules: normalizeCapabilityValue(caps.additionalRules),
|
|
230
|
+
commands: normalizeCapabilityValue(caps.commands),
|
|
231
|
+
agents: normalizeCapabilityValue(caps.agents),
|
|
232
|
+
skills: normalizeCapabilityValue(caps.skills),
|
|
233
|
+
mcp: normalizeCapabilityValue(caps.mcp),
|
|
234
|
+
hooks: normalizeCapabilityValue(caps.hooks),
|
|
235
|
+
ignore: normalizeCapabilityValue(caps.ignore),
|
|
236
|
+
permissions: normalizeCapabilityValue(caps.permissions)
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
var init_capabilities = __esm({
|
|
240
|
+
"src/targets/catalog/capabilities.ts"() {
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
|
|
243
244
|
// src/targets/catalog/shared-artifact-owner.ts
|
|
244
245
|
function findSharedArtifactOwnershipConflicts(descriptors) {
|
|
245
246
|
const owners = [];
|
|
@@ -345,6 +346,23 @@ function parseFrontmatter(content) {
|
|
|
345
346
|
const frontmatter = yamlStr === "" ? {} : parse(yamlStr) ?? {};
|
|
346
347
|
return { frontmatter, body };
|
|
347
348
|
}
|
|
349
|
+
function extractBody(content) {
|
|
350
|
+
if (content.indexOf("---") !== 0) return content.trim();
|
|
351
|
+
const close = content.indexOf("---", 3);
|
|
352
|
+
if (close === -1) return content.trim();
|
|
353
|
+
return content.slice(close + 3).trim();
|
|
354
|
+
}
|
|
355
|
+
function tryParseFrontmatter(content, filePath) {
|
|
356
|
+
try {
|
|
357
|
+
return { ok: true, value: parseFrontmatter(content) };
|
|
358
|
+
} catch (err) {
|
|
359
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
360
|
+
const wrapped = new Error(`Failed to parse frontmatter in ${filePath}: ${message}`, {
|
|
361
|
+
cause: err
|
|
362
|
+
});
|
|
363
|
+
return { ok: false, error: wrapped, bodyFallback: extractBody(content) };
|
|
364
|
+
}
|
|
365
|
+
}
|
|
348
366
|
function serializeFrontmatter(frontmatter, body) {
|
|
349
367
|
const keys = Object.keys(frontmatter);
|
|
350
368
|
if (keys.length === 0) return body;
|
|
@@ -594,7 +612,18 @@ var init_fs_text_encoding = __esm({
|
|
|
594
612
|
EXECUTABLE_SCRIPT_EXTENSIONS = /* @__PURE__ */ new Set([".sh", ".bash", ".zsh"]);
|
|
595
613
|
}
|
|
596
614
|
});
|
|
597
|
-
|
|
615
|
+
function shouldSkipRecursiveBranch(segments) {
|
|
616
|
+
if (segments.length > MAX_RECURSIVE_DEPTH) return true;
|
|
617
|
+
const counts = /* @__PURE__ */ new Map();
|
|
618
|
+
for (const segment of segments) {
|
|
619
|
+
const count = (counts.get(segment) ?? 0) + 1;
|
|
620
|
+
if (count >= MAX_SEGMENT_REPETITIONS) return true;
|
|
621
|
+
counts.set(segment, count);
|
|
622
|
+
}
|
|
623
|
+
return false;
|
|
624
|
+
}
|
|
625
|
+
async function readDirRecursive(dir, visited, branchSegments) {
|
|
626
|
+
const currentBranchSegments = branchSegments ?? [basename(dir)];
|
|
598
627
|
let canonicalDir;
|
|
599
628
|
try {
|
|
600
629
|
canonicalDir = await realpath(dir);
|
|
@@ -620,7 +649,9 @@ async function readDirRecursive(dir, visited) {
|
|
|
620
649
|
() => false
|
|
621
650
|
);
|
|
622
651
|
if (walkChild) {
|
|
623
|
-
|
|
652
|
+
const nextSegments = [...currentBranchSegments, ent.name];
|
|
653
|
+
if (shouldSkipRecursiveBranch(nextSegments)) continue;
|
|
654
|
+
files.push(...await readDirRecursive(full, seen, nextSegments));
|
|
624
655
|
} else {
|
|
625
656
|
files.push(full);
|
|
626
657
|
}
|
|
@@ -636,9 +667,12 @@ async function readDirRecursive(dir, visited) {
|
|
|
636
667
|
);
|
|
637
668
|
}
|
|
638
669
|
}
|
|
670
|
+
var MAX_RECURSIVE_DEPTH, MAX_SEGMENT_REPETITIONS;
|
|
639
671
|
var init_fs_traverse = __esm({
|
|
640
672
|
"src/utils/filesystem/fs-traverse.ts"() {
|
|
641
673
|
init_errors();
|
|
674
|
+
MAX_RECURSIVE_DEPTH = 32;
|
|
675
|
+
MAX_SEGMENT_REPETITIONS = 3;
|
|
642
676
|
}
|
|
643
677
|
});
|
|
644
678
|
async function readFileSafe(path) {
|
|
@@ -1808,7 +1842,9 @@ function shouldRewritePathToken(fullContent, start, end, matchText, rewriteBareP
|
|
|
1808
1842
|
}
|
|
1809
1843
|
if (before === "@") return true;
|
|
1810
1844
|
if (before === "(") {
|
|
1811
|
-
|
|
1845
|
+
if (fullContent[start - 2] === "]") {
|
|
1846
|
+
return after === ")" || after === "#" || after === "?" || after === " " || after === " ";
|
|
1847
|
+
}
|
|
1812
1848
|
}
|
|
1813
1849
|
if (!rewriteBarePathTokens) return false;
|
|
1814
1850
|
if (isRootRelativePathToken(normalizedCandidate)) return true;
|
|
@@ -2202,6 +2238,55 @@ var init_descriptor_default_mappers = __esm({
|
|
|
2202
2238
|
}
|
|
2203
2239
|
});
|
|
2204
2240
|
|
|
2241
|
+
// src/install/importers/boilerplate-filter.ts
|
|
2242
|
+
function boilerplateKind(filename) {
|
|
2243
|
+
const lower = filename.toLowerCase();
|
|
2244
|
+
const dotIdx = lower.lastIndexOf(".");
|
|
2245
|
+
const stem = dotIdx > 0 ? lower.slice(0, dotIdx) : lower;
|
|
2246
|
+
return BOILERPLATE_STEMS.get(stem);
|
|
2247
|
+
}
|
|
2248
|
+
function isPreservedBoilerplate(filename) {
|
|
2249
|
+
return boilerplateKind(filename) === "preserved";
|
|
2250
|
+
}
|
|
2251
|
+
var BOILERPLATE_STEMS;
|
|
2252
|
+
var init_boilerplate_filter = __esm({
|
|
2253
|
+
"src/install/importers/boilerplate-filter.ts"() {
|
|
2254
|
+
BOILERPLATE_STEMS = /* @__PURE__ */ new Map([
|
|
2255
|
+
// Noise — upstream-repo housekeeping with no downstream value.
|
|
2256
|
+
["contributing", "noise"],
|
|
2257
|
+
["changelog", "noise"],
|
|
2258
|
+
["changes", "noise"],
|
|
2259
|
+
["history", "noise"],
|
|
2260
|
+
["code_of_conduct", "noise"],
|
|
2261
|
+
["security", "noise"],
|
|
2262
|
+
["support", "noise"],
|
|
2263
|
+
["maintainers", "noise"],
|
|
2264
|
+
["governance", "noise"],
|
|
2265
|
+
["authors", "noise"],
|
|
2266
|
+
["contributors", "noise"],
|
|
2267
|
+
["codeowners", "noise"],
|
|
2268
|
+
["citation", "noise"],
|
|
2269
|
+
["acknowledgments", "noise"],
|
|
2270
|
+
["acknowledgements", "noise"],
|
|
2271
|
+
// Preserved — installed alongside content but never treated as an entity.
|
|
2272
|
+
// LICENSE family: legal attribution required by MIT/Apache/BSD/GPL.
|
|
2273
|
+
["license", "preserved"],
|
|
2274
|
+
["license-mit", "preserved"],
|
|
2275
|
+
["license-apache", "preserved"],
|
|
2276
|
+
["license-bsd", "preserved"],
|
|
2277
|
+
["license-gpl", "preserved"],
|
|
2278
|
+
["notice", "preserved"],
|
|
2279
|
+
["copying", "preserved"],
|
|
2280
|
+
["copyright", "preserved"],
|
|
2281
|
+
// README: skill-specific context (overview, usage, prerequisites) that
|
|
2282
|
+
// explains the skill to the downstream consumer. Filtered from entity
|
|
2283
|
+
// discovery so it can never become a phantom rule/command/agent named
|
|
2284
|
+
// "README", but kept as a supporting file so the docs travel with the install.
|
|
2285
|
+
["readme", "preserved"]
|
|
2286
|
+
]);
|
|
2287
|
+
}
|
|
2288
|
+
});
|
|
2289
|
+
|
|
2205
2290
|
// src/targets/catalog/import-descriptor.ts
|
|
2206
2291
|
function resolveScopedSources(paths, scope) {
|
|
2207
2292
|
if (!paths) return [];
|
|
@@ -2235,18 +2320,32 @@ async function runSingleFile(spec, sources, projectRoot, fromTool, normalize) {
|
|
|
2235
2320
|
const destPath = join(destDir, spec.canonicalRootFilename);
|
|
2236
2321
|
const normalizeTo = (destinationFile) => normalize(content, srcPath, destinationFile);
|
|
2237
2322
|
if (spec.map) {
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2323
|
+
let mapping;
|
|
2324
|
+
try {
|
|
2325
|
+
mapping = await spec.map({
|
|
2326
|
+
absolutePath: srcPath,
|
|
2327
|
+
relativePath: rel2,
|
|
2328
|
+
content,
|
|
2329
|
+
destDir,
|
|
2330
|
+
normalizeTo
|
|
2331
|
+
});
|
|
2332
|
+
} catch (err) {
|
|
2333
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
2334
|
+
process.stderr.write(`\u26A0 skipping ${srcPath}: ${msg}
|
|
2335
|
+
`);
|
|
2336
|
+
continue;
|
|
2337
|
+
}
|
|
2245
2338
|
if (!mapping) continue;
|
|
2246
2339
|
await writeFileAtomic(mapping.destPath, mapping.content);
|
|
2247
2340
|
return [{ fromTool, fromPath: srcPath, toPath: mapping.toPath, feature: spec.feature }];
|
|
2248
2341
|
}
|
|
2249
|
-
const
|
|
2342
|
+
const result = tryParseFrontmatter(normalizeTo(destPath), srcPath);
|
|
2343
|
+
if (!result.ok) {
|
|
2344
|
+
process.stderr.write(`\u26A0 skipping ${srcPath}: ${result.error.message}
|
|
2345
|
+
`);
|
|
2346
|
+
continue;
|
|
2347
|
+
}
|
|
2348
|
+
const { frontmatter, body } = result.value;
|
|
2250
2349
|
const remapped = spec.frontmatterRemap ? spec.frontmatterRemap(frontmatter) : frontmatter;
|
|
2251
2350
|
const outFm = spec.markAsRoot ? { ...remapped, root: true } : remapped;
|
|
2252
2351
|
const outContent = await serializeImportedRuleWithFallback(destPath, outFm, body);
|
|
@@ -2275,13 +2374,22 @@ async function runDirectory(spec, sources, projectRoot, fromTool, normalize) {
|
|
|
2275
2374
|
fromTool,
|
|
2276
2375
|
normalize,
|
|
2277
2376
|
mapEntry: async ({ srcPath, relativePath, content, normalizeTo }) => {
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2377
|
+
if (isPreservedBoilerplate(basename(srcPath))) return null;
|
|
2378
|
+
let mapping;
|
|
2379
|
+
try {
|
|
2380
|
+
mapping = await mapper({
|
|
2381
|
+
absolutePath: srcPath,
|
|
2382
|
+
relativePath,
|
|
2383
|
+
content,
|
|
2384
|
+
destDir,
|
|
2385
|
+
normalizeTo: (destinationFile) => normalizeTo(destinationFile)
|
|
2386
|
+
});
|
|
2387
|
+
} catch (err) {
|
|
2388
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
2389
|
+
process.stderr.write(`\u26A0 skipping ${srcPath}: ${msg}
|
|
2390
|
+
`);
|
|
2391
|
+
return null;
|
|
2392
|
+
}
|
|
2285
2393
|
if (!mapping) return null;
|
|
2286
2394
|
return {
|
|
2287
2395
|
destPath: mapping.destPath,
|
|
@@ -2422,6 +2530,7 @@ var init_descriptor_import_runner = __esm({
|
|
|
2422
2530
|
init_import_metadata();
|
|
2423
2531
|
init_import_orchestrator();
|
|
2424
2532
|
init_descriptor_default_mappers();
|
|
2533
|
+
init_boilerplate_filter();
|
|
2425
2534
|
init_import_descriptor();
|
|
2426
2535
|
}
|
|
2427
2536
|
});
|
|
@@ -3299,7 +3408,7 @@ var init_crush = __esm({
|
|
|
3299
3408
|
});
|
|
3300
3409
|
|
|
3301
3410
|
// src/targets/cursor/constants.ts
|
|
3302
|
-
var CURSOR_TARGET, CURSOR_COMPAT_AGENTS, CURSOR_LEGACY_RULES, CURSOR_RULES_DIR, CURSOR_GENERAL_RULE, CURSOR_COMMANDS_DIR, CURSOR_AGENTS_DIR, CURSOR_SKILLS_DIR, CURSOR_MCP, CURSOR_HOOKS, CURSOR_SETTINGS, CURSOR_IGNORE, CURSOR_INDEXING_IGNORE, CURSOR_GLOBAL_EXPORT_DIR, CURSOR_GLOBAL_USER_RULES, CURSOR_DOT_CURSOR_AGENTS,
|
|
3411
|
+
var CURSOR_TARGET, CURSOR_COMPAT_AGENTS, CURSOR_LEGACY_RULES, CURSOR_RULES_DIR, CURSOR_GENERAL_RULE, CURSOR_COMMANDS_DIR, CURSOR_AGENTS_DIR, CURSOR_SKILLS_DIR, CURSOR_MCP, CURSOR_HOOKS, CURSOR_SETTINGS, CURSOR_IGNORE, CURSOR_INDEXING_IGNORE, CURSOR_GLOBAL_EXPORT_DIR, CURSOR_GLOBAL_USER_RULES, CURSOR_DOT_CURSOR_AGENTS, CURSOR_CANONICAL_RULES_DIR, CURSOR_CANONICAL_COMMANDS_DIR, CURSOR_CANONICAL_AGENTS_DIR, CURSOR_CANONICAL_SKILLS_DIR, CURSOR_CANONICAL_MCP, CURSOR_CANONICAL_PERMISSIONS, CURSOR_CANONICAL_HOOKS, CURSOR_CANONICAL_IGNORE;
|
|
3303
3412
|
var init_constants11 = __esm({
|
|
3304
3413
|
"src/targets/cursor/constants.ts"() {
|
|
3305
3414
|
CURSOR_TARGET = "cursor";
|
|
@@ -3318,9 +3427,6 @@ var init_constants11 = __esm({
|
|
|
3318
3427
|
CURSOR_GLOBAL_EXPORT_DIR = ".agentsmesh-exports/cursor";
|
|
3319
3428
|
CURSOR_GLOBAL_USER_RULES = `${CURSOR_GLOBAL_EXPORT_DIR}/user-rules.md`;
|
|
3320
3429
|
CURSOR_DOT_CURSOR_AGENTS = ".cursor/AGENTS.md";
|
|
3321
|
-
CURSOR_GLOBAL_MCP_EXPORT = CURSOR_MCP;
|
|
3322
|
-
CURSOR_GLOBAL_SKILLS_DIR = CURSOR_SKILLS_DIR;
|
|
3323
|
-
CURSOR_GLOBAL_AGENTS_DIR = CURSOR_AGENTS_DIR;
|
|
3324
3430
|
CURSOR_CANONICAL_RULES_DIR = ".agentsmesh/rules";
|
|
3325
3431
|
CURSOR_CANONICAL_COMMANDS_DIR = ".agentsmesh/commands";
|
|
3326
3432
|
CURSOR_CANONICAL_AGENTS_DIR = ".agentsmesh/agents";
|
|
@@ -4451,7 +4557,7 @@ var init_linter2 = __esm({
|
|
|
4451
4557
|
});
|
|
4452
4558
|
|
|
4453
4559
|
// src/targets/amazon-q/index.ts
|
|
4454
|
-
var target2, project2,
|
|
4560
|
+
var target2, project2, globalLayout2, globalCapabilities, descriptor2;
|
|
4455
4561
|
var init_amazon_q2 = __esm({
|
|
4456
4562
|
"src/targets/amazon-q/index.ts"() {
|
|
4457
4563
|
init_generator2();
|
|
@@ -4482,7 +4588,7 @@ var init_amazon_q2 = __esm({
|
|
|
4482
4588
|
}
|
|
4483
4589
|
}
|
|
4484
4590
|
};
|
|
4485
|
-
|
|
4591
|
+
globalLayout2 = {
|
|
4486
4592
|
managedOutputs: {
|
|
4487
4593
|
dirs: [AMAZON_Q_GLOBAL_RULES_DIR],
|
|
4488
4594
|
files: [AMAZON_Q_GLOBAL_MCP_FILE]
|
|
@@ -4545,7 +4651,7 @@ var init_amazon_q2 = __esm({
|
|
|
4545
4651
|
globalSupport: {
|
|
4546
4652
|
capabilities: globalCapabilities,
|
|
4547
4653
|
detectionPaths: [AMAZON_Q_GLOBAL_RULES_DIR, AMAZON_Q_GLOBAL_MCP_FILE],
|
|
4548
|
-
layout:
|
|
4654
|
+
layout: globalLayout2
|
|
4549
4655
|
},
|
|
4550
4656
|
importer: {
|
|
4551
4657
|
rules: {
|
|
@@ -4615,13 +4721,22 @@ var init_generator3 = __esm({
|
|
|
4615
4721
|
|
|
4616
4722
|
// src/targets/catalog/skill-mirror.ts
|
|
4617
4723
|
function mirrorSkillsToAgents(path, skillsDir, activeTargets) {
|
|
4618
|
-
|
|
4724
|
+
const hasNativeWriter = activeTargets.some((id) => NATIVE_AGENTS_SKILL_WRITERS.includes(id));
|
|
4725
|
+
if (path.startsWith(`${skillsDir}/`) && !hasNativeWriter) {
|
|
4619
4726
|
return `.agents/skills/${path.slice(skillsDir.length + 1)}`;
|
|
4620
4727
|
}
|
|
4621
4728
|
return null;
|
|
4622
4729
|
}
|
|
4730
|
+
var NATIVE_AGENTS_SKILL_WRITERS;
|
|
4623
4731
|
var init_skill_mirror = __esm({
|
|
4624
4732
|
"src/targets/catalog/skill-mirror.ts"() {
|
|
4733
|
+
NATIVE_AGENTS_SKILL_WRITERS = [
|
|
4734
|
+
"amp",
|
|
4735
|
+
"antigravity",
|
|
4736
|
+
"codex-cli",
|
|
4737
|
+
"goose",
|
|
4738
|
+
"replit-agent"
|
|
4739
|
+
];
|
|
4625
4740
|
}
|
|
4626
4741
|
});
|
|
4627
4742
|
async function importAmpMcp(projectRoot, settingsPath, results) {
|
|
@@ -4763,7 +4878,7 @@ function mergeAmpSettings(existing, newContent) {
|
|
|
4763
4878
|
}
|
|
4764
4879
|
return JSON.stringify(base, null, 2);
|
|
4765
4880
|
}
|
|
4766
|
-
var target3, project3,
|
|
4881
|
+
var target3, project3, globalLayout3, capabilities2, descriptor3;
|
|
4767
4882
|
var init_amp2 = __esm({
|
|
4768
4883
|
"src/targets/amp/index.ts"() {
|
|
4769
4884
|
init_command_skill();
|
|
@@ -4803,7 +4918,7 @@ var init_amp2 = __esm({
|
|
|
4803
4918
|
}
|
|
4804
4919
|
}
|
|
4805
4920
|
};
|
|
4806
|
-
|
|
4921
|
+
globalLayout3 = {
|
|
4807
4922
|
rootInstructionPath: AMP_GLOBAL_ROOT_FILE,
|
|
4808
4923
|
skillDir: AMP_GLOBAL_SKILLS_DIR,
|
|
4809
4924
|
managedOutputs: {
|
|
@@ -4866,7 +4981,7 @@ var init_amp2 = __esm({
|
|
|
4866
4981
|
globalSupport: {
|
|
4867
4982
|
capabilities: capabilities2,
|
|
4868
4983
|
detectionPaths: [AMP_GLOBAL_ROOT_FILE, AMP_GLOBAL_MCP_FILE],
|
|
4869
|
-
layout:
|
|
4984
|
+
layout: globalLayout3
|
|
4870
4985
|
},
|
|
4871
4986
|
importer: {
|
|
4872
4987
|
rules: {
|
|
@@ -4900,7 +5015,8 @@ var init_amp2 = __esm({
|
|
|
4900
5015
|
".agents/skills/": "consumer"
|
|
4901
5016
|
},
|
|
4902
5017
|
buildImportPaths: buildAmpImportPaths,
|
|
4903
|
-
detectionPaths: [AMP_ROOT_FILE, AMP_MCP_FILE]
|
|
5018
|
+
detectionPaths: [AMP_ROOT_FILE, AMP_MCP_FILE],
|
|
5019
|
+
conversionDefaults: { commandsToSkills: true, agentsToSkills: true }
|
|
4904
5020
|
};
|
|
4905
5021
|
}
|
|
4906
5022
|
});
|
|
@@ -5140,7 +5256,7 @@ var init_linter4 = __esm({
|
|
|
5140
5256
|
});
|
|
5141
5257
|
|
|
5142
5258
|
// src/targets/antigravity/index.ts
|
|
5143
|
-
var target4, project4,
|
|
5259
|
+
var target4, project4, globalLayout4, globalCapabilities2, descriptor4;
|
|
5144
5260
|
var init_antigravity2 = __esm({
|
|
5145
5261
|
"src/targets/antigravity/index.ts"() {
|
|
5146
5262
|
init_capabilities();
|
|
@@ -5164,6 +5280,20 @@ var init_antigravity2 = __esm({
|
|
|
5164
5280
|
project4 = {
|
|
5165
5281
|
rootInstructionPath: ANTIGRAVITY_RULES_ROOT,
|
|
5166
5282
|
skillDir: ".agents/skills",
|
|
5283
|
+
// managedOutputs is the sole signal `cleanupStaleGeneratedOutputs` uses to
|
|
5284
|
+
// decide which dirs/files to scan when reconciling post-uninstall state.
|
|
5285
|
+
// Antigravity emits across three dirs:
|
|
5286
|
+
// - `.agents/rules` (rules)
|
|
5287
|
+
// - `.agents/workflows` (commands → workflows projection)
|
|
5288
|
+
// - `.agents/skills` (agents → skills projection + native skills)
|
|
5289
|
+
// Without all three here, projected outputs from an uninstalled pack would
|
|
5290
|
+
// linger in the user's project. The root rule file and (suppressed) MCP
|
|
5291
|
+
// config are listed under `files` so a flip from one root style to another
|
|
5292
|
+
// doesn't leave both behind.
|
|
5293
|
+
managedOutputs: {
|
|
5294
|
+
dirs: [ANTIGRAVITY_RULES_DIR, ANTIGRAVITY_WORKFLOWS_DIR, ANTIGRAVITY_SKILLS_DIR],
|
|
5295
|
+
files: [ANTIGRAVITY_RULES_ROOT]
|
|
5296
|
+
},
|
|
5167
5297
|
rewriteGeneratedPath(path) {
|
|
5168
5298
|
if (path === ANTIGRAVITY_MCP_CONFIG) return null;
|
|
5169
5299
|
return path;
|
|
@@ -5180,7 +5310,7 @@ var init_antigravity2 = __esm({
|
|
|
5180
5310
|
}
|
|
5181
5311
|
}
|
|
5182
5312
|
};
|
|
5183
|
-
|
|
5313
|
+
globalLayout4 = {
|
|
5184
5314
|
rootInstructionPath: ANTIGRAVITY_GLOBAL_ROOT,
|
|
5185
5315
|
renderPrimaryRootInstruction: renderAntigravityGlobalInstructions,
|
|
5186
5316
|
skillDir: ANTIGRAVITY_GLOBAL_SKILLS_DIR,
|
|
@@ -5208,7 +5338,7 @@ var init_antigravity2 = __esm({
|
|
|
5208
5338
|
return `${ANTIGRAVITY_GLOBAL_WORKFLOWS_DIR}/${name}.md`;
|
|
5209
5339
|
},
|
|
5210
5340
|
agentPath(name) {
|
|
5211
|
-
return `${
|
|
5341
|
+
return `${ANTIGRAVITY_GLOBAL_SKILLS_DIR}/${projectedAgentSkillDirName(name)}/SKILL.md`;
|
|
5212
5342
|
}
|
|
5213
5343
|
}
|
|
5214
5344
|
};
|
|
@@ -5255,7 +5385,7 @@ var init_antigravity2 = __esm({
|
|
|
5255
5385
|
".gemini/antigravity/workflows",
|
|
5256
5386
|
".gemini/antigravity/mcp_config.json"
|
|
5257
5387
|
],
|
|
5258
|
-
layout:
|
|
5388
|
+
layout: globalLayout4
|
|
5259
5389
|
},
|
|
5260
5390
|
importer: {
|
|
5261
5391
|
rules: {
|
|
@@ -5296,7 +5426,8 @@ var init_antigravity2 = __esm({
|
|
|
5296
5426
|
".agents/rules/",
|
|
5297
5427
|
".agents/skills/",
|
|
5298
5428
|
".agents/workflows/"
|
|
5299
|
-
]
|
|
5429
|
+
],
|
|
5430
|
+
conversionDefaults: { agentsToSkills: true }
|
|
5300
5431
|
};
|
|
5301
5432
|
}
|
|
5302
5433
|
});
|
|
@@ -5628,7 +5759,7 @@ function buildSettingsContent(canonical) {
|
|
|
5628
5759
|
if (Object.keys(settings).length === 0) return null;
|
|
5629
5760
|
return JSON.stringify(settings, null, 2);
|
|
5630
5761
|
}
|
|
5631
|
-
var target5, project5,
|
|
5762
|
+
var target5, project5, globalLayout5, capabilities3, globalCapabilities3, descriptor5;
|
|
5632
5763
|
var init_augment_code2 = __esm({
|
|
5633
5764
|
"src/targets/augment-code/index.ts"() {
|
|
5634
5765
|
init_generator5();
|
|
@@ -5663,7 +5794,7 @@ var init_augment_code2 = __esm({
|
|
|
5663
5794
|
}
|
|
5664
5795
|
}
|
|
5665
5796
|
};
|
|
5666
|
-
|
|
5797
|
+
globalLayout5 = {
|
|
5667
5798
|
skillDir: AUGMENT_CODE_GLOBAL_SKILLS_DIR,
|
|
5668
5799
|
managedOutputs: {
|
|
5669
5800
|
dirs: [
|
|
@@ -5749,7 +5880,7 @@ var init_augment_code2 = __esm({
|
|
|
5749
5880
|
AUGMENT_CODE_GLOBAL_SKILLS_DIR,
|
|
5750
5881
|
AUGMENT_CODE_GLOBAL_SETTINGS_FILE
|
|
5751
5882
|
],
|
|
5752
|
-
layout:
|
|
5883
|
+
layout: globalLayout5
|
|
5753
5884
|
},
|
|
5754
5885
|
emitScopedSettings(canonical) {
|
|
5755
5886
|
const content = buildSettingsContent(canonical);
|
|
@@ -6149,6 +6280,19 @@ async function importClaudeSkills(projectRoot, results, normalize) {
|
|
|
6149
6280
|
const skillDir = dirname(skillMdPath);
|
|
6150
6281
|
const skillName = basename(skillDir);
|
|
6151
6282
|
const destSkillDir = join(destBase, skillName);
|
|
6283
|
+
const skillMdContent = await readFileSafe(skillMdPath);
|
|
6284
|
+
if (skillMdContent === null) continue;
|
|
6285
|
+
const normalizedSkillMd = normalize(
|
|
6286
|
+
skillMdContent,
|
|
6287
|
+
skillMdPath,
|
|
6288
|
+
join(destSkillDir, "SKILL.md")
|
|
6289
|
+
);
|
|
6290
|
+
const skillMdParsed = tryParseFrontmatter(normalizedSkillMd, skillMdPath);
|
|
6291
|
+
if (!skillMdParsed.ok) {
|
|
6292
|
+
process.stderr.write(`\u26A0 skipping ${skillMdPath}: ${skillMdParsed.error.message}
|
|
6293
|
+
`);
|
|
6294
|
+
continue;
|
|
6295
|
+
}
|
|
6152
6296
|
const skillFiles = await readDirRecursive(skillDir);
|
|
6153
6297
|
for (const filePath of skillFiles) {
|
|
6154
6298
|
const fileContent = await readFileSafe(filePath);
|
|
@@ -6157,13 +6301,12 @@ async function importClaudeSkills(projectRoot, results, normalize) {
|
|
|
6157
6301
|
const destPath = join(destSkillDir, relPath);
|
|
6158
6302
|
await mkdirp(dirname(destPath));
|
|
6159
6303
|
const normalized = normalize(fileContent, filePath, destPath);
|
|
6160
|
-
const parsed = relPath === "SKILL.md" ? parseFrontmatter(normalized) : null;
|
|
6161
6304
|
await writeFileAtomic(
|
|
6162
6305
|
destPath,
|
|
6163
6306
|
relPath === "SKILL.md" ? await serializeImportedSkillWithFallback(
|
|
6164
6307
|
destPath,
|
|
6165
|
-
|
|
6166
|
-
|
|
6308
|
+
skillMdParsed.value.frontmatter,
|
|
6309
|
+
skillMdParsed.value.body
|
|
6167
6310
|
) : normalized
|
|
6168
6311
|
);
|
|
6169
6312
|
const toPath = `${CLAUDE_CANONICAL_SKILLS_DIR}/${skillName}/${relPath}`;
|
|
@@ -6284,7 +6427,7 @@ var init_linter6 = __esm({
|
|
|
6284
6427
|
});
|
|
6285
6428
|
|
|
6286
6429
|
// src/targets/claude-code/index.ts
|
|
6287
|
-
var target6, project6,
|
|
6430
|
+
var target6, project6, globalLayout6, globalCapabilities4, descriptor6;
|
|
6288
6431
|
var init_claude_code2 = __esm({
|
|
6289
6432
|
"src/targets/claude-code/index.ts"() {
|
|
6290
6433
|
init_generator6();
|
|
@@ -6328,7 +6471,7 @@ var init_claude_code2 = __esm({
|
|
|
6328
6471
|
}
|
|
6329
6472
|
}
|
|
6330
6473
|
};
|
|
6331
|
-
|
|
6474
|
+
globalLayout6 = {
|
|
6332
6475
|
rootInstructionPath: CLAUDE_ROOT,
|
|
6333
6476
|
skillDir: ".claude/skills",
|
|
6334
6477
|
renderPrimaryRootInstruction: renderClaudeGlobalPrimaryInstructions,
|
|
@@ -6407,7 +6550,7 @@ var init_claude_code2 = __esm({
|
|
|
6407
6550
|
".claude.json",
|
|
6408
6551
|
".agents/skills"
|
|
6409
6552
|
],
|
|
6410
|
-
layout:
|
|
6553
|
+
layout: globalLayout6,
|
|
6411
6554
|
scopeExtras: generateClaudeGlobalExtras
|
|
6412
6555
|
},
|
|
6413
6556
|
importer: {
|
|
@@ -7197,7 +7340,7 @@ var init_lint4 = __esm({
|
|
|
7197
7340
|
});
|
|
7198
7341
|
|
|
7199
7342
|
// src/targets/cline/index.ts
|
|
7200
|
-
var target7, project7,
|
|
7343
|
+
var target7, project7, globalLayout7, globalCapabilities5, descriptor7;
|
|
7201
7344
|
var init_cline2 = __esm({
|
|
7202
7345
|
"src/targets/cline/index.ts"() {
|
|
7203
7346
|
init_generator7();
|
|
@@ -7245,7 +7388,7 @@ var init_cline2 = __esm({
|
|
|
7245
7388
|
}
|
|
7246
7389
|
}
|
|
7247
7390
|
};
|
|
7248
|
-
|
|
7391
|
+
globalLayout7 = {
|
|
7249
7392
|
skillDir: CLINE_SKILLS_DIR,
|
|
7250
7393
|
managedOutputs: {
|
|
7251
7394
|
dirs: [
|
|
@@ -7337,10 +7480,11 @@ var init_cline2 = __esm({
|
|
|
7337
7480
|
CLINE_MCP_SETTINGS,
|
|
7338
7481
|
CLINE_IGNORE
|
|
7339
7482
|
],
|
|
7340
|
-
layout:
|
|
7483
|
+
layout: globalLayout7
|
|
7341
7484
|
},
|
|
7342
7485
|
buildImportPaths: buildClineImportPaths,
|
|
7343
|
-
detectionPaths: [".clinerules", ".cline"]
|
|
7486
|
+
detectionPaths: [".clinerules", ".cline"],
|
|
7487
|
+
conversionDefaults: { agentsToSkills: true }
|
|
7344
7488
|
};
|
|
7345
7489
|
}
|
|
7346
7490
|
});
|
|
@@ -8120,7 +8264,7 @@ var init_codex_rule_paths = __esm({
|
|
|
8120
8264
|
init_instruction_mirror();
|
|
8121
8265
|
}
|
|
8122
8266
|
});
|
|
8123
|
-
var target8, project8,
|
|
8267
|
+
var target8, project8, globalLayout8, globalCapabilities6, descriptor8;
|
|
8124
8268
|
var init_codex_cli2 = __esm({
|
|
8125
8269
|
"src/targets/codex-cli/index.ts"() {
|
|
8126
8270
|
init_generator9();
|
|
@@ -8166,7 +8310,7 @@ var init_codex_cli2 = __esm({
|
|
|
8166
8310
|
}
|
|
8167
8311
|
}
|
|
8168
8312
|
};
|
|
8169
|
-
|
|
8313
|
+
globalLayout8 = {
|
|
8170
8314
|
rootInstructionPath: CODEX_GLOBAL_AGENTS_MD,
|
|
8171
8315
|
renderPrimaryRootInstruction: renderCodexGlobalInstructions,
|
|
8172
8316
|
extraRuleOutputPaths(rule) {
|
|
@@ -8244,7 +8388,7 @@ var init_codex_cli2 = __esm({
|
|
|
8244
8388
|
".codex/rules",
|
|
8245
8389
|
".agents/skills"
|
|
8246
8390
|
],
|
|
8247
|
-
layout:
|
|
8391
|
+
layout: globalLayout8
|
|
8248
8392
|
},
|
|
8249
8393
|
buildImportPaths: buildCodexCliImportPaths,
|
|
8250
8394
|
sharedArtifacts: {
|
|
@@ -8257,7 +8401,9 @@ var init_codex_cli2 = __esm({
|
|
|
8257
8401
|
".codex/config.toml",
|
|
8258
8402
|
".codex/agents",
|
|
8259
8403
|
".codex/rules"
|
|
8260
|
-
]
|
|
8404
|
+
],
|
|
8405
|
+
excludeFromStarterInit: true,
|
|
8406
|
+
conversionDefaults: { commandsToSkills: true, agentsToSkills: false }
|
|
8261
8407
|
};
|
|
8262
8408
|
}
|
|
8263
8409
|
});
|
|
@@ -8620,7 +8766,7 @@ var init_scope_extras = __esm({
|
|
|
8620
8766
|
});
|
|
8621
8767
|
|
|
8622
8768
|
// src/targets/continue/index.ts
|
|
8623
|
-
var target9, project9,
|
|
8769
|
+
var target9, project9, globalLayout9, globalCapabilities7, descriptor9;
|
|
8624
8770
|
var init_continue2 = __esm({
|
|
8625
8771
|
"src/targets/continue/index.ts"() {
|
|
8626
8772
|
init_projected_agent_skill();
|
|
@@ -8662,7 +8808,7 @@ var init_continue2 = __esm({
|
|
|
8662
8808
|
}
|
|
8663
8809
|
}
|
|
8664
8810
|
};
|
|
8665
|
-
|
|
8811
|
+
globalLayout9 = {
|
|
8666
8812
|
rootInstructionPath: CONTINUE_ROOT_RULE,
|
|
8667
8813
|
outputFamilies: [
|
|
8668
8814
|
{ id: "compat-agents", kind: "additional", explicitPaths: [CONTINUE_GLOBAL_AGENTS_MD] }
|
|
@@ -8736,7 +8882,7 @@ var init_continue2 = __esm({
|
|
|
8736
8882
|
".continue/mcpServers",
|
|
8737
8883
|
CONTINUE_SKILLS_DIR
|
|
8738
8884
|
],
|
|
8739
|
-
layout:
|
|
8885
|
+
layout: globalLayout9,
|
|
8740
8886
|
scopeExtras: generateContinueScopeExtras
|
|
8741
8887
|
},
|
|
8742
8888
|
importer: {
|
|
@@ -8758,7 +8904,8 @@ var init_continue2 = __esm({
|
|
|
8758
8904
|
}
|
|
8759
8905
|
},
|
|
8760
8906
|
buildImportPaths: buildContinueImportPaths,
|
|
8761
|
-
detectionPaths: [".continue/rules", ".continue/skills", ".continue/mcpServers"]
|
|
8907
|
+
detectionPaths: [".continue/rules", ".continue/skills", ".continue/mcpServers"],
|
|
8908
|
+
conversionDefaults: { agentsToSkills: true }
|
|
8762
8909
|
};
|
|
8763
8910
|
}
|
|
8764
8911
|
});
|
|
@@ -9408,7 +9555,7 @@ var init_scope_extras2 = __esm({
|
|
|
9408
9555
|
};
|
|
9409
9556
|
}
|
|
9410
9557
|
});
|
|
9411
|
-
var target10, project10,
|
|
9558
|
+
var target10, project10, globalLayout10, globalCapabilities8, descriptor10;
|
|
9412
9559
|
var init_copilot2 = __esm({
|
|
9413
9560
|
"src/targets/copilot/index.ts"() {
|
|
9414
9561
|
init_generator11();
|
|
@@ -9462,7 +9609,7 @@ var init_copilot2 = __esm({
|
|
|
9462
9609
|
}
|
|
9463
9610
|
}
|
|
9464
9611
|
};
|
|
9465
|
-
|
|
9612
|
+
globalLayout10 = {
|
|
9466
9613
|
rootInstructionPath: COPILOT_GLOBAL_INSTRUCTIONS,
|
|
9467
9614
|
renderPrimaryRootInstruction: renderCopilotGlobalInstructions,
|
|
9468
9615
|
outputFamilies: [
|
|
@@ -9568,7 +9715,7 @@ var init_copilot2 = __esm({
|
|
|
9568
9715
|
COPILOT_GLOBAL_PROMPTS_DIR,
|
|
9569
9716
|
COPILOT_GLOBAL_AGENTS_SKILLS_DIR
|
|
9570
9717
|
],
|
|
9571
|
-
layout:
|
|
9718
|
+
layout: globalLayout10,
|
|
9572
9719
|
scopeExtras: generateCopilotGlobalExtras
|
|
9573
9720
|
},
|
|
9574
9721
|
importer: {
|
|
@@ -9937,7 +10084,7 @@ var init_settings = __esm({
|
|
|
9937
10084
|
});
|
|
9938
10085
|
|
|
9939
10086
|
// src/targets/crush/index.ts
|
|
9940
|
-
var target11, project11,
|
|
10087
|
+
var target11, project11, globalLayout11, capabilities4, globalCapabilities9, descriptor11;
|
|
9941
10088
|
var init_crush2 = __esm({
|
|
9942
10089
|
"src/targets/crush/index.ts"() {
|
|
9943
10090
|
init_command_skill();
|
|
@@ -9982,7 +10129,7 @@ var init_crush2 = __esm({
|
|
|
9982
10129
|
}
|
|
9983
10130
|
}
|
|
9984
10131
|
};
|
|
9985
|
-
|
|
10132
|
+
globalLayout11 = {
|
|
9986
10133
|
rootInstructionPath: CRUSH_GLOBAL_ROOT_FILE,
|
|
9987
10134
|
skillDir: CRUSH_GLOBAL_SKILLS_DIR,
|
|
9988
10135
|
managedOutputs: {
|
|
@@ -10055,7 +10202,7 @@ var init_crush2 = __esm({
|
|
|
10055
10202
|
globalSupport: {
|
|
10056
10203
|
capabilities: globalCapabilities9,
|
|
10057
10204
|
detectionPaths: [CRUSH_GLOBAL_ROOT_FILE, CRUSH_GLOBAL_CONFIG_FILE, CRUSH_GLOBAL_SKILLS_DIR],
|
|
10058
|
-
layout:
|
|
10205
|
+
layout: globalLayout11
|
|
10059
10206
|
},
|
|
10060
10207
|
mergeGeneratedOutputContent(existing, pending, newContent, resolvedPath) {
|
|
10061
10208
|
const base = pending?.content ?? existing;
|
|
@@ -10637,20 +10784,20 @@ async function hasGlobalCursorArtifacts(projectRoot) {
|
|
|
10637
10784
|
const candidates = [
|
|
10638
10785
|
join(projectRoot, CURSOR_DOT_CURSOR_AGENTS),
|
|
10639
10786
|
join(projectRoot, CURSOR_GLOBAL_USER_RULES),
|
|
10640
|
-
join(projectRoot,
|
|
10787
|
+
join(projectRoot, CURSOR_MCP),
|
|
10641
10788
|
join(projectRoot, CURSOR_HOOKS),
|
|
10642
10789
|
join(projectRoot, CURSOR_IGNORE),
|
|
10643
|
-
join(projectRoot,
|
|
10644
|
-
join(projectRoot,
|
|
10790
|
+
join(projectRoot, CURSOR_SKILLS_DIR),
|
|
10791
|
+
join(projectRoot, CURSOR_AGENTS_DIR),
|
|
10645
10792
|
join(projectRoot, CURSOR_COMMANDS_DIR)
|
|
10646
10793
|
];
|
|
10647
10794
|
for (const p of candidates) {
|
|
10648
10795
|
const stat5 = await readFileSafe(p);
|
|
10649
10796
|
if (stat5 !== null && stat5.trim() !== "") return true;
|
|
10650
10797
|
}
|
|
10651
|
-
const skillFiles = await readDirRecursive(join(projectRoot,
|
|
10798
|
+
const skillFiles = await readDirRecursive(join(projectRoot, CURSOR_SKILLS_DIR));
|
|
10652
10799
|
if (skillFiles.some((f) => f.endsWith(".md"))) return true;
|
|
10653
|
-
const agentFiles = await readDirRecursive(join(projectRoot,
|
|
10800
|
+
const agentFiles = await readDirRecursive(join(projectRoot, CURSOR_AGENTS_DIR));
|
|
10654
10801
|
if (agentFiles.some((f) => f.endsWith(".md"))) return true;
|
|
10655
10802
|
const commandFiles = await readDirRecursive(join(projectRoot, CURSOR_COMMANDS_DIR));
|
|
10656
10803
|
if (commandFiles.some((f) => f.endsWith(".md"))) return true;
|
|
@@ -10707,7 +10854,7 @@ async function importGlobalDotCursorAgents(projectRoot, results, normalize) {
|
|
|
10707
10854
|
});
|
|
10708
10855
|
}
|
|
10709
10856
|
async function importGlobalMcp(projectRoot, results) {
|
|
10710
|
-
const mcpPath = join(projectRoot,
|
|
10857
|
+
const mcpPath = join(projectRoot, CURSOR_MCP);
|
|
10711
10858
|
const content = await readFileSafe(mcpPath);
|
|
10712
10859
|
if (content === null || content.trim() === "") return;
|
|
10713
10860
|
let parsed;
|
|
@@ -10728,7 +10875,7 @@ async function importGlobalMcp(projectRoot, results) {
|
|
|
10728
10875
|
});
|
|
10729
10876
|
}
|
|
10730
10877
|
async function importGlobalAgents(projectRoot, results, normalize) {
|
|
10731
|
-
const agentsDir = join(projectRoot,
|
|
10878
|
+
const agentsDir = join(projectRoot, CURSOR_AGENTS_DIR);
|
|
10732
10879
|
const destDir = join(projectRoot, CURSOR_CANONICAL_AGENTS_DIR);
|
|
10733
10880
|
results.push(
|
|
10734
10881
|
...await importFileDirectory({
|
|
@@ -10777,7 +10924,7 @@ async function importFromCursorGlobalExports(projectRoot) {
|
|
|
10777
10924
|
if (!rootWritten) rootWritten = await importGlobalUserRules(projectRoot, results, normalize);
|
|
10778
10925
|
if (!rootWritten) await importGlobalDotCursorAgents(projectRoot, results, normalize);
|
|
10779
10926
|
await importGlobalMcp(projectRoot, results);
|
|
10780
|
-
await importSkills3(projectRoot, results, normalize,
|
|
10927
|
+
await importSkills3(projectRoot, results, normalize, CURSOR_SKILLS_DIR);
|
|
10781
10928
|
await importGlobalAgents(projectRoot, results, normalize);
|
|
10782
10929
|
await importGlobalCommands(projectRoot, results, normalize);
|
|
10783
10930
|
await importSettings2(projectRoot, results);
|
|
@@ -10951,7 +11098,7 @@ var init_lint9 = __esm({
|
|
|
10951
11098
|
});
|
|
10952
11099
|
|
|
10953
11100
|
// src/targets/cursor/index.ts
|
|
10954
|
-
var target12, project12,
|
|
11101
|
+
var target12, project12, globalLayout12, globalCapabilities10, descriptor12;
|
|
10955
11102
|
var init_cursor2 = __esm({
|
|
10956
11103
|
"src/targets/cursor/index.ts"() {
|
|
10957
11104
|
init_generator14();
|
|
@@ -11001,7 +11148,7 @@ var init_cursor2 = __esm({
|
|
|
11001
11148
|
}
|
|
11002
11149
|
}
|
|
11003
11150
|
};
|
|
11004
|
-
|
|
11151
|
+
globalLayout12 = {
|
|
11005
11152
|
rootInstructionPath: CURSOR_GENERAL_RULE,
|
|
11006
11153
|
outputFamilies: [
|
|
11007
11154
|
{
|
|
@@ -11010,18 +11157,13 @@ var init_cursor2 = __esm({
|
|
|
11010
11157
|
explicitPaths: [CURSOR_COMPAT_AGENTS, CURSOR_DOT_CURSOR_AGENTS]
|
|
11011
11158
|
}
|
|
11012
11159
|
],
|
|
11013
|
-
skillDir:
|
|
11160
|
+
skillDir: CURSOR_SKILLS_DIR,
|
|
11014
11161
|
managedOutputs: {
|
|
11015
|
-
dirs: [
|
|
11016
|
-
CURSOR_RULES_DIR,
|
|
11017
|
-
CURSOR_COMMANDS_DIR,
|
|
11018
|
-
CURSOR_GLOBAL_AGENTS_DIR,
|
|
11019
|
-
CURSOR_GLOBAL_SKILLS_DIR
|
|
11020
|
-
],
|
|
11162
|
+
dirs: [CURSOR_RULES_DIR, CURSOR_COMMANDS_DIR, CURSOR_AGENTS_DIR, CURSOR_SKILLS_DIR],
|
|
11021
11163
|
files: [
|
|
11022
11164
|
CURSOR_GENERAL_RULE,
|
|
11023
11165
|
CURSOR_DOT_CURSOR_AGENTS,
|
|
11024
|
-
|
|
11166
|
+
CURSOR_MCP,
|
|
11025
11167
|
CURSOR_HOOKS,
|
|
11026
11168
|
CURSOR_IGNORE,
|
|
11027
11169
|
CURSOR_GLOBAL_USER_RULES
|
|
@@ -11050,7 +11192,7 @@ var init_cursor2 = __esm({
|
|
|
11050
11192
|
return `${CURSOR_COMMANDS_DIR}/${name}.md`;
|
|
11051
11193
|
},
|
|
11052
11194
|
agentPath(name, _config) {
|
|
11053
|
-
return `${
|
|
11195
|
+
return `${CURSOR_AGENTS_DIR}/${name}.md`;
|
|
11054
11196
|
}
|
|
11055
11197
|
}
|
|
11056
11198
|
};
|
|
@@ -11102,11 +11244,11 @@ var init_cursor2 = __esm({
|
|
|
11102
11244
|
CURSOR_HOOKS,
|
|
11103
11245
|
CURSOR_IGNORE,
|
|
11104
11246
|
CURSOR_SKILLS_DIR,
|
|
11105
|
-
|
|
11247
|
+
CURSOR_AGENTS_DIR,
|
|
11106
11248
|
CURSOR_COMMANDS_DIR,
|
|
11107
11249
|
CURSOR_GLOBAL_USER_RULES
|
|
11108
11250
|
],
|
|
11109
|
-
layout:
|
|
11251
|
+
layout: globalLayout12
|
|
11110
11252
|
},
|
|
11111
11253
|
importer: {
|
|
11112
11254
|
// Project-only declarable features. Rules/mcp/skills/settings/ignore stay
|
|
@@ -11265,7 +11407,7 @@ var init_lint10 = __esm({
|
|
|
11265
11407
|
});
|
|
11266
11408
|
|
|
11267
11409
|
// src/targets/deepagents-cli/index.ts
|
|
11268
|
-
var target13, project13,
|
|
11410
|
+
var target13, project13, globalLayout13, capabilities5, globalCapabilities11, descriptor13;
|
|
11269
11411
|
var init_deepagents_cli2 = __esm({
|
|
11270
11412
|
"src/targets/deepagents-cli/index.ts"() {
|
|
11271
11413
|
init_command_skill();
|
|
@@ -11305,7 +11447,7 @@ var init_deepagents_cli2 = __esm({
|
|
|
11305
11447
|
}
|
|
11306
11448
|
}
|
|
11307
11449
|
};
|
|
11308
|
-
|
|
11450
|
+
globalLayout13 = {
|
|
11309
11451
|
rootInstructionPath: DEEPAGENTS_CLI_GLOBAL_ROOT_FILE,
|
|
11310
11452
|
skillDir: DEEPAGENTS_CLI_GLOBAL_SKILLS_DIR,
|
|
11311
11453
|
managedOutputs: {
|
|
@@ -11376,7 +11518,7 @@ var init_deepagents_cli2 = __esm({
|
|
|
11376
11518
|
globalSupport: {
|
|
11377
11519
|
capabilities: globalCapabilities11,
|
|
11378
11520
|
detectionPaths: [DEEPAGENTS_CLI_GLOBAL_ROOT_FILE, DEEPAGENTS_CLI_GLOBAL_MCP_FILE],
|
|
11379
|
-
layout:
|
|
11521
|
+
layout: globalLayout13
|
|
11380
11522
|
},
|
|
11381
11523
|
importer: {
|
|
11382
11524
|
rules: {
|
|
@@ -11598,7 +11740,7 @@ var init_lint11 = __esm({
|
|
|
11598
11740
|
});
|
|
11599
11741
|
|
|
11600
11742
|
// src/targets/factory-droid/index.ts
|
|
11601
|
-
var target14, project14,
|
|
11743
|
+
var target14, project14, globalLayout14, capabilities6, descriptor14;
|
|
11602
11744
|
var init_factory_droid2 = __esm({
|
|
11603
11745
|
"src/targets/factory-droid/index.ts"() {
|
|
11604
11746
|
init_generator16();
|
|
@@ -11637,7 +11779,7 @@ var init_factory_droid2 = __esm({
|
|
|
11637
11779
|
}
|
|
11638
11780
|
}
|
|
11639
11781
|
};
|
|
11640
|
-
|
|
11782
|
+
globalLayout14 = {
|
|
11641
11783
|
rootInstructionPath: FACTORY_DROID_GLOBAL_ROOT_FILE,
|
|
11642
11784
|
skillDir: FACTORY_DROID_GLOBAL_SKILLS_DIR,
|
|
11643
11785
|
managedOutputs: {
|
|
@@ -11704,7 +11846,7 @@ var init_factory_droid2 = __esm({
|
|
|
11704
11846
|
FACTORY_DROID_GLOBAL_MCP_FILE,
|
|
11705
11847
|
FACTORY_DROID_GLOBAL_DROIDS_DIR
|
|
11706
11848
|
],
|
|
11707
|
-
layout:
|
|
11849
|
+
layout: globalLayout14
|
|
11708
11850
|
},
|
|
11709
11851
|
importer: {
|
|
11710
11852
|
rules: {
|
|
@@ -12647,7 +12789,7 @@ var init_scoped_settings_emit = __esm({
|
|
|
12647
12789
|
});
|
|
12648
12790
|
|
|
12649
12791
|
// src/targets/gemini-cli/index.ts
|
|
12650
|
-
var target15, project15,
|
|
12792
|
+
var target15, project15, globalLayout15, globalCapabilities12, descriptor15;
|
|
12651
12793
|
var init_gemini_cli2 = __esm({
|
|
12652
12794
|
"src/targets/gemini-cli/index.ts"() {
|
|
12653
12795
|
init_generator18();
|
|
@@ -12717,7 +12859,7 @@ var init_gemini_cli2 = __esm({
|
|
|
12717
12859
|
}
|
|
12718
12860
|
}
|
|
12719
12861
|
};
|
|
12720
|
-
|
|
12862
|
+
globalLayout15 = {
|
|
12721
12863
|
rootInstructionPath: GEMINI_GLOBAL_ROOT,
|
|
12722
12864
|
outputFamilies: [
|
|
12723
12865
|
{ id: "compat-agents", kind: "additional", explicitPaths: [GEMINI_GLOBAL_COMPAT_AGENTS] }
|
|
@@ -12828,7 +12970,7 @@ var init_gemini_cli2 = __esm({
|
|
|
12828
12970
|
GEMINI_GLOBAL_SKILLS_DIR,
|
|
12829
12971
|
GEMINI_GLOBAL_AGENTS_DIR
|
|
12830
12972
|
],
|
|
12831
|
-
layout:
|
|
12973
|
+
layout: globalLayout15
|
|
12832
12974
|
},
|
|
12833
12975
|
importer: {
|
|
12834
12976
|
rules: {
|
|
@@ -12849,7 +12991,8 @@ var init_gemini_cli2 = __esm({
|
|
|
12849
12991
|
}
|
|
12850
12992
|
},
|
|
12851
12993
|
buildImportPaths: buildGeminiCliImportPaths,
|
|
12852
|
-
detectionPaths: ["GEMINI.md", ".gemini"]
|
|
12994
|
+
detectionPaths: ["GEMINI.md", ".gemini"],
|
|
12995
|
+
conversionDefaults: { agentsToSkills: false }
|
|
12853
12996
|
};
|
|
12854
12997
|
}
|
|
12855
12998
|
});
|
|
@@ -12976,7 +13119,7 @@ var init_lint13 = __esm({
|
|
|
12976
13119
|
});
|
|
12977
13120
|
|
|
12978
13121
|
// src/targets/goose/index.ts
|
|
12979
|
-
var target16, project16,
|
|
13122
|
+
var target16, project16, globalLayout16, capabilities7, descriptor16;
|
|
12980
13123
|
var init_goose2 = __esm({
|
|
12981
13124
|
"src/targets/goose/index.ts"() {
|
|
12982
13125
|
init_command_skill();
|
|
@@ -13017,7 +13160,7 @@ var init_goose2 = __esm({
|
|
|
13017
13160
|
}
|
|
13018
13161
|
}
|
|
13019
13162
|
};
|
|
13020
|
-
|
|
13163
|
+
globalLayout16 = {
|
|
13021
13164
|
rootInstructionPath: GOOSE_GLOBAL_ROOT_FILE,
|
|
13022
13165
|
skillDir: GOOSE_GLOBAL_SKILLS_DIR,
|
|
13023
13166
|
managedOutputs: {
|
|
@@ -13027,9 +13170,6 @@ var init_goose2 = __esm({
|
|
|
13027
13170
|
rewriteGeneratedPath(path) {
|
|
13028
13171
|
if (path === GOOSE_ROOT_FILE) return GOOSE_GLOBAL_ROOT_FILE;
|
|
13029
13172
|
if (path === GOOSE_IGNORE) return GOOSE_GLOBAL_IGNORE;
|
|
13030
|
-
if (path.startsWith(`${GOOSE_SKILLS_DIR}/`)) {
|
|
13031
|
-
return path;
|
|
13032
|
-
}
|
|
13033
13173
|
return path;
|
|
13034
13174
|
},
|
|
13035
13175
|
mirrorGlobalPath(path, activeTargets) {
|
|
@@ -13080,7 +13220,7 @@ var init_goose2 = __esm({
|
|
|
13080
13220
|
globalSupport: {
|
|
13081
13221
|
capabilities: capabilities7,
|
|
13082
13222
|
detectionPaths: [GOOSE_GLOBAL_ROOT_FILE, GOOSE_GLOBAL_IGNORE, GOOSE_GLOBAL_SKILLS_DIR],
|
|
13083
|
-
layout:
|
|
13223
|
+
layout: globalLayout16
|
|
13084
13224
|
},
|
|
13085
13225
|
importer: {
|
|
13086
13226
|
rules: {
|
|
@@ -13109,7 +13249,8 @@ var init_goose2 = __esm({
|
|
|
13109
13249
|
".agents/skills/": "consumer"
|
|
13110
13250
|
},
|
|
13111
13251
|
buildImportPaths: buildGooseImportPaths,
|
|
13112
|
-
detectionPaths: [GOOSE_ROOT_FILE, GOOSE_IGNORE]
|
|
13252
|
+
detectionPaths: [GOOSE_ROOT_FILE, GOOSE_IGNORE],
|
|
13253
|
+
conversionDefaults: { commandsToSkills: true, agentsToSkills: true }
|
|
13113
13254
|
};
|
|
13114
13255
|
}
|
|
13115
13256
|
});
|
|
@@ -13505,7 +13646,7 @@ var init_lint15 = __esm({
|
|
|
13505
13646
|
});
|
|
13506
13647
|
|
|
13507
13648
|
// src/targets/junie/index.ts
|
|
13508
|
-
var target18, project18,
|
|
13649
|
+
var target18, project18, globalLayout17, globalCapabilities13, descriptor18;
|
|
13509
13650
|
var init_junie2 = __esm({
|
|
13510
13651
|
"src/targets/junie/index.ts"() {
|
|
13511
13652
|
init_generator21();
|
|
@@ -13545,7 +13686,7 @@ var init_junie2 = __esm({
|
|
|
13545
13686
|
}
|
|
13546
13687
|
}
|
|
13547
13688
|
};
|
|
13548
|
-
|
|
13689
|
+
globalLayout17 = {
|
|
13549
13690
|
rootInstructionPath: JUNIE_GLOBAL_AGENTS_MD,
|
|
13550
13691
|
renderPrimaryRootInstruction: renderJunieGlobalInstructions,
|
|
13551
13692
|
skillDir: JUNIE_GLOBAL_SKILLS_DIR,
|
|
@@ -13643,7 +13784,7 @@ var init_junie2 = __esm({
|
|
|
13643
13784
|
JUNIE_GLOBAL_COMMANDS_DIR,
|
|
13644
13785
|
JUNIE_GLOBAL_MCP_FILE
|
|
13645
13786
|
],
|
|
13646
|
-
layout:
|
|
13787
|
+
layout: globalLayout17
|
|
13647
13788
|
},
|
|
13648
13789
|
importer: {
|
|
13649
13790
|
rules: {
|
|
@@ -14040,7 +14181,7 @@ var init_lint16 = __esm({
|
|
|
14040
14181
|
});
|
|
14041
14182
|
|
|
14042
14183
|
// src/targets/kilo-code/index.ts
|
|
14043
|
-
var target19, project19,
|
|
14184
|
+
var target19, project19, globalLayout18, capabilities9, descriptor19;
|
|
14044
14185
|
var init_kilo_code2 = __esm({
|
|
14045
14186
|
"src/targets/kilo-code/index.ts"() {
|
|
14046
14187
|
init_generator22();
|
|
@@ -14081,7 +14222,7 @@ var init_kilo_code2 = __esm({
|
|
|
14081
14222
|
}
|
|
14082
14223
|
}
|
|
14083
14224
|
};
|
|
14084
|
-
|
|
14225
|
+
globalLayout18 = {
|
|
14085
14226
|
rootInstructionPath: KILO_CODE_GLOBAL_AGENTS_MD,
|
|
14086
14227
|
skillDir: KILO_CODE_GLOBAL_SKILLS_DIR,
|
|
14087
14228
|
managedOutputs: {
|
|
@@ -14152,7 +14293,7 @@ var init_kilo_code2 = __esm({
|
|
|
14152
14293
|
KILO_CODE_GLOBAL_MCP_FILE,
|
|
14153
14294
|
KILO_CODE_GLOBAL_IGNORE
|
|
14154
14295
|
],
|
|
14155
|
-
layout:
|
|
14296
|
+
layout: globalLayout18
|
|
14156
14297
|
},
|
|
14157
14298
|
importer: {
|
|
14158
14299
|
rules: [
|
|
@@ -14562,7 +14703,7 @@ var init_lint17 = __esm({
|
|
|
14562
14703
|
});
|
|
14563
14704
|
|
|
14564
14705
|
// src/targets/kiro/index.ts
|
|
14565
|
-
var target20, project20,
|
|
14706
|
+
var target20, project20, globalLayout19, globalCapabilities14, descriptor20;
|
|
14566
14707
|
var init_kiro2 = __esm({
|
|
14567
14708
|
"src/targets/kiro/index.ts"() {
|
|
14568
14709
|
init_command_skill();
|
|
@@ -14604,7 +14745,7 @@ var init_kiro2 = __esm({
|
|
|
14604
14745
|
}
|
|
14605
14746
|
}
|
|
14606
14747
|
};
|
|
14607
|
-
|
|
14748
|
+
globalLayout19 = {
|
|
14608
14749
|
rootInstructionPath: KIRO_GLOBAL_STEERING_AGENTS_MD,
|
|
14609
14750
|
skillDir: KIRO_GLOBAL_SKILLS_DIR,
|
|
14610
14751
|
managedOutputs: {
|
|
@@ -14703,7 +14844,7 @@ var init_kiro2 = __esm({
|
|
|
14703
14844
|
KIRO_GLOBAL_MCP_FILE,
|
|
14704
14845
|
KIRO_GLOBAL_IGNORE
|
|
14705
14846
|
],
|
|
14706
|
-
layout:
|
|
14847
|
+
layout: globalLayout19
|
|
14707
14848
|
},
|
|
14708
14849
|
importer: {
|
|
14709
14850
|
agents: {
|
|
@@ -14737,7 +14878,8 @@ var init_kiro2 = __esm({
|
|
|
14737
14878
|
KIRO_HOOKS_DIR,
|
|
14738
14879
|
KIRO_MCP_FILE,
|
|
14739
14880
|
KIRO_IGNORE
|
|
14740
|
-
]
|
|
14881
|
+
],
|
|
14882
|
+
conversionDefaults: { commandsToSkills: true }
|
|
14741
14883
|
};
|
|
14742
14884
|
}
|
|
14743
14885
|
});
|
|
@@ -15036,7 +15178,7 @@ var init_lint18 = __esm({
|
|
|
15036
15178
|
});
|
|
15037
15179
|
|
|
15038
15180
|
// src/targets/opencode/index.ts
|
|
15039
|
-
var target21, project21,
|
|
15181
|
+
var target21, project21, globalLayout20, capabilities10, descriptor21;
|
|
15040
15182
|
var init_opencode2 = __esm({
|
|
15041
15183
|
"src/targets/opencode/index.ts"() {
|
|
15042
15184
|
init_generator24();
|
|
@@ -15076,7 +15218,7 @@ var init_opencode2 = __esm({
|
|
|
15076
15218
|
}
|
|
15077
15219
|
}
|
|
15078
15220
|
};
|
|
15079
|
-
|
|
15221
|
+
globalLayout20 = {
|
|
15080
15222
|
rootInstructionPath: OPENCODE_GLOBAL_AGENTS_MD,
|
|
15081
15223
|
skillDir: OPENCODE_GLOBAL_SKILLS_DIR,
|
|
15082
15224
|
managedOutputs: {
|
|
@@ -15148,7 +15290,7 @@ var init_opencode2 = __esm({
|
|
|
15148
15290
|
OPENCODE_GLOBAL_SKILLS_DIR,
|
|
15149
15291
|
OPENCODE_GLOBAL_CONFIG_FILE
|
|
15150
15292
|
],
|
|
15151
|
-
layout:
|
|
15293
|
+
layout: globalLayout20
|
|
15152
15294
|
},
|
|
15153
15295
|
importer: {
|
|
15154
15296
|
rules: [
|
|
@@ -15341,7 +15483,7 @@ var init_lint19 = __esm({
|
|
|
15341
15483
|
});
|
|
15342
15484
|
|
|
15343
15485
|
// src/targets/pi-agent/index.ts
|
|
15344
|
-
var target22, project22,
|
|
15486
|
+
var target22, project22, globalLayout21, capabilities11, descriptor22;
|
|
15345
15487
|
var init_pi_agent2 = __esm({
|
|
15346
15488
|
"src/targets/pi-agent/index.ts"() {
|
|
15347
15489
|
init_command_skill();
|
|
@@ -15381,7 +15523,7 @@ var init_pi_agent2 = __esm({
|
|
|
15381
15523
|
}
|
|
15382
15524
|
}
|
|
15383
15525
|
};
|
|
15384
|
-
|
|
15526
|
+
globalLayout21 = {
|
|
15385
15527
|
rootInstructionPath: PI_AGENT_GLOBAL_ROOT_FILE,
|
|
15386
15528
|
skillDir: PI_AGENT_GLOBAL_SKILLS_DIR,
|
|
15387
15529
|
managedOutputs: {
|
|
@@ -15444,7 +15586,7 @@ var init_pi_agent2 = __esm({
|
|
|
15444
15586
|
globalSupport: {
|
|
15445
15587
|
capabilities: capabilities11,
|
|
15446
15588
|
detectionPaths: [PI_AGENT_GLOBAL_ROOT_FILE],
|
|
15447
|
-
layout:
|
|
15589
|
+
layout: globalLayout21
|
|
15448
15590
|
},
|
|
15449
15591
|
importer: {
|
|
15450
15592
|
rules: {
|
|
@@ -15590,7 +15732,7 @@ var init_linter23 = __esm({
|
|
|
15590
15732
|
});
|
|
15591
15733
|
|
|
15592
15734
|
// src/targets/qwen-code/index.ts
|
|
15593
|
-
var target23, project23,
|
|
15735
|
+
var target23, project23, globalLayout22, capabilities12, globalCapabilities15, descriptor23;
|
|
15594
15736
|
var init_qwen_code2 = __esm({
|
|
15595
15737
|
"src/targets/qwen-code/index.ts"() {
|
|
15596
15738
|
init_generator26();
|
|
@@ -15629,7 +15771,7 @@ var init_qwen_code2 = __esm({
|
|
|
15629
15771
|
}
|
|
15630
15772
|
}
|
|
15631
15773
|
};
|
|
15632
|
-
|
|
15774
|
+
globalLayout22 = {
|
|
15633
15775
|
rootInstructionPath: QWEN_GLOBAL_ROOT,
|
|
15634
15776
|
skillDir: QWEN_GLOBAL_SKILLS_DIR,
|
|
15635
15777
|
managedOutputs: {
|
|
@@ -15710,7 +15852,7 @@ var init_qwen_code2 = __esm({
|
|
|
15710
15852
|
QWEN_GLOBAL_AGENTS_DIR,
|
|
15711
15853
|
QWEN_GLOBAL_SKILLS_DIR
|
|
15712
15854
|
],
|
|
15713
|
-
layout:
|
|
15855
|
+
layout: globalLayout22
|
|
15714
15856
|
},
|
|
15715
15857
|
importer: {
|
|
15716
15858
|
rules: [
|
|
@@ -16199,7 +16341,7 @@ function computeStatus5(existing, content) {
|
|
|
16199
16341
|
if (existing !== content) return "updated";
|
|
16200
16342
|
return "unchanged";
|
|
16201
16343
|
}
|
|
16202
|
-
var target25, project25, generateRooGlobalExtras,
|
|
16344
|
+
var target25, project25, generateRooGlobalExtras, globalLayout23, globalCapabilities16, descriptor25;
|
|
16203
16345
|
var init_roo_code2 = __esm({
|
|
16204
16346
|
"src/targets/roo-code/index.ts"() {
|
|
16205
16347
|
init_fs();
|
|
@@ -16262,7 +16404,7 @@ var init_roo_code2 = __esm({
|
|
|
16262
16404
|
}
|
|
16263
16405
|
];
|
|
16264
16406
|
};
|
|
16265
|
-
|
|
16407
|
+
globalLayout23 = {
|
|
16266
16408
|
rootInstructionPath: ROO_CODE_GLOBAL_AGENTS_MD,
|
|
16267
16409
|
skillDir: ROO_CODE_GLOBAL_SKILLS_DIR,
|
|
16268
16410
|
managedOutputs: {
|
|
@@ -16363,7 +16505,7 @@ var init_roo_code2 = __esm({
|
|
|
16363
16505
|
ROO_CODE_GLOBAL_AGENTS_MD,
|
|
16364
16506
|
ROO_CODE_GLOBAL_MODES_FILE
|
|
16365
16507
|
],
|
|
16366
|
-
layout:
|
|
16508
|
+
layout: globalLayout23,
|
|
16367
16509
|
scopeExtras: generateRooGlobalExtras
|
|
16368
16510
|
},
|
|
16369
16511
|
importer: {
|
|
@@ -16555,7 +16697,7 @@ var init_lint21 = __esm({
|
|
|
16555
16697
|
});
|
|
16556
16698
|
|
|
16557
16699
|
// src/targets/rovodev/index.ts
|
|
16558
|
-
var target26, project26,
|
|
16700
|
+
var target26, project26, globalLayout24, capabilities14, globalCapabilities17, descriptor26;
|
|
16559
16701
|
var init_rovodev2 = __esm({
|
|
16560
16702
|
"src/targets/rovodev/index.ts"() {
|
|
16561
16703
|
init_command_skill();
|
|
@@ -16596,7 +16738,7 @@ var init_rovodev2 = __esm({
|
|
|
16596
16738
|
}
|
|
16597
16739
|
}
|
|
16598
16740
|
};
|
|
16599
|
-
|
|
16741
|
+
globalLayout24 = {
|
|
16600
16742
|
rootInstructionPath: ROVODEV_GLOBAL_ROOT_FILE,
|
|
16601
16743
|
skillDir: ROVODEV_GLOBAL_SKILLS_DIR,
|
|
16602
16744
|
managedOutputs: {
|
|
@@ -16670,7 +16812,7 @@ var init_rovodev2 = __esm({
|
|
|
16670
16812
|
globalSupport: {
|
|
16671
16813
|
capabilities: globalCapabilities17,
|
|
16672
16814
|
detectionPaths: [ROVODEV_GLOBAL_DIR, ROVODEV_GLOBAL_ROOT_FILE, ROVODEV_GLOBAL_SKILLS_DIR],
|
|
16673
|
-
layout:
|
|
16815
|
+
layout: globalLayout24
|
|
16674
16816
|
},
|
|
16675
16817
|
importer: {
|
|
16676
16818
|
rules: {
|
|
@@ -16839,7 +16981,7 @@ var init_linter27 = __esm({
|
|
|
16839
16981
|
});
|
|
16840
16982
|
|
|
16841
16983
|
// src/targets/trae/index.ts
|
|
16842
|
-
var target27, project27,
|
|
16984
|
+
var target27, project27, globalLayout25, globalCapabilities18, descriptor27;
|
|
16843
16985
|
var init_trae2 = __esm({
|
|
16844
16986
|
"src/targets/trae/index.ts"() {
|
|
16845
16987
|
init_generator30();
|
|
@@ -16876,7 +17018,7 @@ var init_trae2 = __esm({
|
|
|
16876
17018
|
}
|
|
16877
17019
|
}
|
|
16878
17020
|
};
|
|
16879
|
-
|
|
17021
|
+
globalLayout25 = {
|
|
16880
17022
|
rootInstructionPath: TRAE_GLOBAL_ROOT_RULE,
|
|
16881
17023
|
skillDir: TRAE_GLOBAL_SKILLS_DIR,
|
|
16882
17024
|
managedOutputs: {
|
|
@@ -16959,7 +17101,7 @@ var init_trae2 = __esm({
|
|
|
16959
17101
|
TRAE_GLOBAL_SKILLS_DIR,
|
|
16960
17102
|
TRAE_GLOBAL_MCP_FILE
|
|
16961
17103
|
],
|
|
16962
|
-
layout:
|
|
17104
|
+
layout: globalLayout25
|
|
16963
17105
|
},
|
|
16964
17106
|
importer: {
|
|
16965
17107
|
mcp: {
|
|
@@ -17106,7 +17248,7 @@ var init_lint22 = __esm({
|
|
|
17106
17248
|
});
|
|
17107
17249
|
|
|
17108
17250
|
// src/targets/warp/index.ts
|
|
17109
|
-
var target28, project28,
|
|
17251
|
+
var target28, project28, globalLayout26, capabilities15, globalCapabilities19, descriptor28;
|
|
17110
17252
|
var init_warp2 = __esm({
|
|
17111
17253
|
"src/targets/warp/index.ts"() {
|
|
17112
17254
|
init_command_skill();
|
|
@@ -17147,7 +17289,7 @@ var init_warp2 = __esm({
|
|
|
17147
17289
|
}
|
|
17148
17290
|
}
|
|
17149
17291
|
};
|
|
17150
|
-
|
|
17292
|
+
globalLayout26 = {
|
|
17151
17293
|
rootInstructionPath: void 0,
|
|
17152
17294
|
skillDir: WARP_GLOBAL_SKILLS_DIR,
|
|
17153
17295
|
managedOutputs: {
|
|
@@ -17165,7 +17307,7 @@ var init_warp2 = __esm({
|
|
|
17165
17307
|
},
|
|
17166
17308
|
paths: {
|
|
17167
17309
|
rulePath() {
|
|
17168
|
-
return
|
|
17310
|
+
return null;
|
|
17169
17311
|
},
|
|
17170
17312
|
commandPath(name) {
|
|
17171
17313
|
return `${WARP_GLOBAL_SKILLS_DIR}/${commandSkillDirName(name)}/SKILL.md`;
|
|
@@ -17219,7 +17361,7 @@ var init_warp2 = __esm({
|
|
|
17219
17361
|
globalSupport: {
|
|
17220
17362
|
capabilities: globalCapabilities19,
|
|
17221
17363
|
detectionPaths: [WARP_GLOBAL_SKILLS_DIR],
|
|
17222
|
-
layout:
|
|
17364
|
+
layout: globalLayout26
|
|
17223
17365
|
},
|
|
17224
17366
|
importer: {
|
|
17225
17367
|
rules: {
|
|
@@ -17243,7 +17385,8 @@ var init_warp2 = __esm({
|
|
|
17243
17385
|
}
|
|
17244
17386
|
},
|
|
17245
17387
|
buildImportPaths: buildWarpImportPaths,
|
|
17246
|
-
detectionPaths: [WARP_ROOT_FILE, WARP_LEGACY_ROOT_FILE, WARP_MCP_FILE]
|
|
17388
|
+
detectionPaths: [WARP_ROOT_FILE, WARP_LEGACY_ROOT_FILE, WARP_MCP_FILE],
|
|
17389
|
+
conversionDefaults: { commandsToSkills: true, agentsToSkills: true }
|
|
17247
17390
|
};
|
|
17248
17391
|
}
|
|
17249
17392
|
});
|
|
@@ -17868,7 +18011,7 @@ function directoryScopedRuleDir2(globs) {
|
|
|
17868
18011
|
if (dirs.length !== globs.length) return null;
|
|
17869
18012
|
return dirs.every((dir) => dir === dirs[0]) ? dirs[0] : null;
|
|
17870
18013
|
}
|
|
17871
|
-
var target29, project29,
|
|
18014
|
+
var target29, project29, globalLayout27, globalCapabilities20, descriptor29;
|
|
17872
18015
|
var init_windsurf2 = __esm({
|
|
17873
18016
|
"src/targets/windsurf/index.ts"() {
|
|
17874
18017
|
init_generator33();
|
|
@@ -17922,7 +18065,7 @@ var init_windsurf2 = __esm({
|
|
|
17922
18065
|
}
|
|
17923
18066
|
}
|
|
17924
18067
|
};
|
|
17925
|
-
|
|
18068
|
+
globalLayout27 = {
|
|
17926
18069
|
rootInstructionPath: WINDSURF_GLOBAL_RULES,
|
|
17927
18070
|
skillDir: WINDSURF_GLOBAL_SKILLS_DIR,
|
|
17928
18071
|
managedOutputs: {
|
|
@@ -18026,10 +18169,11 @@ var init_windsurf2 = __esm({
|
|
|
18026
18169
|
WINDSURF_GLOBAL_MCP_FILE,
|
|
18027
18170
|
WINDSURF_GLOBAL_IGNORE
|
|
18028
18171
|
],
|
|
18029
|
-
layout:
|
|
18172
|
+
layout: globalLayout27
|
|
18030
18173
|
},
|
|
18031
18174
|
buildImportPaths: buildWindsurfImportPaths,
|
|
18032
|
-
detectionPaths: [".windsurfrules", ".windsurf"]
|
|
18175
|
+
detectionPaths: [".windsurfrules", ".windsurf"],
|
|
18176
|
+
conversionDefaults: { agentsToSkills: true }
|
|
18033
18177
|
};
|
|
18034
18178
|
}
|
|
18035
18179
|
});
|
|
@@ -18190,7 +18334,7 @@ function mergeZedSettings(existing, newContent) {
|
|
|
18190
18334
|
}
|
|
18191
18335
|
return JSON.stringify(base, null, 2);
|
|
18192
18336
|
}
|
|
18193
|
-
var target30, project30,
|
|
18337
|
+
var target30, project30, globalLayout28, capabilities16, globalCapabilities21, descriptor30;
|
|
18194
18338
|
var init_zed2 = __esm({
|
|
18195
18339
|
"src/targets/zed/index.ts"() {
|
|
18196
18340
|
init_generator34();
|
|
@@ -18223,7 +18367,7 @@ var init_zed2 = __esm({
|
|
|
18223
18367
|
}
|
|
18224
18368
|
}
|
|
18225
18369
|
};
|
|
18226
|
-
|
|
18370
|
+
globalLayout28 = {
|
|
18227
18371
|
rootInstructionPath: void 0,
|
|
18228
18372
|
managedOutputs: {
|
|
18229
18373
|
dirs: [],
|
|
@@ -18288,7 +18432,7 @@ var init_zed2 = __esm({
|
|
|
18288
18432
|
globalSupport: {
|
|
18289
18433
|
capabilities: globalCapabilities21,
|
|
18290
18434
|
detectionPaths: [ZED_GLOBAL_SETTINGS_FILE],
|
|
18291
|
-
layout:
|
|
18435
|
+
layout: globalLayout28
|
|
18292
18436
|
},
|
|
18293
18437
|
importer: {
|
|
18294
18438
|
rules: {
|