Vibekit

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

LayerTechnology
FrameworkNext.js 16 (App Router), React 19, TypeScript
MonorepoTurborepo, Bun workspaces
StylingTailwind CSS v4, Radix UI, Lucide Icons
DatabasePostgreSQL, Prisma ORM, prisma-zod-generator
APItRPC 11, TanStack Query
AuthenticationBetter Auth, Argon2 password hashing
PaymentsStripe (Checkout, Webhooks, Portal)
EmailReact Email, Resend, Postmark, Cloudflare, Plunk, Nodemailer
StorageAWS S3, Cloudflare R2, MinIO
DocumentationFumadocs, MDX
Testing & LintPlaywright E2E, node:test, Biome

Ready to get started? Head over to the Quickstart Guide.

On this page