feat(opencode): mcpctl config opencode — /mcpctl TUI switcher + bottom project indicator #97

Open
michal wants to merge 1 commits from feat/opencode-extension-mcpctl into main
Owner

mcpctl × opencode — native addon

Adds mcpctl config opencode (mirroring config prime-agent / config pi)
so mcpctl works inside opencode:

  • Switch projects from the opencode UI via a /mcpctl TUI plugin
    (filterable project picker → rewrites opencode.json to mount the project).
  • Current project in the bottom status bar (the app_bottom slot, next to
    where opencode shows the model and token counter).

MCP travels over opencode's native stdio client (mcpctl mcp -p <project>),
skills sync under ~/.config/opencode/skills/ via --agent opencode, and a
single-active-project invariant is kept by tagging managed entries
mcpctlManaged while preserving hand-configured servers.

Validation: pnpm typecheck clean, full @mcpctl/cli suite (578 tests) passing,
pnpm completions:check up to date, new files lint clean. See
docs/opencode-extension.md.

## mcpctl × opencode — native addon Adds `mcpctl config opencode` (mirroring `config prime-agent` / `config pi`) so mcpctl works inside **opencode**: - **Switch projects from the opencode UI** via a `/mcpctl` TUI plugin (filterable project picker → rewrites `opencode.json` to mount the project). - **Current project in the bottom status bar** (the `app_bottom` slot, next to where opencode shows the model and token counter). MCP travels over opencode's native stdio client (`mcpctl mcp -p <project>`), skills sync under `~/.config/opencode/skills/` via `--agent opencode`, and a single-active-project invariant is kept by tagging managed entries `mcpctlManaged` while preserving hand-configured servers. Validation: `pnpm typecheck` clean, full `@mcpctl/cli` suite (578 tests) passing, `pnpm completions:check` up to date, new files lint clean. See `docs/opencode-extension.md`.
michal added 1 commit 2026-08-08 20:45:01 +00:00
feat(opencode): add mcpctl config opencode + /mcpctl TUI switcher with bottom project indicator
Some checks failed
CI/CD / typecheck (pull_request) Successful in 1m3s
CI/CD / lint (pull_request) Successful in 2m12s
CI/CD / test (pull_request) Successful in 1m19s
CI/CD / build (pull_request) Successful in 2m13s
CI/CD / smoke (pull_request) Failing after 3m23s
CI/CD / publish (pull_request) Has been skipped
e2a1d90793
michal force-pushed feat/opencode-extension-mcpctl from e2a1d90793 to 0a02616c7f 2026-08-08 20:53:08 +00:00 Compare
Some checks failed
CI/CD / lint (pull_request) Successful in 1m7s
CI/CD / test (pull_request) Successful in 1m22s
CI/CD / typecheck (pull_request) Successful in 2m49s
CI/CD / smoke (pull_request) Failing after 1m54s
CI/CD / build (pull_request) Successful in 2m16s
CI/CD / publish (pull_request) Has been skipped
This pull request has changes conflicting with the target branch.
  • README.md
  • completions/mcpctl.bash
  • completions/mcpctl.fish
  • docs/opencode-extension.md
  • package.json
  • scripts/generate-opencode-extension.ts
  • src/cli/src/commands/config.ts
  • src/cli/src/commands/skills.ts
  • src/cli/src/config/opencode-extension.ts
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/opencode-extension-mcpctl:feat/opencode-extension-mcpctl
git checkout feat/opencode-extension-mcpctl
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: michal/mcpctl#97