Monorepo template for building SaaS applications with modern tooling.
Tech Stack
Package Manager
- pnpm v11 with workspaces and catalogs
Build System
- Turborepo v2 for task orchestration and caching
Packages
- database — Drizzle ORM
- auth — better-auth
- api — Hono + orpc
Apps
- web — Next.js (app router)
- app — Next.js (app router)
- docs — Fumadocs
Structure
.
├── apps/
│ ├── web/ # Next.js (app router)
│ ├── app/ # Next.js (app router)
│ └── docs/ # Fumadocs
├── packages/
│ ├── database/ # Drizzle ORM
│ ├── auth/ # better-auth
│ ├── api/ # Hono + orpc
│ ├── ui/ # Shared UI components
│ ├── eslint-config/# ESLint configuration
│ └── typescript-config/# TypeScript configuration
├── turbo.json
├── pnpm-workspace.yaml
└── package.json
Quick Start
GitHub Codespaces (Recommended)
The fastest way to get started without installing anything:
- Click Code → Create codespace on main
- Wait for PostgreSQL and dependencies to install
- Run
pnpm dev to start developing
No local setup required. Docker and PostgreSQL are pre-configured in the dev container.
Local Development
Prerequisites
- Node.js 20+
- pnpm 11+
- Docker (for PostgreSQL)
Installation
Available Commands
Environment Variables
Copy .env.example to .env.local and fill in the required values:
cp .env.example .env.local
Dependencies
Shared dependencies are managed through pnpm catalogs. Update versions in pnpm-workspace.yaml to propagate changes across all packages.
CI/CD
This template includes GitHub Actions workflows for:
- Lint
- Type check
- Build
- Test
License
MIT
Support
For questions and support, contact support@deessejs.com