OCX
Your OpenCode config, anywhere.
Portable profiles and editable components for OpenCode.
Get started · Profiles · Registries · CLI reference
- 📁 Switch profiles. Keep separate setups for work, personal projects, and code review.
- 📦 Own your files. Install agents, skills, and commands from registries, then edit them directly.
- 🔎 Review your changes. Preview updates, verify file hashes, and protect local edits.
[!NOTE] OpenCode V2 preview. This branch is OCX 3, for OpenCode 2.0.3 or newer within V2. Using OpenCode V1? Keep
ocx@2.0.15and follow the legacy guide.
Quick start
Set up the development preview
From a checkout of this branch, with Bun and OpenCode V2 installed:
bun install --frozen-lockfile
bun run --cwd packages/cli build
alias ocx="bun \"$PWD/packages/cli/dist/index.js\""
The alias uses this checkout's CLI for the current shell. See preview setup for OpenCode installation and binary selection.
Create a profile, make it your default, and launch OpenCode:
ocx profile add work
ocx profile use work
ocx oc
Need a different setup for the next session?
ocx profile add personal --clone work
ocx oc -p personal
Each profile is an ordinary folder under ~/.config/ocx/profiles/ (or $XDG_CONFIG_HOME/ocx/profiles/). Edit its OpenCode config, instructions, agents, and skills directly. OpenCode loads them when you launch.
Profile setup and project discovery →
Files you can make your own
Registry components are copied into a profile or your project's .opencode/ directory. They stay editable, with an ownership record for updates and removal.
For a registry configured as team, installing its review component looks like this:
ocx init --project
ocx add team/review --project
ocx update --all --project --dry-run
ocx verify --project
Use --profile work to manage files in a profile instead.
Add a registry · Publish your own
Moving from V1?
Preview an import into a new profile:
ocx migrate \
--from ~/.config/opencode/profiles/work \
--profile work
The importer shows what will change before you apply it. Your originals stay untouched. The migration guide covers project filters, plugins, and other differences; plugin retirement notes cover native alternatives and the frozen V1 releases.
Development
Requires Bun. Build and check the workspace:
bun install --frozen-lockfile
bun run build
bun run check
bun run --cwd packages/cli test
Run the built CLI with bun packages/cli/dist/index.js. For native OpenCode conformance and manual testing details, see the validation record.
MIT · An independent project, not affiliated with the OpenCode team.