Skip to content

Add OpenCode compatibility installer for plugin workflows#112

Open
marthendalnunes wants to merge 1 commit intotrailofbits:mainfrom
marthendalnunes:feat/opencode-support
Open

Add OpenCode compatibility installer for plugin workflows#112
marthendalnunes wants to merge 1 commit intotrailofbits:mainfrom
marthendalnunes:feat/opencode-support

Conversation

@marthendalnunes
Copy link

Summary

  • Add a first-party OpenCode installer (scripts/install_opencode_skills.sh) that installs plugin skills and commands, preserving the same command-first plugin UX (command -> skill) used in Claude.
  • Default to simple no-clone installation from GitHub archives (copy mode), with local symlink mode for contributors; support filters (--bundle, --plugin, --skill, --command) and component scoping (--skills-only, --commands-only).
  • Add compatibility guardrails: validate command-to-skill mapping, skip known Claude-only command flows by default, and add scripts/validate_opencode_compat.py plus CI smoke checks.

Docs

  • Add OpenCode compatibility guide at docs/opencode.md.
  • Update README.md with OpenCode install and command usage examples.

Validation

  • python3 scripts/validate_opencode_compat.py
  • python3 .github/scripts/validate_plugin_metadata.py
  • bash scripts/install_opencode_skills.sh --source local --bundle smart-contracts --dry-run --target /tmp/opencode-skills-smoke --commands-target /tmp/opencode-commands-smoke

Install matching commands and skills with a no-clone shell script so OpenCode keeps the same command-to-skill UX as Claude plugins, and add docs plus CI checks to enforce compatibility.
@marthendalnunes marthendalnunes requested a review from dguido as a code owner March 1, 2026 13:20
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants