Recent
Connecting OpenCode to GitHub MCP Server
·5 mins
A practical guide to connect OpenCode with the remote GitHub MCP Server using a PAT, disable automatic OAuth, and avoid the most common auth errors.
Todo CLI in Rust 5. Next step moving from CLI to a TUI with ratatui
·12 mins
We close the series by exploring what it means to migrate from CLI to TUI with ratatui: how the interaction model changes, what frictions Rust introduces with ownership and &mut in a persistent event loop, and why hexagonal architecture absorbs the change without surgery.
Todo CLI in Rust 4. Building the CLI with clap: typed parsing, subcommands and dual output
·23 mins
We design the CLI layer with clap derive, typed argument parsing with ValueEnum and FromStr for UUIDs, subcommands as enums, global –output flag for dual table/json output, and errors propagated through layers down to stderr.
Todo CLI in Rust 3.1. Testing strategy and explicit technical debt
·15 mins
We analyze the repository’s testing strategy: behavior-driven tests for each adapter, isolation with tempdir, why there are no shared tests, and the technical debt we decided to document instead of hide.
Todo CLI in Rust 3. JSON persistence, contract vs implementation
·18 mins
Third part of the series: we define the persistence contract with a generic trait, implement two adapters (in-memory and JSON to disk), and delve into the difference between interface and implementation as the axis of hexagonal architecture.