Skip to content
EntityQ25894883· pop 6· linked from 58 articles

Also known as monorepos

In version-control systems, a monorepo ("mono" meaning 'single' and "repo" being short for 'repository') is a software-development strategy in which the code for a number of projects is stored in the same repository. This practice dates back to at least the early 2000s, when it was commonly called a shared codebase. Google, Meta, Microsoft, Uber, Airbnb, and Twitter all employ very large monorepos with varying strategies to scale build systems and version control software with a large volume of code and daily changes.

~6 min read

Encyclopedic overview

6 sections
Contents
  • Advantages
  • Limitations and disadvantages
  • Scalability challenges
  • Scaling version control software
  • Scaling build software
  • References

In version-control systems, a monorepo ("mono" meaning 'single' and "repo" being short for 'repository') is a software-development strategy in which the code for a number of projects is stored in the same repository. This practice dates back to at least the early 2000s, when it was commonly called a shared codebase. Google, Meta, Microsoft, Uber, Airbnb, and Twitter all employ very large monorepos with varying strategies to scale build systems and version control software with a large volume of code and daily changes.

A related concept is a monolithic application, but whereas a monolith combines its sub-projects into one large project, a monorepo may contain multiple independent projects.

Excerpted from Wikipedia’s “monorepo” article, available under the CC BY-SA 4.0 licence.

Available in 5 languages

via Wikidata sitelinks · CC0