
Template details
Turborepo & Next.js Starter
Official Turborepo starter with two Next.js apps and three shared packages, fully typed in TypeScript.
About this template
Turborepo & Next.js Starter is an official boilerplate from the Turborepo core team for scaffolding a monorepo that pairs the Turborepo build system with two Next.js applications. It ships with a shared React component library, shared ESLint and TypeScript configurations, and preconfigured commands for building, developing, and remote caching across all packages.
What is the Turborepo & Next.js Starter?
It is a minimal monorepo template maintained by the Turborepo core team. Run npx create-turbo@latest to generate a workspace containing a docs app and a web app, both built with Next.js, plus three local packages: @repo/ui, @repo/eslint-config, and @repo/typescript-config. Every app and package is 100% TypeScript, and the repository includes ESLint for linting and Prettier for code formatting.
Key Features
- Two Next.js apps —
docsandwebare separate Next.js applications included in the starter, demonstrating how to run multiple front-end sites from one repository. - Shared UI component library —
@repo/uiis a React component library stubbed for reuse by bothwebanddocs, so UI code is written once and consumed everywhere. - Centralized ESLint setup —
@repo/eslint-configbundleseslint-config-nextandeslint-config-prettier, giving every package consistent linting rules out of the box. - Shared TypeScript configs —
@repo/typescript-configprovidestsconfig.jsonpresets used throughout the monorepo, so type checking behavior is uniform across apps and packages. - Preconfigured build and dev commands —
turbo buildandturbo devrun tasks across all packages, with--filter=docsor--filter=webto target a single app. - Remote Caching with Vercel — the starter supports Turborepo Remote Caching;
turbo loginandturbo linkconnect the CLI to a Vercel account to share cache artifacts across team machines and CI/CD pipelines.
Who is it for?
This starter is aimed at developers building JavaScript or TypeScript monorepos with Turborepo. Team leads can use it as a baseline for multi-app projects, front-end engineers can extend the two Next.js sites, and open-source maintainers can fork it to publish their own Turborepo-based templates. Because the repo is maintained by the Turborepo core team, it also serves as a reference for the recommended project layout and configuration.
Use cases
- Teams managing several Next.js sites: start from the two-app layout and add more applications as the monorepo grows.
- Design system authors: replace the stub
@repo/uiwith a real component library and share it across thewebanddocsapps. - CI pipeline builders: use the preconfigured
turbo buildcommands and Remote Caching to reduce build times by reusing cache artifacts.
How does it work?
Run npx create-turbo@latest to generate a new workspace. After scaffolding, you can run turbo build to build all apps and packages, turbo dev to start development servers, and --filter=web to scope either command to a single app. To enable Remote Caching, run turbo login with a Vercel account, then turbo link to connect the repository to Vercel Remote Cache, which is free on all plans.
FAQ
Is the Turborepo & Next.js Starter free?
The starter itself is part of the open-source Turborepo project, and the README notes that Vercel Remote Cache is free for all plans. You can create a Vercel account to use Remote Caching without a paid tier.
How do I create a project from this starter?
Run npx create-turbo@latest from the command line. The command scaffolds the monorepo with the docs and web Next.js apps and the three local packages described in the README.
Can I build only one app?
Yes. Use Turbo filters, for example turbo build --filter=docs or turbo dev --filter=web, to run the task for a single package instead of the whole monorepo.
Does the starter include TypeScript?
Every app and package in the starter is 100% TypeScript, and a shared @repo/typescript-config package provides tsconfig.json presets used across the monorepo.
How do I enable Remote Caching?
Run turbo login to authenticate with a Vercel account, then run turbo link to connect the repository. After linking, Turborepo shares build cache artifacts across machines and CI/CD pipelines via Vercel Remote Cache.















