Skip to content

Guide · Open source

How to use Turborepo: setup, tasks and common questions

Updated · written with AI from the project's own documentation and checked against our catalogue data

Turborepo is a build tool for projects that keep several JavaScript or TypeScript packages in one repository, called a monorepo. It runs build, test and lint tasks across those packages and aims to make repeated builds faster. This guide explains what it is, when it fits, how to get started, and what the source material does and does not cover.

Turborepovercel/turborepo · ★ 31.3k · MIT

Quick start

  1. 1Confirm you have a monorepo. Turborepo is built for several JavaScript or TypeScript packages in one repository. If you have a single package, it will add little value.
  2. 2Open the official site. The README links to turborepo.dev for getting started. Use it for the full install steps.
  3. 3Install the npm package. The project is installed through a package manager, using the npm package named turbo.
  4. 4Set up your workspace tasks. Configure build, test and lint tasks across your packages following the official documentation.
  5. 5Run tasks and measure. Run your tasks and compare build times with your previous setup on your own code.

What Turborepo does in a monorepo

A monorepo holds multiple apps or packages in a single Git repository. Turborepo sits on top of that setup and runs tasks such as build, test and lint across the packages.

The project describes its focus as speed in a monorepo setup. Its core is written in Rust, and it is published under the MIT license by Vercel.

  • Runs build, test and lint tasks across several packages
  • Targets JavaScript and TypeScript projects
  • Core written in Rust
  • Licensed under MIT

Check whether Turborepo fits your project

Turborepo is aimed at teams maintaining a JavaScript or TypeScript monorepo with several apps or packages. It is also a fit for developers who want a build tool focused on speed in that setup, and for projects already using the npm package named turbo.

It is not a good match for a single-package project, where monorepo features add little value, or for non-JavaScript projects, since its description targets JavaScript and TypeScript.

  • Good fit: several JavaScript or TypeScript apps or packages in one repo
  • Good fit: already using the npm package named turbo
  • Poor fit: a single-package project
  • Poor fit: non-JavaScript projects

Install Turborepo and get the source

The source lists the install method as a package manager and names no prerequisites. The README itself only links to the website for getting started, so the full install walkthrough lives at turborepo.dev.

If you want to read the code, the README gives a clone command for the repository.

  • Install method: package manager (npm package named turbo)
  • Full getting-started guide: https://turborepo.dev
  • Prerequisites: none listed in the source
git clone https://github.com/vercel/turborepo

Run your first tasks

Once installed, use Turborepo to run build, test and lint tasks across your workspace packages. The source does not list specific task commands or configuration file names, so follow the official documentation at turborepo.dev for the exact setup steps.

Because the project aims to make repeated builds faster, it is worth comparing timings before and after adopting it on your own repository. The source does not publish benchmarks.

  • Confirm your repo is a monorepo with several packages
  • Follow the official setup at turborepo.dev
  • Measure build times yourself before and after

Find help and the community

Questions can go to GitHub Discussions, and there is a Vercel Community tag for Turborepo. The project also asks that security vulnerabilities be reported privately by email rather than in a public issue.

Contributions are described in CONTRIBUTING.md in the repository.

  • GitHub Discussions: https://github.com/vercel/turborepo/discussions
  • Vercel Community tag: #turborepo
  • Security reports: security@vercel.com, not a public issue

Compare Turborepo with similar tools

Projects often compared with Turborepo include Nx, Lerna and Rush. The source does not include a feature comparison, so judge them against your own needs and test on your own repository.

  • Nx
  • Lerna
  • Rush

What people use it for

  • Building several apps and shared packages from one repository
  • Running test and lint tasks across all JavaScript or TypeScript packages in a monorepo
  • Speeding up repeated builds in a team monorepo
  • Keeping a set of TypeScript packages organised under one build system

Frequently asked questions

Is Turborepo free?

Yes, the project is published under the MIT license by Vercel. You can read the license in the repository's LICENSE file.

What license does Turborepo use?

Turborepo is licensed under MIT. The license is shown on the project's GitHub page and in the repository.

Do I need a monorepo to use Turborepo?

Turborepo is designed for monorepos with several JavaScript or TypeScript packages. For a single-package project, its monorepo features add little value.

Where is the install guide for Turborepo?

The README only links to turborepo.dev for getting started. The full installation steps are on that website.

What are alternatives to Turborepo?

Projects compared with Turborepo include Nx, Lerna and Rush. The source does not compare them in detail, so test each on your own repository.

Can Turborepo be used with languages other than JavaScript?

The project is described as targeting JavaScript and TypeScript, so non-JavaScript projects are not a good fit according to the source.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Turborepo suits teams running a JavaScript or TypeScript monorepo with several apps or packages who want a build tool focused on speed. If you have a single package or a non-JavaScript project, or you need a detailed install guide inside the README, pick another option such as Nx, Lerna or Rush and check its documentation.

Install options & downloads