There comes a point in every engineering organization where the repository stops feeling like a tool and starts feeling like regional infrastructure.
Folders become provinces. Build graphs become geopolitics. Somebody says “boundary” with the tone of a treaty negotiator and everyone else nods as if this is normal.
And still I defend the monorepo, because at least when everything breaks, it breaks in one place with a single ceremonial lockfile.
That is not convenience. That is culture.
Critics say this arrangement creates coupling, opacity, and endless CI sorrow. They are correct, but they miss the deeper civic achievement: a monorepo creates the rare workplace condition in which frontend, backend, and platform engineers are forced to acknowledge one another as co-tenants.
In smaller repos, teams can preserve the fantasy that their decisions are local. In a monorepo, every innocent refactor eventually wanders into three adjacent kingdoms and returns carrying diplomatic consequences.
That is why defenders like me remain loyal. Not because the system is healthy, but because it makes the damage legible. If the entire company must gather around one failing pipeline, then at least the theater is honest.
