"How to run something other than GPT" for 40 year olds
The CLI now supports --json and --support for scripting and tooling, an opencode plugin and stdio MCP server expose it as agent tools, and a new publish-weight command writes trained checkpoints to a PDS as chunked blobs.
How I rebuilt my personal website using Astro, Motion, some AI agents, and an embarrassingly small token bill.
I needed a plugin that could run a multi-phase workflow autonomously — start a task, wait for it to finish, check the result, start the next one. I built it in Claude Code using Stop and SubagentStop hooks, then rebuilt it in OpenCode using session.idle events. Both work. The orchestration patterns are different, and so are the tradeoffs. This post covers the general pattern. The examples are distilled from both implementations but apply to any workflow where phases run sequentially, each prod
OpenCode plugins have three extension points: tools, skills, and commands. They're discovered differently, and two of the three work automatically from an npm package. Commands don't. This post documents how I set up a bunx setup script to handle the gap. How OpenCode discovers plugin artifacts Tools and hooks are registered in src/index.ts and loaded when the plugin appears in opencode.json's plugin array. OpenCode installs npm plugins automatically at startup and caches them in ~/.cache/o