Open Source Template

Turborepo Example

A modern monorepo template with everything you need to build, ship, and scale.

Next.js 16 React 19 Tailwind CSS v4 TypeScript 5.9

Tech Stack

Built on a modern, production-ready foundation.

Next.js

16.1.7

React

19.2.4

Tailwind CSS

4.2.1

TypeScript

5.9.3

Turborepo

2.8.12

pnpm

10.29.3

shadcn/ui

Components

Nextra

4.6.1

What's Inside

Two applications and three shared packages, all wired together.

Apps
apps/web Next.js application with Tailwind CSS and shared UI components. Runs on port 3000.
apps/docs Nextra-powered documentation site with search, MDX, and theme customization. Runs on port 3001.

Packages
packages/ui Shared React component library built with shadcn/ui, Radix primitives, and Tailwind CSS.
packages/tsconfig Shared TypeScript configurations for Next.js apps and React libraries.
packages/eslint-config-custom Shared ESLint configuration extending Next.js, Turborepo, and Prettier rules.

Features

Everything you need, nothing you don't.

Turborepo Caching

Incremental builds with content-aware hashing. Only rebuild what changed.

Shared UI Library

shadcn/ui components with Radix primitives, shared across all apps via workspace references.

TypeScript Strict Mode

Centralized tsconfig with strict type checking, declaration maps, and isolated modules.

Tailwind CSS v4

CSS-first configuration with custom theme variables, dark mode, and PostCSS integration.

Nextra Documentation

Full documentation site with MDX, full-text search, and automatic navigation.

pnpm Workspaces

Fast, disk-efficient package management with native monorepo workspace support.

Quick Start

Up and running in under a minute.

# Clone the repository
git clone https://github.com/owieth/turborepo-example.git
cd turborepo-example

# Install dependencies
pnpm install

# Start all apps in development mode
pnpm dev

Project Structure

A clean, scalable monorepo layout.

turborepo-example/ apps/ web/ Next.js application docs/ Nextra documentation packages/ ui/ Shared component library tsconfig/ TypeScript configurations eslint-config-custom/ ESLint shared config package.json Root monorepo config turbo.json Turborepo task orchestration pnpm-workspace.yaml Workspace definition