Laravel Starter Kit — A community-driven starter kit for Laravel 13

A community-driven starter kit for Laravel 13 with Inertia.js, Vue 3, PrimeVue, TypeScript and Domain-Driven Design.

Current release: v13.6.12 · GitHub · Packagist · Source-available under PolyForm Noncommercial 1.0.0.

Installation

laravel new my-app && cd my-app
composer require lvntr/laravel-starter-kit:^13.0
php artisan sk:install

Features

Authentication & 2FA

Fortify for web, Passport for OAuth2 API tokens. Login, register, password reset, email verification and browser sessions — all wired.

Roles & Permissions

Config-driven RBAC on top of Spatie Permission. Dynamic middleware resolves permissions from route names automatically.

DataTable & FormBuilder

Server-side DataTable with fluent API. Dynamic FormBuilder with 12+ field types, Inertia submit, and dynamic option loading.

Domain-Driven Design

Business logic lives in app/Domain — Actions, DTOs, Events, Listeners, Repositories. One command scaffolds a complete domain.

Type-safe routes

Wayfinder generates TypeScript route and action clients. No more stringly-typed route() calls in your Vue code.

i18n out of the box

Laravel lang/ files available in Vue via laravel-vue-i18n. Lazy-loaded per locale so the bundle stays lean.

Activity Log

Automatic model activity logging with Spatie Activity Log. Admin panel ships with DataTable + detail dialog.

Media Library

Upload and manage files with Spatie Media Library. Reusable MediaUploadController for API-based uploads.

FileManager

Windows Explorer-style UI on top of Media Library — nested folders, drag & drop upload with per-tile progress, preview modal, bulk move/delete. Pluggable contexts for any Eloquent model.

Consistent API envelope

Every API response follows one envelope — success, status, message, data, meta, trace_id. Built with to_api() and ApiResponse.

API Client Admin UI

Full admin interface for Passport clients and Personal Access Tokens. Secrets shown once on creation, never again. Covers authorization_code, client_credentials and PAT grants.

System Health

sk:doctor checks 17 control points — PHP extensions, Node version, database, Redis, Passport keys, storage, log channels, queue driver and a live queue worker, scheduler, mail, npm build, config cache, FileManager disk and the theme manifest. Results visualised in the admin panel at /admin/system-health.

AI Skills (Claude Code & Codex)

The kit teaches AI coding assistants its own conventions. Three self-contained skills — core rules, backend/DDD and frontend builders — install via sk:install into .claude/skills/ and are mirrored to .codex/skills/ for the Codex CLI, triggering automatically when you touch matching files.

Override-ready Theme System

AppShell / AdminLayout composition with a themes/main slot tree (tokens, layout, components) and an opt-in themes/custom layer. Override a single component's CSS or the whole palette at build time with VITE_SK_THEME.

Frequently asked questions

What is Laravel Starter Kit (lvntr/laravel-starter-kit)?

It is an admin-first starter kit distributed as a Composer package for Laravel 13. Instead of an empty panel, a new project starts with authentication, roles and permissions, settings, activity logs, a file manager, API client/token management and a system-health surface already wired together. The stack is Laravel 13, PHP 8.4+, Inertia.js v3, Vue 3, PrimeVue 4, Tailwind CSS 4 and TypeScript.

How is it different from Laravel Breeze, Jetstream or Filament?

Breeze and Jetstream stop at authentication scaffolding — everything after login is yours to build. Filament is an admin panel builder with its own PHP-defined UI layer. This kit sits between them: you get a finished Inertia + Vue admin application (users, roles, permissions, settings, files, logs, API clients) plus fluent DataTable/FormBuilder/TabBuilder APIs, and the pages stay ordinary Vue single-file components you can open and edit. The runtime ships from vendor, so `composer update` keeps delivering fixes; `sk:eject` hands full ownership of any domain to your app when you need it.

What are the minimum requirements?

PHP 8.4+, Composer, Laravel 13, Node.js 20.19+ (the Vite 7 engine floor), npm, and MySQL or MariaDB. A fresh Laravel 13 project is the expected starting point.

How do I install it?

Three commands: `laravel new my-app`, `composer require lvntr/laravel-starter-kit:^13.0`, then `php artisan sk:install`. The installer runs a Node.js preflight, publishes the scaffolding, configures the database, runs migrations and seeders, generates Passport keys, creates the admin user and builds the frontend. If a step fails it checkpoints its progress — `php artisan sk:install --resume` continues from the failed step instead of starting over.

How do upgrades work without losing my customizations?

`composer update lvntr/laravel-starter-kit` pulls the new package, then `php artisan sk:update` syncs published files using hash tracking: untouched files are updated, files you modified are preserved and reported. Because the runtime is vendor-first, most releases need no file changes at all. `php artisan sk:update --dry-run` previews everything before it touches your app.

Can I customize or fully own a module?

Yes. `php artisan sk:eject <Domain>` copies a domain’s backend classes and Vue pages into your app, rewrites the namespaces and wires the event bindings — after that the code is yours and stops receiving kit updates. `sk:publish --tag=<tag>` publishes individual resources (config, lang, helpers, stubs) selectively, and the theme system lets you override a single component’s CSS or the whole palette through `VITE_SK_THEME` without ejecting anything.

Does it work with AI coding assistants?

Yes. Since v13.6.12 the kit ships three AI skills that teach an assistant its conventions, hard rules and builder APIs. `sk:install` publishes them to `.claude/skills/` for Claude Code and mirrors them to `.codex/skills/`, which the OpenAI Codex CLI reads natively. They trigger automatically when the assistant touches matching files, and `--without-ai-skill` opts out entirely.

What is the license — can I use it in a commercial project?

The kit is source-available under PolyForm Noncommercial 1.0.0, which permits use for noncommercial purposes. Commercial use is not granted by that license — contact the maintainer for commercial terms before shipping a paid product on it.

Is it production-ready?

The kit is under active development and the documentation says so plainly: the directory structure and core classes can change between releases, and an upgrade may need manual steps documented in UPGRADE.md. It is used for real admin panels, and releases carry security and quality work (fail-closed permission checks, login throttling, audit-log coverage, keyboard accessibility) — but pin the version, read the changelog before upgrading, and treat major line changes as a planned migration.

What does the DataTable and FormBuilder API look like?

Both are fluent PHP builders whose output drives Vue components. The DataTable handles server-side pagination, search, sorting, filters, bulk actions and cross-page selection; the FormBuilder covers 12+ field types including rich text, translatable fields, file uploads, dynamic option loading, card sections, permission-driven read-only mode and unsaved-change guards. Pages stay editable Vue SFCs, so you can drop to plain markup at any point.