Skip to content

The OpenCode course

This is a hands-on course, not a reference. You’ll spend a week with OpenCode turning an inherited side project — feedmill, a self-hosted, terminal-first feed aggregator — into something you trust running unattended. It’s a small Go CLI plus an HTTP sync server that pulls dozens of RSS, Atom, and JSON feeds, dedupes them, and serves a reading queue you read from the terminal. It mostly works, it’s thin on docs, and you already suspect one feed type parses its dates wrong. Every lesson takes a problem you’ll really hit and shows the exact OpenCode move that fixes it.

This course is differentiator-first. OpenCode isn’t tied to one vendor’s model, it lives in a full-screen terminal TUI instead of a chat sidebar, and it’s an open client/server you can drive headless and share by link. So we lead with the things no closed tool can match — bring-your-own-model across 75+ providers, the keyboard-driven TUI, the share-and-serve architecture — before settling into the agent primitives every tool shares (AGENTS.md, skills, subagents, MCP/LSP). If you want the spec-level “what is this primitive” view, that’s Foundations. This course is the other half: the muscle memory.

Already use another CLI? The Codex and Claude Code courses are its siblings — same teach-by-doing spine, a different tool. OpenCode shares the AGENTS.md standard with Codex, so that chapter will feel familiar.

Ten chapters, in reading order. Each is a self-contained chapter that carries the feedmill project one stretch further — start at the top, or pick the problem in front of you.

Each chapter carries one running project — you’ll follow feedmill across a week of real work — and the lessons build on each other: each one picks up a problem the last one left you with, adds a move to your repertoire, and hands off to the next. The read-before-edit, commit-at-green discipline you set up in chapter one is the spine every later chapter leans on, and LSP runs as a quiet through-line — the skeptic’s hook in chapter one, the in-tree code-intelligence channel again in Extending.

So you get the most out of a chapter by reading it in order. But each lesson still stands on its own if you drop in from a search with one specific problem in front of you — you’ll just miss the running story.

What you won’t find is a fixed template stamped onto every lesson. Some need a long worked transcript, some a single command and a warning, some a digression into why the tool behaves the way it does. The shape follows the content, the way a good book varies its chapters.