A modern, scalable monorepo starter kit built with Next.js, TypeScript, Tailwind CSS, and testing tools.
- ⚡ Turborepo - High-performance build system for JavaScript/TypeScript monorepos
- 📦 PNPM - Fast, disk space efficient package manager
- 🎯 TypeScript - Type safety across the entire monorepo
- 🎨 Tailwind CSS - Utility-first CSS framework
- 🔍 Biome - Linter and formatter
- 🧪 Jest - Testing framework
- 🐶 Husky - Git hooks made easy
- 📋 CommitLint - Lint commit messages
- ⚛️ Next.js - React framework with SSR support
- 📦 Payload CMS - Headless CMS
- 📧 React Email - Email templates
-
Clone the repository:
git clone https://github.com/yourusername/turboverse-kit.git cd turboverse-kit
-
Install dependencies:
pnpm install
-
Start the development server:
pnpm dev
pnpm dev
- Start all applications in development modepnpm build
- Build all applications and packagespnpm lint
- Run linting for all applications and packagespnpm test
- Run tests across the entire monorepopnpm clean
- Clean build artifacts and node_modules
turboverse-kit/
├── apps/
│ └── cms/ # Payload CMS application
│ └── mobile/ # React Native mobile application
│ └── studio/ # Drizzle Studio (development only)
│ └── web/ # Next.js web application
│
├── packages/
│ └── analytics/ # Analytics package
│ └── auth/ # Authentication
│ └── constants/ # Shared constants
│ └── email/ # Email templates
│ └── env/ # Environment variables
│ └── payload/ # Payload CMS package
│ └── ui/ # Shared UI component library
│ └── utils/ # Shared utility functions
│ └── validation/ # Shared validation functions
│
└── tools/
├── tailwind-config/ # Shared Tailwind configuration
└── typescript-config/ # Shared TypeScript configuration
The Payload CMS application. Contains the CMS functionality and admin interface.
The React Native mobile application. Contains the mobile application.
The Drizzle Studio application. Contains the Drizzle Studio interface for the database.
The main Next.js web application. Contains the primary user-facing application.
The analytics package. Contains the analytics functionality for the entire monorepo.
The authentication package. Contains the authentication functionality for the entire monorepo.
The constants package. Contains the constants for the entire monorepo.
The email package. Contains the email templates for the entire monorepo.
The environment variables package. Contains the environment variables for the entire monorepo.
The Payload CMS package. Contains the core functionality and configuration for the CMS.
Shared UI component library built with React, TypeScript, and Tailwind CSS. Includes:
src/components/
- Reusable React componentssrc/hooks/
- Custom React hookssrc/css/
- Global styles and CSS utilitiessrc/lib/
- Utility functions and shared code
The utility package. Contains the utility functions for the entire monorepo.
The validation package. Contains the validation functions for the entire monorepo.
Configuration packages shared across the monorepo:
tailwind-config
- Base Tailwind CSS configuration used as a foundation for all applications and packages.typescript-config
- Shared TypeScript configuration files.
-
Create a new directory in the appropriate location (
apps/
,packages/
, ortools/
) -
Initialize package.json:
pnpm init
-
Add the package to the workspace in
pnpm-workspace.yaml
-
Install dependencies and start development
This project follows the Conventional Commits specification:
feat:
- New featuresfix:
- Bug fixesdocs:
- Documentation changesstyle:
- Code style changes (formatting, etc.)refactor:
- Code changes that neither fix bugs nor add featurestest:
- Adding or updating testschore:
- Changes to build process or auxiliary tools