---
title: "Monorepo"
slug: "monorepo"
category: "glossary"
tags: ["glossary", "file-organization", "monorepo", "repos", "tooling"]
status: "stable"
last_updated: 2026-05-14
summary: "A monorepo is a single repository containing multiple projects, services, or libraries that share tooling, history, and atomic cross-project commits."
related:
  [
    "[[file-organization/monorepo]]",
    "[[comparisons/monorepo-vs-polyrepo]]",
    "[[glossary/polyrepo]]",
    "[[file-organization/project-structure]]",
    "[[file-organization/large-codebase]]",
    "[[tooling/github]]",
  ]
---

## Overview

This page is the atomic definition. The deep-dive lives at [[file-organization/monorepo]].

## Definition

A monorepo is a single version-controlled repository that contains multiple projects, services, or libraries. The projects share tooling, dependency manifests, and commit history, which makes cross-project refactors atomic and code reuse trivial. Examples include Google's company-wide monorepo (google3), Meta's, and open-source monorepos managed with pnpm workspaces, Turborepo, Nx, Bazel, or Buck. A monorepo is a layout choice; it does not require a specific build system.

## When it applies

Use a monorepo when projects share types, packages, or release cycles, or when atomic cross-project changes matter. Avoid it when teams are fully isolated and tooling cost outweighs the integration benefit. See [[comparisons/monorepo-vs-polyrepo]] for the tradeoff matrix.

## Example

A web app and its shared design system live in one repo as `apps/web` and `packages/ui`. A single PR can change the button component and update every call site in `apps/web` at once, with one CI run validating both.

## Related concepts

- [[file-organization/monorepo]] - the deep-dive with tooling and tradeoff guidance.
- [[glossary/polyrepo]] - the contrasting layout strategy.
- [[comparisons/monorepo-vs-polyrepo]] - the head-to-head comparison.
- [[file-organization/project-structure]] - the broader project layout discipline.
- [[file-organization/large-codebase]] - patterns for scaling a monorepo past a few teams.

## Citing this term

> See [[glossary/monorepo|Monorepo]] (llmbestpractices.com/glossary/monorepo).

## Related

- [[file-organization/monorepo]]
- [[comparisons/monorepo-vs-polyrepo]]
- [[file-organization/project-structure]]
- [[glossary/polyrepo]]
- [[file-organization/large-codebase]]
