Skip to content
New Project

Turborepo & Gatsby Starter

This is an official starter Turborepo with a Gatsby app, a Next.js app, and a React.js component library shared by both applications.

DeployView Demo

Turborepo Gatsby.js starter

This is a community-maintained example. If you experience a problem, please submit a pull request with a fix. GitHub Issues will be closed.

Using this example

Use Node.js 26.11.1 or newer and pnpm 12.11.2. Install the declared package manager and create the workspace:

npm install --global pnpm@12.11.2
npx create-turbo@2.11.8 -e with-gatsby
cd my-turborepo
pnpm install

The workspace explicitly approves the install scripts needed by Gatsby and its native dependencies in pnpm-workspace.yaml.

What's inside?

Apps and Packages

  • docs: a Next.js Pages Router app
  • web: a Gatsby.js app
  • @repo/ui: a React component library shared as TypeScript source by both applications
  • @repo/eslint-config: shared ESLint flat configurations, including the Next.js plugin, Turbo rules, and Prettier compatibility
  • @repo/typescript-config: shared TypeScript configurations

Both apps use React 19. Gatsby compiles @repo/ui with gatsby-plugin-compile-es6-packages; Next.js uses transpilePackages.

Utilities

  • TypeScript for static type checking
  • ESLint for code linting
  • Prettier for code formatting

Build

From the workspace root:

pnpm build

Develop

pnpm dev

Open the Gatsby app at http://localhost:8000 and the Next.js app at http://localhost:3001.

Lint and type check

pnpm lint
pnpm check-types

To run all non-persistent checks together:

pnpm exec turbo run build lint check-types

Preview production builds

After building, run pnpm --filter web start for Gatsby at port 9000 or pnpm --filter docs start for Next.js at port 3001.

Remote Caching

[!TIP] Vercel Remote Cache is free for all plans. Get started today at vercel.com.

Turborepo can use Remote Caching to share cache artifacts across machines, enabling your team and CI/CD pipelines to share build caches.

By default, Turborepo caches locally. To enable Remote Caching, create a Vercel account, then run these commands from the workspace root using the installed CLI:

pnpm exec turbo login
pnpm exec turbo link

Useful Links

  • Tasks
  • Caching
  • Remote Caching
  • Filtering
  • Configuration Options
  • CLI Usage
GitHub
Ownervercel
Repositoryturborepo
Use Cases
Monorepos
Starter
Stack
Gatsby
CSS

Related Templates

Turborepo & Next.js Starter

This is an official starter Turborepo with two Next.js sites and three local packages
Turborepo & Next.js Starter thumbnail

Turborepo & SvelteKit Starter

This is an official starter Turborepo with two SvelteKit apps and two local packages.
Turborepo & SvelteKit Starter thumbnail
DeployView Demo
LicenseView License