A monorepo (monolith repository) is a software development strategy where multiple projects, packages, or services are stored in a single version control repository with well-defined relationships. This approach has gained significant adoption in 2026, powering codebases at companies like Google, Meta, Microsoft, and Uber. While monorepos offer benefits like simplified code sharing, atomic cross-project changes, and unified tooling, they introduce unique challenges around build performance, dependency management, and scalability that require specialized tools to solve. The key mental model: a monorepo doesn't just centralize code—it centralizes the dependency graph, making it a first-class citizen that build tools can leverage for affected detection, intelligent caching, and parallel task execution at scale.
What This Cheat Sheet Covers
This topic spans 15 focused tables and 84 indexed concepts, 71 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Core Monorepo Build Tools
These are the engines that make a monorepo bearable at scale—the tools that read your dependency graph and turn it into fast, cached, parallel builds. Pick by language and ambition: Turborepo and Nx own the JavaScript world, Bazel and Pants handle massive polyglot codebases, and pnpm anchors the whole thing as the package manager underneath. Knowing which one to reach for is half the battle, so start here before committing to any structure.
| Tool | Example | Description | |
|---|---|---|---|
turbo run build --filter=web... | • JavaScript/TypeScript-focused build system emphasizing simplicity and speed • uses remote caching and task pipeline configuration • acquired by Vercel • most popular choice for modern JS monorepos in 2026 | ||
nx affected:build --parallel=3 | • Full-featured monorepo platform with affected detection, code generation, dependency graph visualization, and plugin ecosystem • powers enterprise-scale TypeScript/JavaScript monorepos • includes Nx Cloud for distributed caching | ||
bazel build //services/api:deploy | • Google's multi-language build tool emphasizing hermetic builds and reproducibility • best for massive polyglot codebases requiring distributed execution • steep learning curve but unmatched scalability | ||
pnpm --filter "./packages/**" build | • Fast package manager with best-in-class workspace support and strict dependency resolution • uses content-addressable storage to save 50-70% disk space • 2-3× faster than npm • widely adopted in 2026 | ||
lerna bootstrap --hoist | • Legacy monorepo tool for JavaScript • bootstrap and link commands deprecated in favor of native package manager workspaces• still used for versioning/publishing via changesets integration | ||
rush update && rush build | • Microsoft's enterprise-oriented monorepo manager emphasizing policy enforcement and reproducible installs • supports npm/pnpm/yarn • includes phantom dependency detection | ||
moon run app:build --affected | • Polyglot task runner written in Rust supporting JavaScript, TypeScript, Go, Rust, Ruby • features WASM plugin system and automatic toolchain management • emerging tool gaining traction in 2026 | ||
pants package :: | • Python-focused build system similar to Bazel • provides fine-grained caching and remote execution • best for large Python monorepos requiring reproducible builds |