How-To

Step-by-step guides and tutorials.

Spec-Driven Development (SDD) for AI Coding Agents

Coding agents forget everything between sessions, and the bigger the codebase grows, the more they have to rediscover before they can do anything useful.

This article covers spec-driven development as a whole - why agents need specs, the frameworks worth starting with, and how my own setup evolved from homegrown commands to OpenSpec and beads.

Project Instructions and Reusable Commands

Starting a new codebase with Claude Code or another AI coding agent, requires a lot of fine tuning to make long-term, production ready code development consistent.

The main entry points for day-to-day interactions with an agent within a project are CLAUDE.md and custom bot commands. In combination with specs, these become the bread and butter of your daily coding activities.

Sandboxing AI Agents with Dev Containers

Coding agents run shell commands with your user's privileges, whether it's Claude Code, Codex, or an open-source harness like OpenCode running against your own models. Their own guardrails have come a long way, but a prompt injection hidden in an open-source package can still turn the agent against your machine. Agents belong in a sandbox, especially when you run a swarm of them.

This article shows how I sandbox mine in a dev container: the agent works on the project inside the container, the host keeps the git credentials, and notifications get out through a single whitelisted command. One trade-off up front: containers are slower on macOS and Windows, where they run inside a virtual machine with limited access to the bare metal.