What Is a Monorepo? | Vantage

Monorepo A monorepo (monolithic repository) is a single version-controlled repository that holds the code for multiple distinct projects, services, or packages. All teams commit to the same repository, sharing tooling, build configuration, and dependencies. This contrasts with a polyrepo approach where each service or project lives in its own repository. Companies like Google (Piper), Facebook (Mercurial), and Microsoft (GVFS) have operated at extreme monorepo scale. Tools like Nx, Turborepo, and Bazel manage build performance in large monorepos.

Why monorepo matters

The fundamental trade-off is atomic cross-project changes versus team autonomy. In a monorepo, changing a shared library and all its consumers in a single commit is atomic and safe. In a polyrepo, the same change requires coordinating releases across repositories, creating version incompatibilities and delayed integration. For closely coupled services — a platform with multiple apps sharing a design system and API types — a monorepo is dramatically simpler. For independently deployed services owned by different teams, a polyrepo gives teams the autonomy to own their release cadence.

How it works

All projects live in subdirectories of a single repository. Shared code lives in packages/ or libs/ directories. Build tools understand the dependency graph between packages and only rebuild affected packages when code changes. CI runs targeted tests — only the services that depend on changed code are retested. Versioning strategies differ: some teams version all packages together (lockstep), others version independently (each package has its own version). Access control at the directory level can simulate team ownership within a shared repo.

Common mistakes

  • Mixing tightly and loosely coupled services in the same monorepo — services that deploy independently on different cadences create noise for each other

  • No build caching — a monorepo without caching is a monorepo where every CI run rebuilds everything, which does not scale

  • No clear ownership model — without CODEOWNERS or directory-level policies, everything belongs to everyone and nothing belongs to anyone

  • Treating a monorepo as a single deployable unit — services in a monorepo should still deploy independently

  • Not investing in tooling — a monorepo without proper build orchestration (Nx, Turborepo) becomes slower as it grows

Related terms

How Vantage relates

Vantage supports GitHub integration for monorepos. When engineers query the codebase, Vantage understands the package structure and generates tickets that reference the correct packages. Cross-service dependencies surfaced by the knowledge graph help PMs understand which teams are affected by a given PRD change.

Frequently asked questions

Put product concepts into practice

Vantage connects theory to execution. Generate grounded PRDs, track requirements, and ship with confidence.

Free to start. No credit card required.

Related reading