A bare bones Turborepo starter template for Next.js development with React, TailwindCSS, and TypeScript. This template provides a minimal, opinionated foundation that enforces strict code practices through Biome, eliminating linting configuration hassles while remaining flexible for any UI framework or design system.
This template is designed for developers who want:
- Zero lint configuration - Biome and Ultracite handle linting, formatting, and code quality out of the box
- Strict code practices - Enforces very strict code quality standards through Biome's comprehensive ruleset
- Minimal assumptions - No UI framework or design system assumptions; use whatever you need
- TypeScript-first - Full TypeScript support with shared configs across the monorepo
- Tailwind CSS ready - Basic Tailwind setup with PostCSS, but no style assumptions
- Developer experience - VS Code settings pre-configured for seamless development
apps/web- A minimal Next.js application with TypeScript and Tailwind CSS setup
The configs workspace provides shared configurations:
-
@config/typescript- TypeScript configurations:base.json- Base TypeScript config with strict settingsreact.json- React-specific TypeScript confignext.json- Next.js-specific TypeScript config
-
@config/tailwind- Tailwind CSS configuration:- Basic Tailwind stylesheet setup (
styles.css) - PostCSS configuration exports
- VS Code settings point to
configs/tailwind/styles.cssfor Tailwind IntelliSense
- Basic Tailwind stylesheet setup (
- Biome - Fast formatter and linter (replaces ESLint + Prettier)
- Ultracite - Config-free linting presets for Biome
- Extends
ultracite/core,ultracite/react, andultracite/nextpresets - Provides strict code quality rules without configuration
- Extends
Pre-configured tasks for optimal developer experience:
build- Build all apps and packagesdev- Start development serverscheck- Run Biome checks via Ultracitefix- Auto-fix issues via Ultracitecheck:types- TypeScript type checking across the monorepoclean- Clean build artifacts
This template is intentionally minimal and bare bones:
- ✅ Provides TypeScript, Tailwind, and Next.js foundations
- ✅ Enforces strict code quality through Biome
- ✅ Pre-configured VS Code settings for optimal DX
- ❌ No UI component library - Choose your own (shadcn/ui, Radix, Base, etc.)
- ❌ No design system assumptions - Build your own or use any design system
- ❌ No Tailwind style presets - Start with a clean slate
The goal is to give you a solid foundation without imposing design decisions, allowing you to build exactly what you need.
- Node.js >= 22
- pnpm >= 10.24.0 (recommended) or npm/yarn
# Clone or use this template
git clone <your-repo-url>
cd turbones-next
# Install dependencies
pnpm installStart the development server:
# With global turbo installed (recommended)
turbo dev
# Without global turbo
pnpm exec turbo devDevelop a specific app:
turbo dev --filter=webBuild all apps and packages:
turbo buildBuild a specific app:
turbo build --filter=webCheck code quality:
# Run Biome checks via Ultracite
pnpm check
# Auto-fix issues
pnpm fix
# Type check
pnpm check:typesTypeScript configs are shared via the @config/typescript package:
-
Base config (
base.json) - Strict TypeScript settings with:strict: trueandstrictNullChecks: truenoUncheckedIndexedAccess: truefor safer array/object access- Modern ES2022 target with NodeNext module resolution
-
React config (
react.json) - Extends base with React-specific settings -
Next.js config (
next.json) - Extends base with Next.js-specific settings
Tailwind is configured in configs/tailwind/:
- Basic
styles.csswith@import "tailwindcss" - PostCSS configuration exported for use in apps
- VS Code settings configured to use
configs/tailwind/styles.cssfor Tailwind IntelliSense
Apps can import the Tailwind config package and use it in their PostCSS setup.
Biome configuration (biome.jsonc) extends Ultracite presets:
ultracite/core- Core linting rulesultracite/react- React-specific rulesultracite/next- Next.js-specific rules
No additional configuration needed - Ultracite provides strict, opinionated rules out of the box.
Pre-configured settings (.vscode/settings.json):
- Biome as default formatter for JS/TS/JSON files
- Format on save and paste enabled
- Tailwind IntelliSense pointing to config stylesheet
- TypeScript SDK configured
Turborepo supports Remote Caching to share build caches across machines and CI/CD pipelines.
To enable Remote Caching with Vercel:
# Login to Vercel
turbo login
# Link your repository
turbo linkTip
Vercel Remote Cache is free for all plans. Get started at vercel.com.
Learn more about the tools and technologies used:
- Turborepo Documentation
- Biome Documentation
- Ultracite Documentation
- Next.js Documentation
- Tailwind CSS Documentation
MIT