webmintydotcom / laravel-quickstart-inertia
Laravel starter kit with common addons.
Package info
github.com/webmintydotcom/laravel-quickstart-inertia
Type:project
pkg:composer/webmintydotcom/laravel-quickstart-inertia
Requires
- php: ^8.4
- inertiajs/inertia-laravel: ^2.0
- laravel/framework: ^12.0
- laravel/tinker: ^2.10.1
- spatie/laravel-data: ^4.17
- spatie/laravel-ray: ^1.40
- spatie/pest-expectations: ^1.11
- tightenco/ziggy: ^2.6
Requires (Dev)
- driftingly/rector-laravel: ^2.1
- fakerphp/faker: ^1.23
- larastan/larastan: ^3.6
- laravel/pail: ^1.2.2
- laravel/pint: ^1.24
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- pestphp/pest: ^4.1
- pestphp/pest-plugin-faker: ^4.0.0
- pestphp/pest-plugin-laravel: ^4.0.0
- pestphp/pest-plugin-type-coverage: ^4.0.2
- webminty/boost-webminty-guidelines: ^2.0
README
Introduction
A starter kit for Laravel applications with React, Inertia.js, Shadcn UI, and Tailwind CSS v4. Designed to help you quickly set up a new full-stack Laravel project with a modern development environment.
Installation
laravel new my-app --pest --npm --using=webmintydotcom/laravel-quickstart-inertia
Tech Stack
| Layer | Technology |
|---|---|
| Backend | Laravel 12, PHP 8.4 |
| Frontend | React 19, TypeScript |
| Routing | Inertia.js |
| UI Components | Shadcn UI |
| Styling | Tailwind CSS v4 |
| Build | Vite 7 |
| Testing | Pest, Larastan |
Included Packages
Laravel
Version 12 of Laravel is used in this starter kit.
Inertia.js
Inertia.js connects the Laravel backend to the React frontend without needing an API. Pages are React components rendered via Inertia::render() in your routes and controllers.
Ziggy
Ziggy provides a route() helper in JavaScript, so you can use Laravel named routes in your React components.
Spatie Laravel Data
Spatie Laravel Data is included to help you create data transfer objects (DTOs) in a simple and elegant way.
Frontend
React
React 19 with TypeScript. Entry point is resources/js/app.tsx with SSR support via resources/js/ssr.tsx.
Shadcn UI
Pre-configured with components.json pointing to resources/js/components/ui/. Includes all required dependencies (Radix UI, class-variance-authority, clsx, tailwind-merge, Lucide icons).
Tailwind CSS
Tailwind CSS v4 with the Vite plugin. Configured with Shadcn's full oklch color palette and dark mode support.
Debugging
Spatie Laravel Ray
Spatie Laravel Ray is included to help you debug your Laravel applications with ease.
Testing
Pest
Pest is included to help you write expressive and elegant tests for your Laravel applications.
Spatie Pest Expectations
Pest Plugin - Faker
Pest Plugin - Laravel
Pest Plugin - Type Coverage
Larastan
Larastan is included to help you catch type errors in your Laravel applications using PHPStan.
Pint
Pint is included to help you format your Laravel code according to the Webminty coding standard.
Laravel Rector
Rector is included to help you refactor and upgrade your Laravel codebase automatically.
Formatting
Prettier
Prettier is included to help you format your code consistently across your project.
Prettier Plugin - Tailwind CSS
Prettier Plugin - Blade
Additional Configurations
Changes to the default Laravel files are included in this starter kit to improve performance and developer experience.
app/Providers/AppServiceProvider.php
Model::preventLazyLoading(); if ($this->app->isProduction()) { Model::handleLazyLoadingViolationUsing(function ($model, $relation) { $class = get_class($model); info("Attempted to lazy load [{$relation}] on model [{$class}]."); }); DB::prohibitDestructiveCommands(); } else { Model::preventAccessingMissingAttributes(); Model::preventSilentlyDiscardingAttributes(); Model::shouldBeStrict(); } Vite::usePrefetchStrategy('aggressive');
Thank you Webminty Team