Search anything:

Monorepo explained

Internship at OpenGenus

Get this book -> Problems on Array: For Interviews and Competitive Programming

Reading time: 20 minutes | Coding time: 10 minutes

Monorepo is:

  • A repository contains more than one logical project (e.g. an iOS client and a web-application)
  • These projects are most likely unrelated, loosely connected or can be connected by other means such as a dependency management tool like Bazel
  • The repository is large in many ways: Number of commits, Number of branches and/or tags, Number of files tracked, size of content tracked and many others

One good software design practice is to keep projects modular. If so, why is monorepo still in use?

Advantages of Monorepo

Advantages of Monorepo are:

  • Unified versioning, one source of truth;
  • Extensive code sharing and reuse
  • Simplified dependency management
  • Atomic changes
  • Large-scale refactoring
  • Collaboration across teams
  • Flexible team boundaries and code ownership
  • Code visibility and clear tree structure providing implicit team namespacing


Disadvantages of Monorepo are:

  • Massive tooling investments for both development and execution
  • Codebase complexity, including unnecessary dependencies and difficulties with code discovery
  • Effort invested in code health


Monorepo architecture is used by the following great companies: Google, Facebook and Twitter.

companies using monorepo

Interesting readings

Monorepo explained
Share this