What an SDK actually is, and when to build one

An SDK is not just a client library — it’s the smallest thing a platform can ship that turns ‘read our docs and call our API’ into ‘install this and get to work.’ First in a four-post series on SDK design: this one covers the fundamentals — what SDKs are, where they came from, how they differ from libraries and frameworks and protocols, why they’re becoming the product itself, and a concrete decision framework for when to build one. Companion posts cover the anatomy of an SDK’s surface in Go, the rubric for what makes one good with named exemplars, and the design-process question of routing new capabilities between the SDK and the API.

August 7, 2026 · 16 min · Omar Crosby

How a Claude Code project is structured on disk

A file-by-file walkthrough of the project-scoped Claude Code layout — CLAUDE.md, .mcp.json, settings, rules, commands, skills, subagents, and hooks — and the team-shared / personal-local split behind every file.

August 4, 2026 · 15 min · Omar Crosby

What makes a CLI Claude-friendly

A concrete look at what turns a command-line tool into something an AI coding agent can drive reliably, with contrived before/after examples for structured output, subcommands, non-interactive defaults, exit codes, self-documenting help, idempotency, and when a token-oriented format like TOON is worth adding as a second output mode.

July 30, 2026 · 14 min · Omar Crosby

The anatomy of a Claude Code configuration

Claude Code is Anthropic’s AI-powered coding assistant — the one that reads files, runs commands, edits code, and drives a full development workflow from your terminal, editor, or a desktop app. It is a distinct product from the browser-based Claude chat at claude.ai; the two share the same underlying model but almost nothing about how you interact with them. Everything in this post is about Claude Code specifically. Out of the box, Claude Code behaves the same for everyone. But almost every serious user ends up with a personal configuration: a folder called ~/.claude/ on their machine that quietly shapes how Claude Code behaves for them. ...

July 21, 2026 · 16 min · Omar Crosby

Getting started with Neovim

A practical starter track: install Neovim, put your config in a GitHub repo you own, and layer on a small set of plugins that turn the empty editor into something you’ll want to keep using.

July 13, 2026 · 13 min · Omar Crosby