Free launch audit — a senior engineer reads your repo and tells you exactly what's blocking launch.Claim yours

Claude Code to production

Claude Code wrote a lot of good code. Someone should read it

Claude Code produces the most structured output of the agents we see — and the most of it. The risk isn't that the code is bad; it's that nobody has verified it, that it abstracted things that didn't need abstracting, and that the tests it wrote pass for reasons that aren't the ones you'd want.

In short

Cleaning up a codebase built with Claude Code is mostly a matter of review and pruning: removing abstractions built for a single implementation, auditing the large multi-file changes that were merged without a human reading them, replacing tests that mock the code under test with tests that exercise it, deleting stubs and duplicated utilities left across sessions, and tightening the permissive defaults the agent chose to make something work. Gen2Prod audits the repo for free, fixes what matters at a fixed price from $290, and leaves a CLAUDE.md that keeps the agent inside the conventions afterwards.

What Claude Code generates
Whatever stack you asked for, usually with more structure than you asked for — interfaces, layers, and documentation
How it drifts
By volume: sweeping multi-file changes that are correct in outline and unverified in detail
Where it lives
Your own repo and host; Claude Code is a terminal agent, not a platform
What we work in
That repo, by pull request, plus a CLAUDE.md so the agent follows the conventions we set
What it costs
Free audit first, then from $290 per fix; full sprint quoted in 24 hours

What Claude Code apps get wrong in production

The list we find on most Claude Code projects, in the order it matters. Each one links to the service that fixes it.

Interfaces for one implementation

A repository pattern over one table, a service layer that forwards every call, a plugin system with one plugin. We remove the indirection that isn't earning its keep, so a change touches one file instead of four.

Fixed by Refactor & cleanup

Tests that assert the mock

Claude Code writes tests readily, and when the real dependency is awkward it mocks it — sometimes so thoroughly that the test proves nothing. We identify those and replace them with tests against real behaviour on the paths that matter.

Fixed by Refactor & cleanup

Diffs nobody read

A 40-file change that 'refactored auth' was merged because it looked right. We review the merged history for what changed behaviour without anyone deciding it should, and fix or document each one.

Fixed by Security hardening

Permissive to make it work

A CORS wildcard, a disabled RLS policy, a `catch` that swallows the error — each added to get past a failure and never revisited. We find them and tighten them.

Fixed by Security hardening

Stubs, TODOs and half-features

`// TODO: implement` in a route that returns 200, a feature flag for a feature that doesn't exist, three `formatDate` helpers. We delete what's dead and finish or remove what's half-done.

Fixed by Refactor & cleanup

Documentation that describes a different codebase

Generated READMEs and comments drift as sessions accumulate. We rewrite the ones that matter and delete the ones that lie, so the next developer — or agent — isn't misled.

Fixed by Handoff & docs

What we keep

A cleanup isn’t a rebuild. Claude Code did real work, and most of it stays.

  • Most of the code — Claude Code's output is generally correct and well-typed; the work is subtraction and verification
  • The tests that test something, which is often a majority
  • Your stack and host
  • Claude Code itself: a CLAUDE.md with the conventions we set keeps it productive and inside the lines

Claude Code — questions we get asked

Claude Code wrote tests and they pass. Aren't we done?

Passing tests are necessary and not sufficient. The question is what they'd catch. A test that mocks the database, mocks the auth check and then asserts the mocked value came back will pass through any bug you could introduce. In the free audit we read the tests as carefully as the code and tell you which ones are load-bearing.

Is Claude Code output better than Lovable or Bolt output?

Different. Lovable and Bolt generate a stack and get security wrong in predictable ways; Claude Code edits your stack and gets structure slightly too right — more layers, more abstraction, more code than the problem needs — while leaving the same permissive defaults when something blocked it. The fix for the first is hardening; the fix for the second is review and pruning.

What does a review of a Claude Code repo actually look like?

We read the merged history, not just the current state, because the risk is in the sweeping changes that were accepted without a human reading them. We look for behaviour that changed without a decision, tests that can't fail, abstractions with one caller, and security settings loosened to get past an error. Everything we find is rated and reproduced in the report you keep.

Can you set up CLAUDE.md so it stays clean afterwards?

Yes — it's part of every Claude Code engagement. We write down the conventions we established: the architecture, how errors and auth are handled, what a test must assert, what not to abstract. The agent follows a clear CLAUDE.md closely, so the codebase keeps its shape as you keep building.

Your AI-built product deserves a real launch.

Start with the free audit. In 48 hours you'll know what's broken, what each fix costs, and whether it's even worth doing — before you've spent a dollar.

Free audit, no card · Fixed price before we start · Your code stays yours