webmintydotcom / laravel-quickstart
Laravel starter kit with common addons.
Package info
github.com/webmintydotcom/laravel-quickstart
Type:project
pkg:composer/webmintydotcom/laravel-quickstart
Requires
- php: ^8.4
- laravel/framework: ^13.0
- laravel/tinker: ^3.0.0
- spatie/laravel-data: ^4.17
- spatie/laravel-ray: ^1.40
- spatie/pest-expectations: ^1.11
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: ^3.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Introduction
This is a starter kit for Laravel applications that includes Tailwind CSS, and other useful packages and configurations. It is designed to help you quickly set up a new Laravel project with a modern development environment.
Installation
laravel new my-app --pest --npm --using=webmintydotcom/laravel-quickstart
Included Packages
Laravel
Version 13 of Laravel is used in this starter kit.
Spatie Laravel Data
Spatie Laravel Data is included to help you create data transfer objects (DTOs) in a simple and elegant way.
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
Spatie Pest Expectations is included to help you write expressive and readable tests using Pest.
Pest Plugin - Faker
Pest Plugin - Laravel
Pest Plugin - Type Coverage
Pest Plugin - Browser
Pest Plugin Browser runs tests in a real browser (Playwright) for behaviour that Feature tests cannot prove. Install the browser once with npx playwright install chromium, build the front end with npm run build, then run vendor/bin/pest tests/Browser. Browser tests live in tests/Browser and are not part of php artisan test; failure screenshots are saved to tests/Browser/Screenshots (git-ignored).
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.
NPM
Tailwind CSS
Tailwind CSS is included to help you build modern and responsive user interfaces with ease.
Prettier
Prettier is included to help you format your code consistently across your project.
Prettier Plugin - Tailwind CSS
Prettier Plugin for Tailwind CSS is included to help you format your Tailwind CSS classes automatically.
Prettier Plugin - Blade
Prettier Plugin for Blade is included to help you format your Blade templates automatically.
DaisyUI
DaisyUI is included to help you build beautiful and customizable user interfaces with Tailwind CSS.
AI Assistance
Webminty Guidelines
webminty/boost-webminty-guidelines provides Webminty's Laravel, Tailwind, Inertia and Livewire coding standards as AI skills for Laravel Boost (v4: PHP 8.4+, Laravel 13+). Pint, Rector and PHPStan in this kit are configured to match them.
Claude Code Agents
Project agents live in .claude/agents. Ask Claude Code to use one by name, or let it pick the right one:
| Agent | Purpose |
|---|---|
standards-reviewer |
Runs Pint, Rector and PHPStan, then checks the branch against the Webminty standards |
security-reviewer |
Reviews the branch for authorization, mass assignment, data exposure and injection problems |
test-gap-finder |
Lists new or changed behaviour that has no test coverage |
pest-test-writer |
Writes non-browser Pest tests, skipping redundant and framework-level cases |
pest-test-runner |
Runs the non-browser suite and sorts failures into test bug, code bug or environment |
pest-browser-writer |
Writes Pest browser tests for journeys and JavaScript behaviour that Feature tests cannot prove |
pest-browser-runner |
Runs the browser tests, checks Playwright and the build first, and reads failure screenshots |
project-docs-keeper |
Updates features.md, DECISIONS.md and CHANGELOG.md for the branch |
The reviewers and runners are read-only. The writers edit only tests/, and project-docs-keeper edits only features.md, DECISIONS.md and CHANGELOG.md. None of them commit.
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');