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

This is a community-maintained example. If you experience a problem, please submit a pull request with a fix. GitHub Issues will be closed.
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.2npx create-turbo@2.11.8 -e with-gatsbycd my-turborepopnpm install
The workspace explicitly approves the install scripts needed by Gatsby and its native dependencies in pnpm-workspace.yaml.
docs: a Next.js Pages Router appweb: 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 configurationsBoth apps use React 19. Gatsby compiles @repo/ui with gatsby-plugin-compile-es6-packages; Next.js uses transpilePackages.
From the workspace root:
pnpm build
pnpm dev
Open the Gatsby app at http://localhost:8000 and the Next.js app at http://localhost:3001.
pnpm lintpnpm check-types
To run all non-persistent checks together:
pnpm exec turbo run build lint check-types
After building, run pnpm --filter web start for Gatsby at port 9000 or pnpm --filter docs start for Next.js at port 3001.
[!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 loginpnpm exec turbo link