abdulwahhabkhan / laravel-react-starter-kit
Laravel React starter kit with opinionated configuration.
Package info
github.com/abdulwahhabkhan/laravel-react-starter-kit
Language:TypeScript
Type:project
pkg:composer/abdulwahhabkhan/laravel-react-starter-kit
Requires
- php: ^8.4
- inertiajs/inertia-laravel: ^3.5.1
- laravel/chisel: ^0.1.1
- laravel/fortify: ^1.41.0
- laravel/framework: ^13.34
- laravel/tinker: ^3.0.2
- laravel/wayfinder: ^0.1.21
- spatie/laravel-login-link: ^1.6.7
Requires (Dev)
- barryvdh/laravel-debugbar: ^4.4.4
- driftingly/rector-laravel: ^2.6.2
- fakerphp/faker: ^1.24.1
- larastan/larastan: ^3.12.3
- laravel/boost: ^2.10.2
- laravel/pail: ^1.2.7
- laravel/pao: ^1.1.5
- laravel/pint: ^1.32.1
- laravel/sail: ^1.68
- laravel/vet: ^0.2.1
- mockery/mockery: ^1.6.15
- nunomaduro/collision: ^8.9.5
- pestphp/pest: ^5.3
- pestphp/pest-plugin-browser: ^5.1.2
- pestphp/pest-plugin-laravel: ^5.0.1
- pestphp/pest-plugin-phpstan: ^5.2.2
- pestphp/pest-plugin-rector: ^5.0.4
- pestphp/pest-plugin-type-coverage: ^5.0.2
- rector/rector: ^2.7
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
An opinionated Laravel starter kit with React, Inertia, and TypeScript, preconfigured with roles, strict defaults, and a full quality toolchain.
Stack
- Backend: PHP 8.4, Laravel 13, Fortify (login, password reset, email verification, 2FA, passkeys)
- Frontend: React 19, Inertia v3, TypeScript, Tailwind CSS v4, shadcn/ui, lucide + Iconify icons
- Routing: Laravel Wayfinder (typed route helpers for the frontend)
- Package manager: Bun
Features
- Split-screen authentication pages
- User roles (
admin,user) backed by theApp\Enums\Roleenum - One-click demo login buttons per role on the login page (local environment only, via
spatie/laravel-login-link) - Seeded demo users for each role
- Strict model defaults:
Model::shouldBeStrict(), automatic eager loading, enforced morph map - Destructive DB commands blocked in production, HTTPS forced in production
- Query builder macros:
filterWhere,filterStartWith,filterContain,filterDate - Laravel Debugbar for local debugging
laravel/vetComposer plugin for dependency supply-chain auditing
Create a new project
With the Laravel installer:
laravel new my-app --using=abdulwahhabkhan/laravel-react-starter-kit
With Composer:
composer create-project abdulwahhabkhan/laravel-react-starter-kit my-app
Or from the GitHub template:
gh repo create my-app --template abdulwahhabkhan/laravel-react-starter-kit --private --clone
cd my-app
composer setup
Requirements
- PHP 8.4+
- Composer 2
- Bun
Setup
composer setup # install deps, create .env, generate key, migrate, build assets php artisan db:seed # create demo users composer run dev # start the development servers
Demo users
| Role | Password | |
|---|---|---|
| Admin | admin@example.com |
password |
| User | user@example.com |
password |
The one-click login buttons only appear in the local environment. Seeded users keep these passwords wherever you seed them, so change them before seeding any shared or production server.
Quality checks
| Command | What it runs |
|---|---|
composer lint |
Rector and Pint (fixes code) |
composer lint:check |
Pint and Rector in check mode |
composer types:check |
PHPStan (Larastan, level 7) |
composer test |
Lint check, PHPStan, type coverage, and Pest suite |
composer ci:check |
Frontend check, TypeScript check, and composer test |
bun run check |
Vite+ format and lint for the frontend |
bun run types:check |
TypeScript type check |
Dependency auditing
Create the trust file once, then commit vet.json:
vendor/bin/vet --init
License
MIT