There is a moment in every vibe-coded project where you stop knowing what your own project contains. Bugs become unfixable, because you cannot form a theory about code you have never read. This is the wall most projects die at, and getting over it does not require learning to write code from scratch.

Read the shape, not the syntax

You do not need to understand every line. You need to answer four questions about any file:

  1. What comes in?
  2. What goes out?
  3. What does it change that isn't returned — files, database rows, the page?
  4. What happens when something fails?

A file you can answer those about is a file you can debug, regardless of whether you could have written it.

Get the map first

map-the-project.txt
Here is my project's file list: <paste>
And here is the entry point: <paste that file>

Walk me through what happens when a user does <the main thing>. Name
each file in order and one line on what it contributes. Plain English,
no code in the answer.

Then: which three files would I need to understand to fix most bugs?

Then read one file properly

Pick the most important file from that answer and go through it out loud with the model. Not "explain this file" — that produces a summary you will forget. Instead:

read-with-me.txt
I'm going to read this file section by section. Here is the first part:
<paste 20-30 lines>

Tell me: what does this do, why is it here, and what would break if I
deleted it? If anything in it is unusual or clever, flag it — I'd
rather know now than discover it at midnight.

Twenty lines at a time. It is slower than asking about the whole file and it is the only version that sticks.

Signs you should be suspicious

While reading, keep a list. Code you generated in a hurry tends to accumulate the same things: functions nobody calls, two functions that do the same job slightly differently, a config value hard-coded in three places, error handling that catches everything and does nothing with it.

An empty catch block is the most common one. It converts a crash you would have fixed into behaviour that silently does nothing, which is much harder to debug.

Do it every few sessions

Rebuilding the map takes fifteen minutes and it is the difference between a project you can keep working on and one you can only add to. Do it before you feel lost, not after.