Using AI to Safely Modify Legacy Code
Practical techniques for using AI coding assistants on legacy and brownfield codebases — giving enough context, preventing over-modernization, and validating changes that can't break.
[ Index ]
Everything we know about building AI software that actually ships — written for engineers, no fluff.
Practical techniques for using AI coding assistants on legacy and brownfield codebases — giving enough context, preventing over-modernization, and validating changes that can't break.
How to feed failing tests directly to your AI coding assistant and use TDD as a feedback loop that keeps AI-generated code correct from the first run.
How to use AI to extract OpenAPI specs from existing routes, generate type-safe clients, and keep spec and implementation in sync — without manual YAML.
How to prompt AI for shell scripts that handle errors, edge cases, and environment differences — and how to validate the output before you trust it.
Most developers default to one model for everything. Here's a practical framework for matching each coding task to the right model — cutting costs without sacrificing quality.
How to identify independent workstreams, fan them out to multiple AI agent sessions simultaneously, and merge results without conflicts.
How to prompt AI coding assistants to produce diverse, realistic test fixtures and seed data — not just placeholder values that pass but don't catch real bugs.
AI coding assistants default to the happy path. Here's how to systematically prompt for input validation, error boundaries, and the failures that break production.
A practical workflow for feeding production logs to an LLM to surface root causes, correlate errors, and cut mean-time-to-resolution — without leaking sensitive data.