Introduction
Learn about VibeKit principles, system requirements, and core features.
VibeKit provides a solid starting point for SaaS applications. It combines production-ready authentication, database management, payments, and notifications in a single TypeScript monorepo.
Why VibeKit
Building a SaaS requires solving the same problems repeatedly: setting up secure logins, handling database migrations, charging credit cards, sending emails, and organizing code as teams grow. VibeKit solves these foundations once so you can focus on building your core product.
Type-safe from DB to UI
Prisma and tRPC ensure your data types stay consistent across every layer of the app.
Modular monorepo
Turborepo and Bun workspaces keep shared packages separate from application routes.
Production-ready auth
Better Auth handles session cookies, passwords, email verification, and admin controls.
Stripe payment flows
Prebuilt checkout sessions, webhook handlers, and customer access verification.
System requirements
Before you begin, ensure your machine has the following tools installed:
- Bun: Version
1.3.13 - Docker & Docker Compose: Required for running local PostgreSQL and MinIO services
Check your runtime version
Run bun --version in your terminal. Pinned via .bun-version.
Technology stack
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router), React 19, TypeScript |
| Monorepo | Turborepo, Bun workspaces |
| Styling | Tailwind CSS v4, Radix UI, Lucide Icons |
| Database | PostgreSQL, Prisma ORM, prisma-zod-generator |
| API | tRPC 11, TanStack Query |
| Authentication | Better Auth, Argon2 password hashing |
| Payments | Stripe (Checkout, Webhooks, Portal) |
| React Email, Resend, Postmark, Cloudflare, Plunk, Nodemailer | |
| Storage | AWS S3, Cloudflare R2, MinIO |
| Documentation | Fumadocs, MDX |
| Testing & Lint | Playwright E2E, node:test, Biome |
Ready to get started? Head over to the Quickstart Guide.