lvntr / laravel-starter-kit
Laravel Starter Kit with DDD architecture, Inertia.js, Vue 3, PrimeVue, and role-based permissions.
Requires
- php: ^8.4
- dedoc/scramble: ^0.13.22
- illuminate/support: ^13.0
- inertiajs/inertia-laravel: ^3.0
- laravel/fortify: ^1.35
- laravel/passport: ^13.5
- laravel/wayfinder: ^0.1
- league/flysystem-aws-s3-v3: ^3.0
- nikic/php-parser: ^5.0
- spatie/laravel-activitylog: ^5.0
- spatie/laravel-medialibrary: ^11.12
- spatie/laravel-permission: ^7.2
- spatie/laravel-query-builder: ^6.3
- spatie/laravel-translatable: ^6.11
Requires (Dev)
- laravel/pint: ^1.29
- orchestra/testbench: ^11.0
- pestphp/pest: ^4.4
This package is auto-updated.
Last update: 2026-07-11 10:11:20 UTC
README
Admin-first Laravel starter kit.
⚠️ WARNING
This repository is under active development and is subject to frequent changes. The stability of the project is not yet guaranteed. Please consider the following points before use:
- Code Changes: The directory structure or core classes may undergo radical changes without prior notice.
- Update Process: Updates may not always provide an automated migration path. In addition to running update commands, you may need to perform manual interventions by checking the
READMEorCHANGELOGfiles.- Risk: Significant changes may lead to data loss or breaking issues in your existing project.
Introduction
Lvntr Starter Kit is a full-featured admin panel for Laravel, built with Laravel 13, Inertia.js v3, Vue 3, PrimeVue 4 and Tailwind CSS 4.
Unlike the official Laravel starter kits, which ship a minimal authentication scaffold, this kit gives you a production-ready admin panel on day one: users, roles, permissions, activity logs, settings, file manager, 2FA, and a DDD-style domain layer you can extend.
It is designed for teams who want to skip re-building the same admin screens on every project and go straight to business features.
Website & Documentation: starter-kit.lvntr.dev Installation guide, component references, architecture notes and examples.
Screenshots
What is Inside?
- Authentication
- Login / Register / Password Reset
- Email Verification
- Two-Factor Authentication (Fortify)
- OAuth2 API with Laravel Passport
- User & Access Management
- User CRUD with avatar upload and soft deletes
- Roles & dynamic resource-scoped permissions (Spatie)
- Session management
- Admin Modules
- Dashboard
- Activity Logs (browsable, filterable)
- Settings panel (General / Auth / Mail / Storage / File Manager / Content Languages)
- Multi-language content: active languages managed in Settings drive every Translatable Field form-wide, no rebuild required
- File Manager with pluggable contexts and signed share links
- API Clients & Personal Access Token management
- System Health dashboard
- API Routes explorer
- Definitions (DB-backed enums used across forms and tables)
- Developer Tooling
- DDD-style domain layer (Actions / DTOs / Queries / Events / Listeners)
- FormBuilder, DatatableBuilder, TabBuilder fluent APIs (including Translatable Fields)
@lvntr/componentsVue component library (FormBuilder/DatatableBuilder/TabBuilder, UI primitives, File Manager UI) — not published on npm; resolved via a Vite alias into the package's ownvendor/copy, so no separate install step is needed- Domain scaffolding via
make:sk-domainwith opt-in flag support - Datatable bulk actions with cross-page selection
- Safe upgrade flow via
sk:update(hash-tracked, preserves your edits) - System health check via
sk:doctor - Light & Dark themes with instant-switch built-in
mainandaurakit themes (no rebuild)
How to use it?
Start from a clean Laravel install:
composer create-project laravel/laravel my-app
cd my-app
composer require lvntr/laravel-starter-kit:^13.0
php artisan sk:install
That's it. The installer sets up migrations, seeders, Passport keys, a default admin user, and builds the frontend. It also ejects the User and Role domain runtime classes into app/Domain/ so they are immediately project-owned and ready to customise. Pass --without-eject to keep them vendor-resident instead.
Full step-by-step guide: starter-kit.lvntr.dev/docs/install
Requirements
- PHP 8.4+
- Laravel 13
- Node.js 20.19+ (or 22.12+) — Vite 7 engine floor
- MySQL or MariaDB
Compatibility & Versioning
The package version major aligns with the supported Laravel major. Each
Laravel major gets its own maintenance branch and vN.x.y tag stream;
existing consumer constraints stay locked to their major and never
receive breaking changes from a newer Laravel target.
| Laravel | Constraint | Branch | Status |
|---|---|---|---|
| 13.x | composer require lvntr/laravel-starter-kit:^13.0 |
13.x |
active |
main tracks the currently active major (today: 13.x). When a future
Laravel release is targeted, main will move to that next-major dev
stream and the previous major's N.x branch will continue to receive
backports.
The git tag is the single source of version truth — neither
composer.json nor the root package.json carries a version field, so
there is nothing to keep in sync. Releases are cut with release.sh (from
main), which tags the release and pushes only that tag.
Documentation
Everything — installation, update flow, domain scaffolding, FormBuilder / DatatableBuilder / TabBuilder APIs, composables, file manager, roles & permissions, OAuth2 API, activity logs, settings — lives on the official site: