Tech Stack

The tech stack used in the Nuxt Starter Kit.

The starter kit uses modern technologies in a Turborepo monorepo structure:

Core Technologies

  • Nuxt 4+ - The Vue.js framework for building web applications
  • Nuxt UI - UI component library with beautiful pre-built components
  • Better-auth - Modern authentication library with support for email/password and social login
  • Drizzle ORM - TypeScript-first ORM with excellent developer experience
  • PostgreSQL - Reliable, powerful relational database
  • Tailwind CSS - Utility-first CSS framework
  • Turborepo - High-performance build system for monorepos
  • pnpm - Fast, disk space efficient package manager

Architecture

The project uses a monorepo structure with:

  • Turborepo for build orchestration
  • pnpm workspaces for package management
  • Nuxt 4 layers for modular application structure

All packages use a centralized catalog in pnpm-workspace.yaml for dependency management.

Main Application

The main web app is located in apps/web/ and extends multiple Nuxt layers from the packages/ directory.

Monorepo Scripts

Key commands (run from root):

pnpm dev:web        # Start web app dev server
pnpm build          # Build all packages
pnpm lint           # Lint all packages
pnpm lint:fix       # Auto-fix linting issues
pnpm typecheck      # TypeScript check
pnpm db:generate    # Generate DB migrations
pnpm db:migrate     # Apply DB migrations
pnpm db:studio      # Open Drizzle Studio

Layer Structure

The application is organized into Nuxt layers in packages/:

  • layer-core - Base layer with UI, i18n, SEO
  • layer-auth - Authentication with better-auth
  • layer-emails - Email templates and sending
  • layer-payment - Polar.sh payment integration
  • layer-storage - File storage handling
  • layer-testimonials - Testimonials feature
  • layer-dashboard - User dashboard
  • layer-waitlist - Waitlist management
  • layer-blog - Blog functionality
  • layer-docs - Documentation

Layers are referenced by name (e.g., 'layer-auth'), not by path, as they are workspace packages.