Working with Coding Agents:
Harnesses & Guardrails.
Terminal coding agents like Anthropic’s Claude Code and open-source harnesses like OpenCode have replaced simple code autocomplete in my development workflow. But giving an autonomous agent access to your terminal requires strict engineering discipline.
Three Rules for Safe Agentic Development
Never accept an agent's claim that a task is done based on its self-assessment. Provide clear acceptance tests (e.g. vitest run, TypeScript typecheck, or a reproducible CLI curl command). If the command doesn't exit 0, the task isn't complete.
Prompting an agent with "build me a whole multiplayer platform" results in fragmented, fragile code. Instead, break it down: "Implement the room state reducer in packages/games, write unit tests for the turn transitions, and verify." Small boundaries yield bulletproof code.
Configure agent rules to forbid editing .env files, production secrets, or infrastructure manifests without explicit confirmation. Keep git history clean with atomic, single-intent commits.
Claude Code & OpenCode in Practice
In building Puzzle Arena, I relied on agents for generating math solvers and Zod schema validations. By letting the agent generate the repetitive plumbing while I reviewed the architecture, feature velocity increased fourfold without lowering code quality.