create-turbo
Quickly set up a new Turborepo repository from scratch.
The easiest way to get started with Turborepo is by using create-turbo. Use this CLI tool to quickly start building a new monorepo, with everything set up for you.
pnpm dlx create-turbo@latestyarn dlx create-turbo@latestnpx create-turbo@latestbunx create-turbo@latestStart with an example
The community curates a set of examples to showcase ways to use common tools and libraries with Turborepo. To bootstrap your monorepo with one of the examples, use the --example flag:
pnpm dlx create-turbo@latest --example [example-name]yarn dlx create-turbo@latest --example [example-name]npx create-turbo@latest --example [example-name]bunx create-turbo@latest --example [example-name]Use any of the example's names below:
Core-maintained examples
The following examples are maintained by the Turborepo core team. Dependencies are kept as up-to-date as possible and GitHub Issues are accepted and addressed for these examples.
| Name | Description |
|---|---|
| Basic | Basic monorepo example with two Next.js applications |
| Kitchen sink | Multiple frameworks, both frontend and backend |
| Non-monorepo | A standalone application using Turborepo |
| Shell commands | A nearly empty Turborepo - useful for creating reproductions for GitHub Issues |
| SvelteKit | Monorepo with multiple SvelteKit apps sharing a UI Library |
| TailwindCSS | Monorepo with multiple Next.js apps sharing a UI library built with TailwindCSS |
Community-maintained examples
The community curates a set of examples to showcase ways to use common tools and libraries with Turborepo. To bootstrap your monorepo with one of the examples, use the --example flag:
| Name | Description |
|---|---|
| Design System | Unify your site's look and feel by sharing a design system across multiple apps |
| Angular | Minimal Turborepo example for learning the fundamentals |
| Yarn Berry | Monorepo example using Yarn Berry (Yarn 3) |
| Biome | Basic monorepo example with two Next.js applications and integrated Biome configuration |
| Changesets | Configured to publish packages via Changesets |
| Docker | Monorepo with an Express API and a Next.js App deployed with Docker utilizing turbo prune |
| Gatsby | Monorepo with a Gatsby.js and a Next.js app both sharing a UI Library |
| Nest.js | Monorepo with Nest.js |
| npm workspaces | Monorepo example using NPM workspaces |
| Prisma | Monorepo with a Next.js App fully configured with Prisma |
| React Native | Simple React Native & Next.js monorepo with a shared UI library |
| Rollup | Monorepo with a single Next.js app sharing a UI library bundled with Rollup |
| Solid.js | Monorepo example with SolidJS applications |
| typeorm | Monorepo with a Next.js App fully configured with typeorm |
| Vite | Monorepo with multiple Vanilla JS apps bundled with Vite, sharing a UI Library |
| Vite + React | Monorepo example with Vite and React |
| Vitest | Monorepo example with Vitest for testing |
| Vue/Nuxt | Monorepo with Vue and Nuxt, sharing a UI Library |
| Yarn | Monorepo example using Yarn workspaces |
Use a community example
You can also use a custom starter or example by using a GitHub URL. This is useful for using your own custom starters or examples from the community.
pnpm dlx create-turbo@latest --example [github-url]yarn dlx create-turbo@latest --example [github-url]npx create-turbo@latest --example [github-url]bunx create-turbo@latest --example [github-url]Options
-m, --package-manager to use (choices: "npm", "yarn", "pnpm", "bun")
--skip-install: Do not run a package manager install after creating the project (Default: false)
--skip-transforms: Do not run any code transformation after creating the project (Default: false)
--turbo-version <version>: Use a specific version of turbo (default: latest)
-e, --example [name]|[github-url]: An example to bootstrap the app with. You can use an example name from the official Turborepo repo or a GitHub URL. The URL can use any branch and/or subdirectory
-p, --example-path <path-to-example>: In a rare case, your GitHub URL might contain a branch name with a slash (e.g. bug/fix-1) and the path to the example (e.g. foo/bar). In this case, you must specify the path to the example separately: --example-path foo/bar
-v, --version: Output the current version
-h, --help: Display help for command