Skip to content
The Internet Compass

Open Source

Monorepo

A monorepo is a single version-control repository that holds the source code for multiple distinct projects or services — as opposed to a "polyrepo" approach, where each project lives in its own separate repository.

The core trade-off is well understood: monorepos make cross-project changes atomic (a single commit can update a library and every consumer of it in the same repository) and simplify shared tooling and dependency versions, at the cost of requiring more sophisticated build tooling to avoid every change triggering a full rebuild of everything.

Large organisations running monorepos at scale (Google's and Meta's are the most frequently cited examples) rely on purpose-built build systems specifically to make incremental builds and targeted test runs possible — a generic build tool applied naively to a large monorepo becomes impractically slow.