Choose the right build system for your monorepo by comparing Bazel, Nx, Turborepo, Pants, and others in one place.
Read research from Google and Atlassian on the trade-offs of monorepo vs multi-repo before committing to a structure.
Find a migration tool to combine several separate Git repositories into one monorepo without losing history.
Set up CI that only runs tests for the projects actually affected by a given code change.
This is a reference list, not software, no installation required, just read and pick the tools that fit your stack.
A monorepo is a single code repository that holds multiple related projects together, rather than keeping each project in its own separate repository. Companies like Google, Facebook, and Twitter have used this approach at large scale. This repository is a curated list of tools, articles, and resources for teams who want to work this way. The list is organized into several categories. Build systems and dependency management covers tools like Bazel (from Google), Buck (from Facebook), Nx, Turborepo, Lerna, Pants, and many others. These tools handle the problem of only rebuilding the parts of a codebase that actually changed, instead of rebuilding everything from scratch every time. Repository management tools cover utilities for syncing packages, running scripts across multiple projects at once, and keeping dependency versions consistent. There is a section of recommended reading: articles and research papers from Google, Atlassian, and others that explain the trade-offs of the monorepo approach versus splitting projects into many separate repositories. Another section covers version control systems and add-ons, with a focus on Git techniques like shallow clones and sparse checkouts that help manage large repositories more efficiently. There are also entries for Mercurial-based tooling. The list includes development process tools such as continuous integration systems that can detect which projects were affected by a change and only run the relevant tests. It also links to notable public monorepos you can study as examples, and to migration tools that help you combine separate repositories into one. The list is available in both English and Simplified Chinese, and accepts contributions through pull requests on GitHub.
← korfuri on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.