Monorepo vs Polyrepo:
A Decision Guide for 2026
Not another glossary. Real benchmark data, honest tradeoffs, and an interactive decision tool that maps your team profile to a specific recommendation.
Large distributed eng org
Services isolated by team boundary. Internal tooling. source
The Honest Take
Monorepo wins for cross-cutting changes and unified tooling. Polyrepo wins for isolation and independent deployment cadence. The decision is dominated by team size and language mix more than codebase size. A 10-engineer JS/TS team consolidating into a Turborepo monorepo is a two-day project. A 50-engineer polyglot team moving to Bazel is a 6-month platform project.
The worst outcome is migrating without a clear pain trigger. Most "we should consolidate" conversations are about code sharing, which is solvable in polyrepo with a private npm registry. The real monorepo triggers are: frequent atomic cross-service changes, unified dependency management breaking down, or CI costs scaling with repo count.
Real Benchmark
Faros AI studied 320 engineering teams: median PR cycle time 19 hours (monorepo) vs 2 hours (polyrepo). Caveat: monorepo PRs are larger. The delta signals that PR discipline matters more than repo layout. Source: Faros AI
If CI cost is driving this conversation: CI/CD cost calculator | CI/CD cost guide
Definitions (the short version)
Monorepo
One repository containing multiple projects, packages, or services. Cross-package changes are a single commit. Shared tooling, one CI config.
Polyrepo (Multirepo)
Each project lives in its own repository. Independent release cycles. Code sharing requires published packages. Also called multirepo.
Hybrid
Monorepo per bounded domain, isolated across domain boundaries. Common at 500+ engineers. One monorepo per product area.
Tool Comparison Matrix (2026)
Full comparison with deep divesLerna v9 (September 2025) dropped bootstrap/add/link. Actively maintained by Nrwl but use case is narrower than v3-v5. Is Lerna still maintained?
Who Uses What at Scale
All case studies2 billion LOC, 40k commits/day
Piper VCS + Bazel. 25k+ engineers. The case most teams cite but cannot replicate.
Potvin & Levenberg, CACM 2016 →Meta (Facebook)
MonorepoUnified Android/iOS/web/server
Mercurial fork (Sapling). Custom VFS for partial-clone at scale.
Meta Engineering Blog →Cash App / Block
Monorepo~450 JVM services consolidated
Multi-quarter migration. ~2 years to feel the full win. Bazel-based.
Block Engineering Blog →Spotify
PolyrepoLarge distributed org
Primarily polyrepo. Services isolated by team boundary. Custom internal tooling.
Spotify Engineering →Frequently Asked Questions
Where to Go From Here
Decision Tree
Walk 5-6 questions to your recommendation
When Polyrepo Wins
The counter-narrative most sites skip
By Team Size
Startup / mid-size / enterprise
Pros and Cons
Honest table with citations
Tool Comparison
Nx, Turborepo, Bazel, Rush, Pants, Lerna
Code Samples
Same task, side-by-side in mono vs poly
Migration Cost
Real numbers from real teams
Case Studies
Google, Meta, Cash App, Proton, Airbnb
Cross-portfolio: If team size is your main input, see engineering hiring cost for the hiring side of this decision. For platform team context, see platform engineering cost.