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, SEOlayer-auth- Authentication with better-authlayer-emails- Email templates and sendinglayer-payment- Polar.sh payment integrationlayer-storage- File storage handlinglayer-testimonials- Testimonials featurelayer-dashboard- User dashboardlayer-waitlist- Waitlist managementlayer-blog- Blog functionalitylayer-docs- Documentation
Layers are referenced by name (e.g., 'layer-auth'), not by path, as they are workspace packages.