News for hackers. Stuff that matters.

How do you keep up quality when you vibe-code?

I'm having a really hard time working with claude. In the past when I wrote all the code manually, it was always carefully reviewed and architected, with all possible flows carefully mapped out. Now, my code is mostly AI written which has led to things going out of control. Since it's easy to add new features and support many user flows, we went ahead and implemented flows that support a lot of cases our users run into. But now, I feel like things are getting too complex with no central notion of behaviour definitions, which causes every bug-fixing session to feel like a game of whack-a-mole, and results in missing edge cases and UI bugs that are becoming impossible to review and keep track of.

Every time I build anything new, it adds more complexity and the agent only seems to focus on the surrounding code within that session without keeping track of how it fits into the rest of the code base/product.

How do you all deal with this? Any suggestions for improving?

( 9 comments | on HN )
Re:How do you keep up quality when you vibe-code? by toufiqqureshi on Tuesday November 10, 2026 @01:43PM (#50444410)
The same I was facing now I have built complete app but always worried about it is really protected and production ready I also facing this issue I don't know what to do
Re:How do you keep up quality when you vibe-code? by nkcodes on Tuesday November 10, 2026 @01:46PM (#50444451)
I'm going to try out having product specs committed in the repo itself - hopefully this gives every agent I spin up context into how the product is supposed to behave as opposed to having to "guess" it from reading the code adjacent to whatever prompt I gave it
Re:How do you keep up quality when you vibe-code? by Marco012 on Tuesday November 10, 2026 @01:52PM (#50444530)
I'm not sure if there is any standard for this, I also tried to search about it in the past. But what I ended up doing that has been working well is to keep everything documented. Every task and decisions are documented on .md files, referencing related tasks and decisions. The project becomes bloated quickly, but Claude can easily locate and relate decisions from a long time ago. Some times I even ask to do do something and mid-way Claude realizes that it goes against a previous written decision.
Re:How do you keep up quality when you vibe-code? by nkcodes on Tuesday November 10, 2026 @02:01PM (#50444660)
Yeah, I'm going to try this out the coming weeks.

I wonder if there are people around who have stories to share about de-AI-Slopifying a codebase.

Re:How do you keep up quality when you vibe-code? by mpd on Tuesday November 10, 2026 @01:54PM (#50444552)
I've always been a bottom-up programmer, so I tend to think more about discrete operations of software rather than the user-facing features (which IME will fall out naturally).

1. Experiment and solidify architecture before adding features. I think this is the hardest step for top-down thinkers.

2. Heavy testing and benchmarking. Prefer to TDD as much as possible. The actual lines for my agent-written codebases are generally ~70+% tests, benchmarks, and experiments.

3. Full mutation test coverage after the code is written. Doing this as a human is miserable IMO, but robots make it reasonable. This step resolves SO MANY subtle bugs.

At that point my main role is ensuring alignment with the actual specs.

Re:How do you keep up quality when you vibe-code? by nkcodes on Tuesday November 10, 2026 @01:59PM (#50444641)
Yeah I feel like what you say makes sense. Part of my issue comes from the fact that we're a pre-PMF startup, so rapid experimentation and prototyping really matters at the moment with very little room left for deep thought around testing and benchmarking.

The trouble comes later when the "experimental features" actually start getting traction and we discover all the holes in our implementation.

By the time we need to "productionize" our experiment, it has already been patched all over the place to account for bugs.

I get a feeling that this is made worse by the fact that since a lot of what we're doing is rapid prototyping, our repo is cluttered with examples of bad code that the agent picks up on and then goes ahead to copy in its own implementation.

I get that we need to clean this up, but it's crazy trying to figure out where to start and what to tackle

Re:How do you keep up quality when you vibe-code? by mpd on Tuesday November 10, 2026 @02:12PM (#50444818)
One of my mantras is 'fast is the best UX'. Users will put up with minor annoyances as long as they're over with quickly. Once you fix the annoyances, you're still fast, which leads to User Delight.

> I get that we need to clean this up, but it's crazy trying to figure out where to start and what to tackle

Enumerate, then fix-or-nix all known examples of bad code first. If you clear the path first, you will advance more quickly. It can feel frustrating having to do that, but my experience is that paying off tech debt earlier will prevent hitting the wall at an inopportune time.

Re:How do you keep up quality when you vibe-code? by smallerize on Tuesday November 10, 2026 @02:23PM (#50444981)
One thing that's surprisingly powerful is to just say what you want in the prompt. One of my skill files now includes "inspect existing code under [subdir] for implementation patterns." Depending how much code you have, that might take a lot of tokens. You could either list the patterns that you want or include a smaller code sample in the skill's references.

A stronger version of this would be to make a separate gate. Fail the commit if the new code duplicates something already in a utility function, renames something that already had a name, uses for-loops instead of list comprehensions, whatever is bothering you.

Re:How do you keep up quality when you vibe-code? by fox833 on Tuesday November 10, 2026 @02:48PM (#50445371)
Just know what you're doing, what and how you want it from a coding agent. It saves time on typing but not on thinking