/** * opencodeLayout — EXPERIMENTAL, internal-only. A prototype `PluginLayout` for * OpenCode: `opencode.json` manifest/settings, `AGENTS.md`, `.opencode/` * surfaces, `${OPENCODE_PLUGIN_ROOT}`. Validates the layout port against real * OpenCode shapes. NOT exported / NOT registered. * * 🔴 IT IS THE PORT'S THIRD IMPLEMENTATION, AND IT SHIPPED BROKEN — which is * exactly the job a third implementation has. Until 2026-09-21 this descriptor * read: * * surfaceDirs: [".opencode/agent", ".opencode/command"], * skillDir: ".opencode/skill", * * Two fields naming the same set of directories, disagreeing. Everything that * materializes, counts or scans a surface ranged over `surfaceDirs`, so * OpenCode's skills were NAMED by the port and READ by nothing: a repo with * skills under `.opencode/skill` graded as having none. Nothing caught it, * because a port validated against two implementations cannot see a state only * the third can reach. * * It cannot be written now: `surfaces` is one record keyed by kind, so there is * no second field to disagree with, and `surfaceDirs()` is derived from it. * Listing the skill dir here is therefore also a BEHAVIOUR change for this * prototype — its skills become readable for the first time. */ import type { PluginLayout } from "../../core/layout.js"; export declare const opencodeLayout: PluginLayout; //# sourceMappingURL=layout.d.ts.map