feat(cli-bundle): OpenCode CLI + plugin marketplaces (GSD/gstack/superpowers)#6
Merged
Conversation
…rpowers) OpenCode CLI joins the bundle as the 5th coexisting agent client. Three plugin marketplaces (GSD, gstack, superpowers) are installed opt-in across the CLIs that support them. OpenCode (05b-opencode.sh) - Upstream installer: curl -fsSL https://opencode.ai/install | bash - PATH wiring for ~/.opencode/bin and ~/.local/bin via ~/.bashrc - Toggle: INSTALL_OPENCODE Plugins (09-plugins.sh, lib/plugins.sh) - claude_headless: drives `claude -p "<slash>" --dangerously-skip-permissions` - install_claude_plugin: marketplace add + install + reload-plugins, idempotent - install_gstack_for <host>: git clone --depth 1 + ./setup [--host <host>] - print_manual_install_hint: structured operator instruction for CLIs without a headless plugin-install path Coverage matrix GSD → Claude only (headless) gstack → list-based via GSTACK_TARGETS (Claude + OpenCode supported) superpowers → Claude headless; Codex / Cursor / OpenCode print manual hints with exact commands; Antigravity option (b): no blind attempt, manual hint + warning that integration is NOT officially documented (Gemini-CLI pattern guess only). Runtime - install_bun added to lib/base-packages.sh (gstack requires Bun). Only invoked when INSTALL_GSTACK=true. .env additions INSTALL_OPENCODE INSTALL_GSD INSTALL_GSTACK + GSTACK_TARGETS INSTALL_SUPERPOWERS + SUPERPOWERS_{CLAUDE,CODEX,CURSOR,OPENCODE,ANTIGRAVITY} Tests - tests/test_plugins.bats: 4 new tests using a stubbed `claude` binary (PATH isolation for the "missing claude" case). - All 28 bats + lint + env-completeness pass locally. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Adds OpenCode as the 5th coexisting CLI in
cli-bundle, plus opt-in install of three plugin marketplaces:--host opencode)/plugins/add-pluginOpenCode (
05b-opencode.sh)curl -fsSL https://opencode.ai/install | bashINSTALL_OPENCODE~/.opencode/binand~/.local/binvia~/.bashrcPlugins (
09-plugins.sh,lib/plugins.sh)claude_headlessdrivesclaude -p "<slash>" --dangerously-skip-permissionsinstall_claude_plugin— idempotent marketplace add + install + reloadinstall_gstack_for <host>— git clone --depth 1 +./setup [--host <host>]print_manual_install_hint— structured operator instruction for CLIs lacking a headless install pathDecisions
install_bunlives inlib/base-packages.sh(reusable), only invoked whenINSTALL_GSTACK=true.GSTACK_TARGETS="claude opencode") instead of per-target booleans.Tests
tests/test_plugins.bats) using a stubbedclaudebinary.TODO (in
.claude/TODO.md)antigravity extensions installis a real command./setupis non-interactiveclaude -p "/plugin list")🤖 Generated with Claude Code