What is Monorepo?
A single version-controlled repository containing multiple projects or packages that share tooling, dependencies, and atomic commits.
Definition
A monorepo hosts many applications and libraries in one repository, enabling atomic cross-project changes, one dependency graph, and shared lint/build/test configuration. Google, Meta, and Microsoft run famous internal monorepos; the open ecosystem relies on pnpm/npm workspaces plus orchestrators like Turborepo, Nx, and Bazel that provide task graphs, remote caching, and "affected"-only builds so CI cost doesn't scale with repo size. Compared to polyrepos, versioning drift between internal packages disappears and refactors span consumers in one PR, but discipline is required around ownership boundaries (CODEOWNERS) and build times. Changesets automates versioned publishing from within one.

