Search by

lvntr / laravel-starter-kit

lvntrdev

Laravel Starter Kit with DDD architecture, Inertia.js, Vue 3, PrimeVue, and role-based permissions.

Package info

github.com/lvntrdev/laravel-starter-kit

pkg:composer/lvntr/laravel-starter-kit

Statistics

Installs: 2 330

Dependents: 0

Suggesters: 0

Stars: 11

Open Issues: 0

v13.8.7 2026-10-18 13:37 UTC

README

Admin-first Laravel starter kit.

CI License Packagist Version Downloads

Lvntr Starter Kit dashboard

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.

A Quick Tour

Two themes, light & dark — switch instantly, no rebuild

Pick the built-in Aura (inset panel inside a brand-coloured frame) or Main theme, choose from 26 accent colours, and let every user toggle dark mode.

Aura theme, dark mode
Aura · dark
Main theme, light mode
Main · light
Main theme, dark mode
Main · dark
Appearance settings
Theme, accent colour, logos and favicon from the Appearance settings

Users, roles & permissions

Searchable, filterable datatables with server-side pagination, column toggles and bulk actions; dialog forms built with FormBuilder; and a resource × ability permission matrix per role.

User management
User management
Edit user dialog
Edit user dialog with avatar upload
Roles
Roles
Role permission matrix
Per-role permission matrix

File manager

Folders, favourites, trash with a retention period, image/video/PDF previews, storage quota — on local disk, Amazon S3, DigitalOcean Spaces or Hetzner Object Storage.

File manager
File manager
File manager settings
Upload size, quota, accepted types and trash

Activity logs & log viewer

Every model change is recorded with its causer and a field-level old → new diff. Laravel log files are browsable in the panel, filterable by level, time and message.

Activity logs
Activity logs
Activity log detail
Field-level change detail
Log files
Log files
Log viewer
Log viewer with level filters and context

Settings panel

Everything a project usually hard-codes in .env is editable from the panel — identity, locale and currency, security policy, SMTP, storage driver, content languages, API clients/tokens — plus a System Health page that runs the sk:doctor checks.

General settings
General
Security settings
Security — registration, 2FA, password policy, bot protection
Mail settings
Mail — SMTP and test email
Storage settings
Storage driver
Content languages
Content languages for translatable fields
System health
System health

Component showcase

A built-in page documents the kit's PrimeVue + SK components in every variant — tags, buttons, messages, toasts and FormBuilder forms.

Component showcase

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/components Vue component library (FormBuilder/DatatableBuilder/TabBuilder, UI primitives, File Manager UI) — not published on npm; resolved via a Vite alias into the package's own vendor/ copy, so no separate install step is needed
    • Domain scaffolding via make:sk-domain with 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
    • Dedicated data-encryption key for sensitive settings & 2FA secrets, independent of APP_KEY — generate/rotate/verify with encryption:key, encryption:rekey, encryption:health
    • Light & Dark themes with instant-switch built-in main and aura kit 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.7
php artisan sk:install

Check php -v first — this kit requires PHP 8.4+. The laravel/laravel skeleton itself only requires PHP 8.3, so create-project succeeds on 8.3 and the failure surfaces later. Always require the kit with :^13.7 (not a looser :^13.0): with a loose constraint Composer silently resolves down to an ancient release that still fits PHP 8.3 instead of reporting the real blocker.

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+ (hard floor — spatie/laravel-activitylog:^5.0 requires it too)
  • 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.7 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, AI-oriented API metadata, activity logs, settings — lives on the official site:

starter-kit.lvntr.dev

License

MIT