{ "id": "opencode", "role": "runtime", "version": "1.9.0", "title": "OpenCode", "description": "OpenCode — XDG-based config dir; flat commands/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.", "tier": "core", "requires": [], "engines": { "gsd": ">=1.6.0" }, "runtime": { "configHome": { "kind": "xdg", "name": "opencode", "env": [ "OPENCODE_CONFIG_DIR", "OPENCODE_CONFIG", "XDG_CONFIG_HOME" ] }, "localConfigDir": ".opencode", "configFormat": "settings-json", "artifactLayout": { "global": [ { "kind": "commands", "destSubpath": "commands", "prefix": "gsd-", "nesting": "flat", "recursive": false, "converter": null }, { "kind": "skills", "destSubpath": "skills", "prefix": "gsd-", "nesting": "flat", "recursive": true, "converter": "convertClaudeCommandToOpencodeSkill" } ], "local": [ { "kind": "commands", "destSubpath": "commands", "prefix": "gsd-", "nesting": "flat", "recursive": false, "converter": null }, { "kind": "skills", "destSubpath": "skills", "prefix": "gsd-", "nesting": "flat", "recursive": true, "converter": "convertClaudeCommandToOpencodeSkill" } ] }, "commandStyle": "slash-hyphen", "hooksSurface": "none", "extensionEvents": "opencode", "sandboxTier": "none", "supportTier": 2, "installSurface": "settings-json", "writesSharedSettings": true, "permissionWriter": "opencode", "extendedHookEvents": [], "hostIntegration": { "embeddingMode": "imperative", "commandSurface": "slash-file", "dispatch": { "namedDispatch": true, "nested": "undocumented", "maxDepth": "undocumented", "background": false, "subagentToolkit": "full", "backgroundDispatch": false, "isolation": "orchestrator-worktree" }, "modelMode": "active", "hookBus": "host", "stateIO": "filesystem", "transport": "mcp", "runtime": "bun", "effortSurface": "argv" }, "orchestratorExec": { "command": "opencode", "args": [ "run" ], "cwdFlag": "--dir", "promptFlag": null }, "hostBehaviors": { "reapplyCommand": "/gsd-update --reapply", "attributionConfigResolver": "opencode", "flatCommandDir": "commands", "combinedFamilyInstall": true, "frontmatterDialect": "opencode", "nativePlugin": { "dir": "plugins", "file": "gsd-core.js", "source": ".opencode/plugins/gsd-core.js" }, "skipHomePrefixSubstitution": true, "skipSettingsUi": true, "skipUpdateBannerCommand": true, "skipCodexSkillsManifest": true, "reviewerCli": true } }, "reviewer": { "slug": "opencode", "flags": [ "--opencode" ], "transport": "spawn", "probe": { "kind": "command-exists", "binary": "opencode" }, "invoke": { "binary": "opencode", "args": [ "run", "{{model}}", "{{effort}}", "--format", "json", "-" ], "promptChannel": "stdin", "outputChannel": "stdout", "modelArg": "--model", "effortChannel": "argv" }, "timeoutFloorMs": 660000, "emptyOutput": "stub-with-stderr", "reviewsSection": "OpenCode", "evidenceClass": "source-grounded", "requiresBinaries": [], "promptBudgetKey": null, "modelConfigKey": "review.models.opencode", "handler": "opencode" }, "config": { "review.models.opencode": { "type": "string", "default": "", "description": "Model passed to the OpenCode reviewer lane." } } }