@cubis/foundry 0.3.76 → 0.3.77
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/cli/core.js +57 -0
- package/dist/cli/core.js.map +1 -1
- package/mcp/src/tools/skillTools.test.ts +34 -1
- package/package.json +1 -1
- package/src/cli/core.ts +66 -0
- package/workflows/skills/_schema/skill-platform-attributes.json +7 -0
- package/workflows/skills/deep-research/SKILL.md +81 -0
- package/workflows/skills/deep-research/evals/assertions.md +17 -0
- package/workflows/skills/deep-research/evals/evals.json +56 -0
- package/workflows/skills/deep-research/examples/01-latest-docs-check.md +12 -0
- package/workflows/skills/deep-research/examples/02-ecosystem-comparison.md +12 -0
- package/workflows/skills/deep-research/examples/03-research-to-implementation-handoff.md +12 -0
- package/workflows/skills/deep-research/references/comparison-checklist.md +57 -0
- package/workflows/skills/deep-research/references/research-output.md +69 -0
- package/workflows/skills/deep-research/references/source-ladder.md +81 -0
- package/workflows/skills/generated/skill-audit.json +11 -2
- package/workflows/skills/generated/skill-catalog.json +36 -4
- package/workflows/skills/skills_index.json +32 -0
- package/workflows/workflows/agent-environment-setup/generated/route-manifest.json +7 -7
- package/workflows/workflows/agent-environment-setup/manifest.json +27 -1
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/orchestrator.md +6 -5
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/project-planner.md +4 -3
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/agents/researcher.md +8 -4
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/accessibility.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/backend.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/create.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/database.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/debug.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/devops.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/implement-track.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/migrate.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/mobile.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/onboard.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/orchestrate.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/plan.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/refactor.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/release.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/review.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/security.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/test.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/commands/vercel.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/rules/GEMINI.md +13 -8
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/skills/deep-research/SKILL.md +89 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/skills/deep-research/evals/assertions.md +17 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/skills/deep-research/evals/evals.json +56 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/skills/deep-research/examples/01-latest-docs-check.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/skills/deep-research/examples/02-ecosystem-comparison.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/skills/deep-research/examples/03-research-to-implementation-handoff.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/skills/deep-research/references/comparison-checklist.md +57 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/skills/deep-research/references/research-output.md +69 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/skills/deep-research/references/source-ladder.md +81 -0
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/workflows/onboard.md +3 -3
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/workflows/orchestrate.md +2 -2
- package/workflows/workflows/agent-environment-setup/platforms/antigravity/workflows/plan.md +4 -4
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/orchestrator.md +6 -5
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/project-planner.md +4 -3
- package/workflows/workflows/agent-environment-setup/platforms/claude/agents/researcher.md +8 -4
- package/workflows/workflows/agent-environment-setup/platforms/claude/hooks/README.md +15 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/hooks/route-research-guard.mjs +39 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/hooks/settings.snippet.json +15 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/rules/CLAUDE.md +15 -8
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/SKILL.md +95 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/evals/assertions.md +17 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/evals/evals.json +56 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/examples/01-latest-docs-check.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/examples/02-ecosystem-comparison.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/examples/03-research-to-implementation-handoff.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/references/comparison-checklist.md +57 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/references/research-output.md +69 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/references/source-ladder.md +81 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/skills_index.json +32 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/workflows/onboard.md +3 -3
- package/workflows/workflows/agent-environment-setup/platforms/claude/workflows/orchestrate.md +2 -2
- package/workflows/workflows/agent-environment-setup/platforms/claude/workflows/plan.md +4 -4
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/orchestrator.md +6 -5
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/project-planner.md +4 -3
- package/workflows/workflows/agent-environment-setup/platforms/codex/agents/researcher.md +8 -4
- package/workflows/workflows/agent-environment-setup/platforms/codex/rules/AGENTS.md +13 -8
- package/workflows/workflows/agent-environment-setup/platforms/codex/skills/deep-research/SKILL.md +89 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/skills/deep-research/evals/assertions.md +17 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/skills/deep-research/evals/evals.json +56 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/skills/deep-research/examples/01-latest-docs-check.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/skills/deep-research/examples/02-ecosystem-comparison.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/skills/deep-research/examples/03-research-to-implementation-handoff.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/skills/deep-research/references/comparison-checklist.md +57 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/skills/deep-research/references/research-output.md +69 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/skills/deep-research/references/source-ladder.md +81 -0
- package/workflows/workflows/agent-environment-setup/platforms/codex/workflows/onboard.md +3 -3
- package/workflows/workflows/agent-environment-setup/platforms/codex/workflows/orchestrate.md +2 -2
- package/workflows/workflows/agent-environment-setup/platforms/codex/workflows/plan.md +4 -4
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/orchestrator.md +6 -5
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/project-planner.md +4 -3
- package/workflows/workflows/agent-environment-setup/platforms/copilot/agents/researcher.md +8 -4
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-accessibility.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-backend.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-create.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-database.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-debug.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-devops.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-implement-track.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-migrate.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-mobile.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-onboard.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-orchestrate.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-plan.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-refactor.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-release.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-review.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-security.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-test.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/prompts/workflow-vercel.prompt.md +2 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/rules/copilot-instructions.md +13 -8
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/SKILL.md +94 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/evals/assertions.md +17 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/evals/evals.json +56 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/examples/01-latest-docs-check.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/examples/02-ecosystem-comparison.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/examples/03-research-to-implementation-handoff.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/references/comparison-checklist.md +57 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/references/research-output.md +69 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/references/source-ladder.md +81 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/skills_index.json +32 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/workflows/onboard.md +3 -3
- package/workflows/workflows/agent-environment-setup/platforms/copilot/workflows/orchestrate.md +2 -2
- package/workflows/workflows/agent-environment-setup/platforms/copilot/workflows/plan.md +4 -4
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/accessibility.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/backend.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/create.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/database.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/debug.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/devops.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/implement-track.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/migrate.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/mobile.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/onboard.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/orchestrate.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/plan.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/refactor.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/release.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/review.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/security.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/test.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/commands/vercel.toml +2 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/rules/GEMINI.md +13 -8
- package/workflows/workflows/agent-environment-setup/platforms/gemini/skills/deep-research/SKILL.md +89 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/skills/deep-research/evals/assertions.md +17 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/skills/deep-research/evals/evals.json +56 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/skills/deep-research/examples/01-latest-docs-check.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/skills/deep-research/examples/02-ecosystem-comparison.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/skills/deep-research/examples/03-research-to-implementation-handoff.md +12 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/skills/deep-research/references/comparison-checklist.md +57 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/skills/deep-research/references/research-output.md +69 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/skills/deep-research/references/source-ladder.md +81 -0
- package/workflows/workflows/agent-environment-setup/platforms/gemini/workflows/onboard.md +3 -3
- package/workflows/workflows/agent-environment-setup/platforms/gemini/workflows/orchestrate.md +2 -2
- package/workflows/workflows/agent-environment-setup/platforms/gemini/workflows/plan.md +4 -4
- package/workflows/workflows/agent-environment-setup/shared/agents/orchestrator.md +2 -1
- package/workflows/workflows/agent-environment-setup/shared/agents/project-planner.md +2 -1
- package/workflows/workflows/agent-environment-setup/shared/agents/researcher.md +5 -1
- package/workflows/workflows/agent-environment-setup/shared/rules/STEERING.md +44 -13
- package/workflows/workflows/agent-environment-setup/shared/rules/overrides/claude.md +2 -0
- package/workflows/workflows/agent-environment-setup/shared/rules/overrides/gemini.md +20 -0
- package/workflows/workflows/agent-environment-setup/shared/workflows/onboard.md +1 -1
- package/workflows/workflows/agent-environment-setup/shared/workflows/orchestrate.md +1 -1
- package/workflows/workflows/agent-environment-setup/shared/workflows/plan.md +2 -2
package/dist/cli/core.js
CHANGED
|
@@ -137,17 +137,20 @@ const WORKFLOW_PROFILES = {
|
|
|
137
137
|
workflowDirs: [".claude/workflows"],
|
|
138
138
|
agentDirs: [".claude/agents"],
|
|
139
139
|
skillDirs: [".claude/skills"],
|
|
140
|
+
hookDirs: [".claude/hooks"],
|
|
140
141
|
ruleFilesByPriority: ["CLAUDE.md"],
|
|
141
142
|
},
|
|
142
143
|
global: {
|
|
143
144
|
workflowDirs: ["~/.claude/workflows"],
|
|
144
145
|
agentDirs: ["~/.claude/agents"],
|
|
145
146
|
skillDirs: ["~/.claude/skills"],
|
|
147
|
+
hookDirs: ["~/.claude/hooks"],
|
|
146
148
|
ruleFilesByPriority: ["~/.claude/CLAUDE.md"],
|
|
147
149
|
},
|
|
148
150
|
detectorPaths: [
|
|
149
151
|
"CLAUDE.md",
|
|
150
152
|
".claude",
|
|
153
|
+
".claude/hooks",
|
|
151
154
|
".claude/rules",
|
|
152
155
|
".claude/settings.json",
|
|
153
156
|
],
|
|
@@ -2379,6 +2382,7 @@ async function recordBundleInstallState({ scope, platform, bundleId, artifacts,
|
|
|
2379
2382
|
skills: artifacts.skills.map(toPosixPath),
|
|
2380
2383
|
commands: (artifacts.commands || []).map(toPosixPath),
|
|
2381
2384
|
prompts: (artifacts.prompts || []).map(toPosixPath),
|
|
2385
|
+
hooks: (artifacts.hooks || []).map(toPosixPath),
|
|
2382
2386
|
};
|
|
2383
2387
|
await writeState(scope, state, cwd);
|
|
2384
2388
|
}
|
|
@@ -2404,6 +2408,7 @@ async function resolveProfilePaths(profileId, scope, cwd = process.cwd()) {
|
|
|
2404
2408
|
const skillDirs = Array.isArray(cfg.skillDirs) ? cfg.skillDirs : [];
|
|
2405
2409
|
const commandDirs = Array.isArray(cfg.commandDirs) ? cfg.commandDirs : [];
|
|
2406
2410
|
const promptDirs = Array.isArray(cfg.promptDirs) ? cfg.promptDirs : [];
|
|
2411
|
+
const hookDirs = Array.isArray(cfg.hookDirs) ? cfg.hookDirs : [];
|
|
2407
2412
|
const resolvePreferredDir = async (dirs) => {
|
|
2408
2413
|
if (dirs.length === 0)
|
|
2409
2414
|
return null;
|
|
@@ -2420,6 +2425,7 @@ async function resolveProfilePaths(profileId, scope, cwd = process.cwd()) {
|
|
|
2420
2425
|
skillsDir: await resolvePreferredDir(skillDirs),
|
|
2421
2426
|
commandsDir: commandDirs[0] ? expandPath(commandDirs[0], cwd) : null,
|
|
2422
2427
|
promptsDir: promptDirs[0] ? expandPath(promptDirs[0], cwd) : null,
|
|
2428
|
+
hooksDir: hookDirs[0] ? expandPath(hookDirs[0], cwd) : null,
|
|
2423
2429
|
ruleFilesByPriority: cfg.ruleFilesByPriority.map((filePath) => expandPath(filePath, cwd)),
|
|
2424
2430
|
};
|
|
2425
2431
|
}
|
|
@@ -2450,6 +2456,7 @@ function resolveProfilePathCandidates(profileId, scope, cwd = process.cwd()) {
|
|
|
2450
2456
|
skillsDirs: expandUniquePaths(cfg.skillDirs, cwd),
|
|
2451
2457
|
commandsDirs: expandUniquePaths(cfg.commandDirs, cwd),
|
|
2452
2458
|
promptsDirs: expandUniquePaths(cfg.promptDirs, cwd),
|
|
2459
|
+
hooksDirs: expandUniquePaths(cfg.hookDirs, cwd),
|
|
2453
2460
|
ruleFilesByPriority: expandUniquePaths(cfg.ruleFilesByPriority, cwd),
|
|
2454
2461
|
};
|
|
2455
2462
|
}
|
|
@@ -2474,6 +2481,7 @@ async function resolveArtifactProfilePaths(profileId, scope, cwd = process.cwd()
|
|
|
2474
2481
|
agentsDir: workspacePaths.agentsDir,
|
|
2475
2482
|
commandsDir: workspacePaths.commandsDir ?? scopedPaths.commandsDir,
|
|
2476
2483
|
promptsDir: workspacePaths.promptsDir ?? scopedPaths.promptsDir,
|
|
2484
|
+
hooksDir: scopedPaths.hooksDir,
|
|
2477
2485
|
};
|
|
2478
2486
|
}
|
|
2479
2487
|
async function listBundleIds() {
|
|
@@ -5490,6 +5498,11 @@ async function installBundleArtifacts({ bundleId, manifest, platform, scope, ove
|
|
|
5490
5498
|
platformSpec.prompts.length > 0) {
|
|
5491
5499
|
await mkdir(profilePaths.promptsDir, { recursive: true });
|
|
5492
5500
|
}
|
|
5501
|
+
if (profilePaths.hooksDir &&
|
|
5502
|
+
Array.isArray(platformSpec.hooks) &&
|
|
5503
|
+
platformSpec.hooks.some((entry) => typeof entry?.file === "string")) {
|
|
5504
|
+
await mkdir(profilePaths.hooksDir, { recursive: true });
|
|
5505
|
+
}
|
|
5493
5506
|
}
|
|
5494
5507
|
const bundleRoot = path.join(agentAssetsRoot(), "workflows", bundleId);
|
|
5495
5508
|
const platformRoot = path.join(bundleRoot, "platforms", platform);
|
|
@@ -5501,6 +5514,7 @@ async function installBundleArtifacts({ bundleId, manifest, platform, scope, ove
|
|
|
5501
5514
|
skills: [],
|
|
5502
5515
|
commands: [],
|
|
5503
5516
|
prompts: [],
|
|
5517
|
+
hooks: [],
|
|
5504
5518
|
};
|
|
5505
5519
|
// Bind useSymlinks into copyArtifact so every call site inherits it
|
|
5506
5520
|
const copyArt = (args) => copyArtifact({ ...args, useSymlinks });
|
|
@@ -5594,6 +5608,35 @@ async function installBundleArtifacts({ bundleId, manifest, platform, scope, ove
|
|
|
5594
5608
|
else
|
|
5595
5609
|
installed.push(destination);
|
|
5596
5610
|
}
|
|
5611
|
+
const hookFiles = Array.isArray(platformSpec.hooks)
|
|
5612
|
+
? platformSpec.hooks
|
|
5613
|
+
.map((entry) => typeof entry === "string"
|
|
5614
|
+
? entry
|
|
5615
|
+
: typeof entry?.file === "string"
|
|
5616
|
+
? entry.file
|
|
5617
|
+
: null)
|
|
5618
|
+
.filter(Boolean)
|
|
5619
|
+
: [];
|
|
5620
|
+
for (const hookFile of hookFiles) {
|
|
5621
|
+
if (!profilePaths.hooksDir)
|
|
5622
|
+
continue;
|
|
5623
|
+
const source = path.join(platformRoot, "hooks", hookFile);
|
|
5624
|
+
const destination = path.join(profilePaths.hooksDir, path.basename(hookFile));
|
|
5625
|
+
if (!(await pathExists(source))) {
|
|
5626
|
+
throw new Error(`Missing hook source file: ${source}`);
|
|
5627
|
+
}
|
|
5628
|
+
const result = await copyArt({
|
|
5629
|
+
source,
|
|
5630
|
+
destination,
|
|
5631
|
+
overwrite,
|
|
5632
|
+
dryRun,
|
|
5633
|
+
});
|
|
5634
|
+
artifacts.hooks.push(destination);
|
|
5635
|
+
if (result.action === "skipped" || result.action === "would-skip")
|
|
5636
|
+
skipped.push(destination);
|
|
5637
|
+
else
|
|
5638
|
+
installed.push(destination);
|
|
5639
|
+
}
|
|
5597
5640
|
if (shouldInstallPlatformSkills) {
|
|
5598
5641
|
const agentSkillDependencies = await resolvePlatformAgentSkillDependencies({
|
|
5599
5642
|
platformRoot,
|
|
@@ -5818,6 +5861,20 @@ async function removeBundleArtifacts({ bundleId, manifest, platform, scope, prof
|
|
|
5818
5861
|
if (await safeRemove(destination, dryRun))
|
|
5819
5862
|
removed.push(destination);
|
|
5820
5863
|
}
|
|
5864
|
+
for (const hookEntry of platformSpec.hooks || []) {
|
|
5865
|
+
if (!profilePaths.hooksDir)
|
|
5866
|
+
continue;
|
|
5867
|
+
const hookFile = typeof hookEntry === "string"
|
|
5868
|
+
? hookEntry
|
|
5869
|
+
: typeof hookEntry?.file === "string"
|
|
5870
|
+
? hookEntry.file
|
|
5871
|
+
: null;
|
|
5872
|
+
if (!hookFile)
|
|
5873
|
+
continue;
|
|
5874
|
+
const destination = path.join(profilePaths.hooksDir, path.basename(hookFile));
|
|
5875
|
+
if (await safeRemove(destination, dryRun))
|
|
5876
|
+
removed.push(destination);
|
|
5877
|
+
}
|
|
5821
5878
|
const skillIds = await resolveInstallSkillIds({
|
|
5822
5879
|
platformSpec,
|
|
5823
5880
|
extraSkillIds: [],
|