Skip to content

All Starter Kits Pricing

Vue, React and Svelte together, one payment.

$79 Lifetime access Weekly updatesSave $13

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

Technologies

Vue Starter Kit
  • Vue 3.5, <script setup> and TypeScript
  • @inertiajs/vue3 v3
  • shadcn-vue on Reka UI
  • @lucide/vue
  • vue-sonner
React Starter Kit
  • React 19.2 + TypeScript
  • @inertiajs/react v3
  • shadcn/ui on Radix UI
  • lucide-react
  • sonner
Svelte Starter Kit
  • Svelte 5 (runes) + TypeScript
  • @inertiajs/svelte v3
  • shadcn-svelte on Bits UI
  • lucide-svelte
  • svelte-sonner

Shared by every kit

TypeScript 5Tailwind CSS v4Vite 8WayfinderLang Sync InertiaESLint 9 + Prettier 3Laravel 13 on PHP 8.3+Inertia v3 (inertia-laravel)Laravel Fortify + passkeysstancl/tenancy, database per tenantspatie/laravel-permissionspatie/laravel-data + TypeScript transformerLaravel Wayfindererag/laravel-lang-sync-inertiaPest 5, Larastan, Pint, Laravel Boost

Included features

AuthenticationLogin, registration, password reset, email verification, two-factor auth, passkeys and profile & security settings. You switch each one on or off per domain.7
  • Login, registration and password reset
  • Email verification and password confirmation
  • Two-factor authentication with recovery codes
  • Passwordless sign-in with passkeys
  • Switch each auth feature on or off per domain
  • Profile, password, appearance and account deletion settings
  • The central app and tenants have their own guards and user tables
Multi-tenancyEach tenant gets its own database and subdomain. You create and edit tenants from a list with stats, track workspace status and invite each tenant's admin.7
  • One database per tenant with stancl/tenancy
  • Each tenant is found by its subdomain on APP_DOMAIN
  • Creating a tenant sets up its database, runs migrations and seeders, and adds the admin user
  • Workspace status: Active, Trial, Pending Invitation, Suspended
  • The tenant admin gets a signed invitation link, and you can resend it
  • Reset the admin password with an email link, or set it yourself
  • Tenant list with search, status filter and stats
DomainsGive each tenant a primary domain and as many secondary ones as you need. Every domain has its own app name, default language and sign-in options.5
  • Add domains and pick the primary one, which can't be deleted
  • App name per domain, shown in the sidebar, sign-in pages and emails
  • Default language per domain, and users can still pick their own
  • Switch registration, password reset, 2FA and passkeys on or off per domain
  • Domains page with search and a primary / secondary filter
Maintenance & suspensionPut every tenant workspace into maintenance with your own message, a secret bypass link and allowed IPs. You can also suspend a single workspace, which blocks it.7
  • Turn on maintenance for all tenants from Setup → Tenant Settings
  • Your message shows on an animated 503 page
  • A secret bypass link unlocks a workspace for 12 hours
  • Allowed IP addresses and CIDR ranges skip the maintenance page
  • Tenant login stays open, so admins can sign in and get past it
  • Suspend one workspace with its own message or the default one
  • The central app stays online throughout
Users & invitationsManage users with search and stats, give them a role and extra permissions, and invite them by email with a signed link.7
  • Users list with search, stats and pagination
  • Pick a role when you create or edit a user
  • System roles come with default permissions, custom roles start empty
  • Give a single user extra permissions, grouped by module
  • Invitation emails are queued and carry a signed link that lasts 7 days
  • “Invitation pending” badge until the user accepts
  • An accept-invitation page where the user sets their password
Roles & permissionsSpatie roles and permissions with protected system roles, separate permission config files for the central and tenant apps, and menus that respect them.5
  • Spatie roles and permissions for the central app and every tenant
  • Protected system roles, plus any custom roles you add
  • You define permissions in config/permissions and config/permissions/tenant
  • The super admin passes every permission check
  • Routes, menus and buttons all check permissions
Navigation & layoutsMenus live in the database and you reorder them by drag & drop. Pick a sidebar or header layout, a sidebar style, a sign-in layout and light or dark mode.7
  • Menus stored in the database, with a drag & drop builder and Reset Defaults
  • A menu item hides itself if the user lacks its permission
  • Sidebar or header (top nav) layout with a Setup dropdown
  • Inset, sidebar or floating sidebar variants
  • Icon rail, offcanvas or always-open collapse modes
  • Card, simple or split sign-in pages
  • Light, dark and system appearance
Localization17 languages. Each user picks their own, each domain has a default, and validation messages are translated and shared with the frontend.6
  • 17 languages, including English, Hindi, Spanish, French, German and Japanese
  • One translation file per feature in lang/<locale>/modules
  • Each user picks their own language
  • Default language per domain, English as the app default
  • Every Data class has translated validation messages
  • Vue, React and Svelte read translations through the same __() helper
Testing & toolingPest feature tests, Larastan, Pint, ESLint and Prettier are set up, along with Laravel Boost guidelines and skills for AI coding agents.6
  • Pest feature tests for the backend
  • Larastan static analysis and Pint formatting
  • ESLint and Prettier for the frontend
  • Type checking with vue-tsc, tsc or svelte-check
  • A GitHub Actions workflow runs the test suite
  • Laravel Boost guidelines and skills for AI coding agents

Requirements

PHP
8.3 or newer
Composer
Composer 2
Node.js
A current Node LTS with npm
Database
MySQL (needed for database-per-tenant)
Local server
Laravel Herd recommended (*.test + wildcard subdomains)

What you get

The full source code (backend, frontend, tests and configuration) lives in these GitHub repositories:

  • github.com/the-erag/saas-laravel-starter-kit-vuePrivate
  • github.com/the-erag/saas-laravel-starter-kit-reactPrivate
  • github.com/the-erag/saas-laravel-starter-kit-sveltePrivate

These repositories are private. We invite your GitHub account as soon as your payment goes through. The details are in Repository access.

It's licensed under the SaaS Laravel Commercial License. Use it in as many projects as you like, for yourself or for clients. You can't resell it or publish the source code.

Update policy

We push updates to the kit repositories every week. You pull them into your own project when you're ready, and nothing in your app changes until you merge. Updates are included for life, with no renewal fee. How updates work →

Access & support

  • Repository access is set up automatically once your GitHub Sponsors payment goes through, so sponsor from the GitHub account you want us to invite.
  • You'll get a GitHub invitation to the repositories. Accept it and you can start cloning.
  • For support, open an issue on the kit repository on GitHub.

Get the All Starter Kits for $79

One-time payment · Lifetime access · Weekly updates included · No recurring subscription. Once you've paid, your GitHub account is invited to all three repositories automatically.