Skip to content

Svelte Starter Kit

The Laravel SaaS backend paired with a Svelte 5 frontend built on runes and TypeScript, shadcn-svelte components on Bits UI and shared .svelte.ts modules for permissions, layout and translations.

Svelte frontend stack

Framework
Svelte 5 (runes) + TypeScript
Inertia adapter
@inertiajs/svelte v3
UI components
shadcn-svelte on Bits UI
Icons
lucide-svelte
Toasts
svelte-sonner
Menu drag & drop
sortablejs
Type check
svelte-check
TypeScript 5Tailwind CSS v4Vite 8WayfinderLang Sync InertiaESLint 9 + Prettier 3

Features

Everything included in the kit

Every backend feature ships with a complete Svelte interface — pages, dialogs, forms and toasts.

Authentication

Login, registration, password reset, email verification, two-factor auth, passkeys, profile & security settings — toggled per domain.

Multi-tenancy

A separate database per tenant, subdomain identification, tenant CRUD with stats, workspace status and admin invitations.

Domains

Primary and secondary domains per tenant with a per-domain app name, default language and authentication features.

Maintenance & suspension

Global maintenance for all tenant workspaces with a custom message, secret bypass link and allowed IPs; suspended workspaces are blocked.

Users & invitations

User management with search and stats, role select, individual permissions and queued, signed invitation emails.

Roles & permissions

Spatie roles with protected system roles, permission config files for central and tenant apps and permission-aware menus.

Navigation & layouts

Database-driven menus with drag & drop ordering, sidebar or header layouts, sidebar variants, auth layouts and light/dark mode.

Localization

17 languages with per-user and per-domain defaults, and translated validation messages shared with the frontend.

Testing & tooling

Pest feature tests, Larastan, Pint, ESLint, Prettier and Laravel Boost guidelines and skills for AI agents.

Conventions

Idiomatic Svelte

The Svelte kit follows the conventions of its ecosystem, type-checked with svelte-check.

Pages
resources/js/pages/tenants/Index.svelte
Components
PascalCase .svelte files
Shared logic
resources/js/lib/*.ts and *.svelte.ts

Translations in a component

import { svelteLang } from '@erag/lang-sync-inertia/svelte'

const { __ } = svelteLang()

__('modules.tenant.index.title')

Typed routes with Wayfinder

import { index } from '@/routes/tenants'

index.url()

Shared backend

The same Laravel backend in every kit

The backend code is identical across the Vue, React and Svelte kits. Only resources/js changes.

  • Complete Laravel + Svelte source code
  • Access to the saas-laravel-starter-kit-svelte repository
  • Weekly updates pushed to the repository
  • Pest feature tests, Larastan and Pint configured
  • 17 languages with synced frontend translations
  • Documentation for the backend and the Svelte frontend
Framework
Laravel 13 on PHP 8.3+
Bridge
Inertia v3 (inertia-laravel)
Authentication
Laravel Fortify + passkeys
Multi-tenancy
stancl/tenancy — database per tenant
Authorization
spatie/laravel-permission
Validation & types
spatie/laravel-data + TypeScript transformer
Typed routes
Laravel Wayfinder
Translations
erag/laravel-lang-sync-inertia
Quality
Pest 5, Larastan, Pint, Laravel Boost

Start building with Svelte

$33 one-time for the Svelte Starter Kit, or $79 for all three kits. Lifetime access with weekly updates.

One-time payment · Lifetime access · Weekly updates included · No recurring subscription