feat(opencode): add ZERO-294 OpenCode adapter#38
Closed
spencercharest wants to merge 1 commit into
Closed
Conversation
spencercharest
force-pushed
the
spencer/zero-298-opencode-adapter-js-plugin-skills
branch
from
June 14, 2026 22:14
546ce12 to
160c7aa
Compare
Collaborator
Author
|
Folded into #63 as a matrix entry ( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Subtask: ZERO-298 (OpenCode adapter — JS plugin + skills)
Adds an OpenCode adapter package at
plugins/zero-opencodeplus consumer install docs:@zeroxyz/opencode-zero~/.zero/runtime/bin/zeroZERO_RUNNERand prepending~/.zero/runtime/binzero init --skills-dir ~/.config/opencode/skills/zerocommand written to~/.config/opencode/commands/zero.mdpermission.askauto-approval only for safe Zero commands (search,get,review,runs,init, read-onlyconfig)1.3.3 -> 1.4.0across versioned manifests viamake minorThis PR intentionally does not modify
guides/agent-install.md. Proposed runbook notes are documented below for the later agent-install rework.Official sources used
@opencode-ai/plugin@1.17.7Install and update surfaces
Human in-harness path:
Terminal path:
Update path:
Proposed
guides/agent-install.mdnotesDo not apply in this PR. Suggested section for the later runbook rework:
npm plugin cache and prepares the Zero runner, skill, MCP server, and
/zerocommand on session start. Continue with Step 3 below.
Result:
Plugin package readyDetected server targetPlugin config updatedInstalled /workspace/plugins/zero-opencodeOpenCode-driven Zero E2E command shape:
opencode run --model openai/gpt-4.1-mini --format json --dangerously-skip-permissions "$prompt"The prompt instructed OpenCode to use the Zero skill and bash tool, not run
zero review, and execute the required search/get/fetch/curl verification script.Result:
ses_137f6ef98ffeOJg8BeNzm7nPmxrun_7E1AK3PSHkO0rXBaNf3ifhttps://cdn.withzero.xyz/LolkTqxW/agent-harness-e2e-opencode-20260614212716.txt0USDCtrue— CDN body matchedopencode zero e2e 20260614212716/root/.zero/runtime/bin/zero/root/.config/opencode/skills/zero/SKILL.md/root/.config/opencode/commands/zero.mdLocal checks
Results:
permission.asksmoke allowedzero searchand did not allowzero fetchshell.envsmoke exportedZERO_RUNNERand prepended the Zero runtime bin dirindex.js,README.md, andpackage.json1.4.0Claude-style plugin compatibility and simpler install option
Full Claude Code plugin package support: No. OpenCode has its own npm/JS plugin system. It does read Claude-compatible skill locations, including
.claude/skills/, so the Zero skill body can be reused, but OpenCode does not install Claude Code.claude-pluginpackages as a first-class plugin artifact.What this means for users:
End users should not run
scripts/build-*. The full-integration consumer path should be a published npm package:or:
If the npm plugin is not worth maintaining, a simpler alternative is to document an OpenCode setup that copies/uses the existing Zero
SKILL.mdunder.claude/skills/zeroor.config/opencode/skills/zeroplus a remote MCP entry forhttps://mcp.zero.xyz. That gives skill + MCP only and drops session/context/permission hooks.GitHub Releases / no-build install check
Result: No native Gemini-style GitHub Release install path found. OpenCode loads plugins either from local plugin files or from npm packages declared in config. Source: OpenCode plugin docs document local
.opencode/plugins//~/.config/opencode/plugins/loading and npm package loading; they do not document installing plugin release archives directly from GitHub Releases.Best no-build consumer path:
{ "plugin": ["@zeroxyz/opencode-zero"] }or the in-harness/plugin command once the npm package exists:
A GitHub Release asset could still be useful as a manual fallback containing a ready-to-copy
.opencode/plugins/zerofile plus skill/command files, but it would be download/extract guidance, not a native OpenCode installer like Gemini.PR status
Draft. The OpenCode local-package install/load and full OpenCode-driven Zero E2E passed in Docker, but the documented consumer command uses
@zeroxyz/opencode-zero, which is not published to npm yet (npm view @zeroxyz/opencode-zeroreturns 404). Move to ready after the npm package name is published or the consumer install path is changed to a verified distributable source.