Software Development

Monorepo

Definition

A monorepo (monolithic repository) is a software development strategy where code for many projects is stored in the same repository.

Why It Matters

Monorepos can simplify dependency management and encourage code sharing and collaboration across large organizations. It makes it easier to make large-scale, atomic changes across multiple projects.

Contextual Example

Large tech companies like Google and Facebook famously use monorepos to house the source code for almost all of their software. This allows an engineer to easily find and use code from another team.

Common Misunderstandings

  • The alternative to a monorepo is a "polyrepo" architecture, where each project has its own separate repository.
  • Managing a monorepo comes with its own set of challenges, particularly around tooling and build times at scale.

Related Terms

Last Updated: December 17, 2025