Turborepo is a high-performance build system for JavaScript and TypeScript monorepos. It addresses one of the main pain points of monorepo development: build times that grow linearly as the number of packages increases. Turborepo solves this through intelligent caching it stores the output of every task and skips re-running tasks whose inputs have not changed.
The caching works both locally and remotely. Local caching means that running the same build twice on your machine is nearly instant the second time. Remote caching, via Vercel's infrastructure or a self-hosted solution, means that cache hits can be shared across team members and CI machines so if a colleague already built a package, your CI run can skip that build entirely.
For teams managing monorepos with multiple packages or applications, Turborepo reduces the time spent waiting for builds and tests. The task pipeline configuration ensures that packages are built in the correct dependency order, and parallel execution uses all available CPU cores.
For CI/CD pipelines, the remote caching feature provides the most significant benefit. Rather than rebuilding every package on every CI run, Turborepo checks the remote cache and only runs tasks for packages that have actually changed. This can reduce CI times from minutes to seconds for large monorepos.
Turborepo is free and open source. Remote caching via Vercel is free for personal use and included in Vercel team plans. Self-hosted remote caching is also supported.