The Basics
$definemonorepo--plain-english
TLDROne house, many rooms.
A monorepo is one house with more than one room.
Your frontend lives in apps/web. Your backend lives in apps/server. Shared stuff lives in packages/. One history. One install. One place to open the laptop and see the whole project.
The opposite is a street of houses: one for the website, one for the API, one for the phone app. Fine when those teams never talk. A hackathon team always talks.
| Feature | Three houses | One house |
|---|---|---|
| Open the laptop | Open three folders just to start | Open one folder. The whole project is there |
| Change a name | The other house still uses the old one | Both rooms notice right away |
| Go live | The website can go live while the kitchen is closed | One change updates the list, the kitchen, and the button |
| Deploy | Three moves. Three addresses | One push. The whole house packs itself |
| Opening night | Different nights | Dining room and kitchen go live together |
| If it's broken | Undo three nights | Undo one night |
Before: three houses, no hallway
Without a monorepo you live on a street.
Open the website folder. Then the API folder. Then the shared folder, if anyone remembered to make one. Change a name on a todo. Walk to the other house. Hope they wrote the same name.
Your teammate puts the website online. You put the kitchen online an hour later. For sixty minutes the demo is a dining room ordering from a kitchen that closed.
You spend the first hour opening three houses and the second hour googling why they hate each other.
After: one house, doors between rooms
With a monorepo the rooms share a hallway.
Open one folder. Install once. The website, the kitchen, and the shared names are already there. Change title to name in the shared room and both other rooms complain before you even run the app. That's a gift.
One pull request can change the list, the kitchen window, and the button. The judge never sees a half-open house.
The win is not "one folder." The win is one answer. If the kitchen says a todo has a title and the dining room thinks it has a name, three houses find out in front of guests. One house finds out at your desk.
During deploy: the house opens as one
Deploy is opening night.
Before — three houses, three moves, three addresses you tape together. The website goes to one lobby. The kitchen goes to another. You update one house and forget the other. Opening night is a scavenger hunt: which house is the old one?
After — one house, one robot. It packs from the front door. It builds only what changed. The dining room and the kitchen go live from the same night, so they agree about the menu. A rollback is one previous night, not three.
If the rooms disagree, the build already refused to zip the bag. Guests never saw it.
Why this shows up in the builder
Turborepo and Nx are not the house. They're the hallway lights. They make "build what changed" a sentence instead of a weekend.
You can skip them. You get folders that don't know about each other. That's a house with no hallway — you go outside to get to the kitchen.
What this unlocks
Once you see the house, "where do I put this file" gets easier. App stuff goes in the app. Shared stuff goes in a shared room. Don't invent a fourth house because a tutorial used a different floor plan.
Without a monorepo, you coordinate houses. With one, you walk the hallway. During deploy, the hallway is why the doors open on the same night.
One repo. Rooms with doors. A hallway between the ones that have to agree.