laravel-starter-kit maintained by laravolt
Laravel Starter Kit
Official Laravel starter kit with strict type-safety and code quality tools for Laravolt in Agentic era.
Note: This starter kit comes with Laravolt Platform (7.x) pre-installed. The setup process automatically configures all necessary migrations and assets.
Why This Starter Kit?
Modern PHP has evolved into a mature, type-safe language, yet many Laravel projects still operate with loose conventions and optional typing. This starter kit changes that paradigm by enforcing:
- 100% Type Coverage: Every method, property, and parameter is explicitly typed
- Zero Tolerance for Code Smells: Rector and PHPStan at maximum strictness catch issues before they become bugs
- Immutable-First Architecture: Data structures favor immutability to prevent unexpected mutations
- Fail-Fast Philosophy: Errors are caught at compile-time, not runtime
- Automated Code Quality: Pre-configured tools ensure consistent, pristine code across your entire team
- Just Better Laravel Defaults: Thanks to Essentials / strict models, auto eager loading, immutable dates, and more...
This isn't just another Laravel boilerplate—it's a statement that PHP applications can and should be built with the same rigor as strongly-typed languages like Rust or TypeScript.
Getting Started
Requires PHP 8.4+ and a database supported by Laravel 13. The default
.env.exampleis ready for SQLite.
Create a New App
Create your type-safe Laravel 13 + Laravolt 7 application using Composer:
Maintenance note: until the first Laravolt 7 beta tag is published, this starter pins
laravolt/laravolttodev-master as 7.0.0-beta.1. Switch it to^7.0@betaafter the beta release is tagged.
composer create-project laravolt/laravel-starter-kit --prefer-dist example-app
cd example-app
composer dev
create-project already copies .env, generates the app key, prepares SQLite, runs laravolt:install, and migrates the database.
Setup an Existing Clone
Use this path only when you clone the repository manually instead of using create-project:
git clone https://github.com/laravolt/laravel-starter-kit example-app
cd example-app
composer setup
composer dev
composer setup installs Composer and Bun dependencies, publishes Laravolt, runs migrations, and builds assets.
Optional: Browser Testing Setup
If you plan to use Pest's browser testing capabilities:
bun add playwright
bunx playwright install
Laravolt Assets
If Laravolt UI assets look stale after an update, refresh the symlinks/assets:
php artisan laravolt:link
bun run build
Verify Installation
Run the test suite to ensure everything is configured correctly:
composer test
You should see all default quality checks passing. The starter kit intentionally ships with strict Pest Arch, type coverage, Pint, Rector, and PHPStan gates so a fresh app starts green.
Coverage and browser tests are available as explicit opt-in gates:
composer test:coverage # requires a PHP coverage driver such as Xdebug/PCOV
composer test:browser # requires bunx playwright install
Available Tooling
Development
composer dev- Starts Laravel server, queue worker, log monitoring, and Vite dev server concurrently
Code Quality
composer lint- Runs Rector (refactoring), Pint (PHP formatting), and Prettier (JS/TS formatting)composer test:lint- Dry-run mode for CI/CD pipelines
Testing
composer test:type-coverage- Ensures 100% type coverage with Pestcomposer test:types- Runs PHPStan at level 9 (maximum strictness)composer test:unit- Runs Pest tests with 100% code coverage requirementcomposer test- Runs the complete test suite (type coverage, unit tests, linting, static analysis)
Maintenance
composer update:requirements- Updates all PHP and NPM dependencies to latest versions
Based on the original work by Nuno Maduro.