A modern Laravel 12 starter kit with pre-configured development tooling for building production-ready applications.
- Concurrent development server — Laravel, queue, logs, and Vite in parallel
- Static analysis — PHPStan at level 10 (strictest)
- Type coverage — 100% type coverage enforced via Pest
- Automated refactoring — Rector with strict rulesets
- Code formatting — Laravel Pint with strict rules + Prettier
- Testing — Pest with parallel execution
- Debugging — Telescope and Laradumps pre-installed
- IDE support — Laravel IDE Helper for autocompletion
- PHP 8.4+
- Composer 2.5+
- Node.js 18+
- npm 9+
laravel new my-app --using justchr1s/starter-kitgit clone https://github.com/justchr1s/starter-kit.git my-app
cd my-app
composer setupThe composer setup command installs dependencies, configures the environment, runs migrations, and builds assets.
Note: This starter kit uses SQLite by default for simple local development.
composer devStarts all development services concurrently:
- Laravel server (
php artisan serve) - Queue listener (
php artisan queue:listen) - Log watcher (
php artisan pail) - Vite (
npm run dev)
composer test # Run full test suite
composer test:unit # Run Pest tests (parallel)
composer test:unit:coverage # Run tests with coverage report
composer test:types # Run PHPStan analysis
composer test:type:coverage # Verify 100% type coverage
composer test:typos # Check for typos with Peck
composer test:lint # Check code style
composer test:refactor # Preview Rector changes (dry-run)composer lint # Format code (Pint + Prettier)
composer refactor # Apply Rector refactoring
composer fix # Full fix: IDE helpers + types + refactor + lintcomposer ide # Generate IDE helper filesThis starter kit enforces strict code quality:
| Tool | Configuration |
|---|---|
| PHPStan | Level 10 (strictest) |
| Pest | 100% type coverage required |
| Pint | Laravel preset with declare_strict_types, final_class, strict_comparison |
| Rector | deadCode, codeQuality, typeDeclarations, privatization, earlyReturn |
All PHP files must have declare(strict_types=1) and classes should be final by default.
| Package | Purpose |
|---|---|
| laravel/telescope | Debugging and monitoring |
| laradumps/laradumps | Real-time debugging |
| barryvdh/laravel-ide-helper | IDE autocompletion |
| laravel/pint | PHP code formatting |
| larastan/larastan | Static analysis |
| pestphp/pest | Testing framework |
| rector/rector | Automated refactoring |
| peckphp/peck | Typo detection |
Contributions are welcome. Please run composer test before submitting a pull request.
MIT License. See LICENSE for details.
Inspired by Josh Cirre's Fission.