Skip to main content
Development

What is a monorepo and when should you use one?

A monorepo is a single repository that contains multiple projects, packages, or services. Instead of separate repos for your frontend, backend, and shared libraries, everything lives together with shared tooling and dependencies. Tools like Turborepo, Nx, and pnpm workspaces make monorepos practical at scale. Use one when your projects share code, need coordinated releases, or when context-switching between repos creates friction.

Key Considerations

  • Monorepos simplify dependency management — shared packages update everywhere at once
  • Build tooling is critical — without caching and task orchestration, CI times balloon
  • Not every team benefits — small independent projects may be simpler as separate repos
  • Code ownership and review processes need clear boundaries even within one repo