sveltekit-omakase Svelte Themes

Sveltekit Omakase

the ultimate mise en place for your next SvelteKit project 🍱 SvelteKit Omakase is an opinionated starter kit designed to get you up and running with SvelteKit πŸš€

SvelteKit Omakase

SvelteKit Omakase

View Demo Β· Quick Start Β· Features

Overview

Welcome to SvelteKit Omakase, the ultimate mise en place for your next SvelteKit project πŸš€.

Inspired by the Rails doctrine, this project embraces an omakase approachβ€”offering an opinionated selection of tools and a structured foundation while giving you the freedom to customize and extend as needed. Whether you're a seasoned developer or just starting out, this starter kit is carefully curated to get you up and running with SvelteKit by providing everything you need to build modern, scalable web applications with ease.

Table of Contents

Features

  • 🎨 Modern, Responsive & Accessible UI
  • πŸ”’ Robust Authentication
  • πŸŽ›οΈ Customizable Dashboard
  • πŸ“ File Storage
  • πŸ“§ Transactional Email
  • πŸ› οΈ Developer Utilities & DX Enhancements

Tech Stack

Getting Started

Installation

# Clone the repository
git clone https://github.com/n00ki/sveltekit-omakase.git my-app
cd my-app

# Install dependencies using your preferred package manager
bun install
# or: npm/pnpm/yarn install

# Setup environment variables
cp .env.example .env
# Edit .env with your configuration

# Initialize the database locally
bun db:push

# Start the development server
bun dev

Project Structure

src/
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ assets/                # Static assets (logo, images)
β”‚   β”œβ”€β”€ components/            # Svelte components
β”‚   β”‚   └── ui/                # shadcn-svelte primitives
β”‚   β”œβ”€β”€ constants/             # Domain constants and enums
β”‚   β”œβ”€β”€ db/
β”‚   β”‚   β”œβ”€β”€ models/            # Drizzle schemas (User, Session, etc.)
β”‚   β”‚   β”œβ”€β”€ queries/           # Pure data queries
β”‚   β”‚   └── migrations/        # SQL migrations
β”‚   β”œβ”€β”€ hooks/                 # Svelte hooks
β”‚   β”œβ”€β”€ mail/                  # Email (Resend + SailKit templates)
β”‚   β”œβ”€β”€ messages/              # User-facing messages (i18n)
β”‚   β”œβ”€β”€ remote/                # Remote functions (*.remote.ts)
β”‚   β”œβ”€β”€ server/                # Server-only code
β”‚   β”‚   β”œβ”€β”€ auth.ts            # Better-Auth config + helpers
β”‚   β”‚   β”œβ”€β”€ database.ts        # Drizzle connection (default export)
β”‚   β”‚   β”œβ”€β”€ flash.ts           # Flash message helpers
β”‚   β”‚   β”œβ”€β”€ rate-limit.ts      # Rate limit helper
β”‚   β”‚   └── storage.ts         # R2/S3 client
β”‚   β”œβ”€β”€ state/                 # Global state (*.svelte.ts)
β”‚   β”œβ”€β”€ utils/                 # Shared utilities
β”‚   └── validations/           # Zod schemas
β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ (auth)/                # Auth flows (login, register, password)
β”‚   β”œβ”€β”€ (app)/                 # Protected routes (dashboard, settings)
β”‚   └── api/                   # API endpoints
└── styles/
    └── app.css                # Global styles + Tailwind config

Path Aliases

$components   β†’ src/lib/components
$models       β†’ src/lib/db/models
$queries      β†’ src/lib/db/queries
$remote       β†’ src/lib/remote

Documentation

Start with docs/architecture.md for project structure, rules of the road, remote function patterns, and common commands.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request πŸ’ͺ

Acknowledgments

Special thanks to these incredible contributors to the open-source community:

Top categories

Loading Svelte Themes