AI-Assisted Coding

The bottleneck is review capacity, not generation speed.

2guides Feed

AI-assisted coding is a review problem wearing a generation problem’s clothes. Producing code was never the slow part of software work; deciding what to build and checking that a change is correct were, and only one of those got faster.

That framing decides how to set the tools up. Everything worth doing is aimed at making the output cheaper to check: small diffs, one task per session, tests written before the change, a typechecker the tool can run itself.

Reach for these tools on work that is mechanical and verifiable. Adding tests for existing behaviour. Migrating call sites from a deprecated API. Converting an untyped module. Implementing a function whose contract you already wrote as a failing test. In each case the specification exists and the verification is automatic, which is the combination these tools handle well.

Skip them on cross-cutting refactors, anything with a security boundary, and database migrations. Not because output quality drops, but because the review cost rises faster than the writing cost falls.

The recurring failure is quiet rather than dramatic. Tests get weakened instead of satisfied. A dependency appears in the diff that nobody chose. The change works but reads nothing like the surrounding code, because the project’s conventions were never written anywhere a tool could read them.

None of those are model problems. They are all fixed by configuration and by reading diffs rather than summaries, which is what the articles here cover.

Start here

How to Use Claude Code on an Existing TypeScript Project

Add Claude Code to a TypeScript repo you already have: a CLAUDE.md that matches your real build, permission rules that block dangerous commands, and a typecheck loop the agent runs itself.

Intermediate · 5 min read

Beginner to advanced

A reading order that builds AI Coding knowledge in the sequence it is actually needed.

  1. Start How to Use Claude Code on an Existing TypeScript Project 5 min
  2. Build An AI Coding Agent Workflow That Keeps Diffs Reviewable 5 min

Common problems

Failure modes that come up repeatedly with AI Coding, and where each one is solved.

Tests pass but the change is wrong
A green suite proves nothing broke that was already covered. Read test changes on a separate pass — weakened assertions are the common failure.
Generated code imports packages nobody chose
Models suggest what was popular in training data. Check the repository, the last release and the maintainer count before accepting a dependency.
The typechecker only runs when you remember to run it
Wire it into a post-edit hook so the tool sees compiler errors without you relaying them. This is the single largest quality improvement available.

Latest AI Coding guides

Browse the archive

Recently updated

Frequently asked questions

Is AI-assisted coding worth it on a large legacy codebase?

Often more than on a greenfield one, because the mechanical work — writing tests for existing behaviour, migrating a deprecated API, adding types to untyped modules — is exactly the shape these tools handle well.

How do you keep generated code consistent with the rest of the repo?

Write the conventions down in a project instructions file and enforce them with a linter. Anything only enforced by human reviewers in pull requests will not be followed.

Sources

  1. Claude Code documentation Anthropic Primary source
  2. TypeScript compiler options Microsoft Primary source