A bloat-free starter kit for Laravel 12.x with FilamentPHP 4.x pre-configured. Only essential development tools included.
Note
Requires PHP 8.3 or higher.
- Laravel 12.x - The PHP framework
- FilamentPHP 4.x - Admin panel with SPA mode, custom theme, and MFA enabled
- nunomaduro/essentials - Better Laravel defaults (strict models, auto-eager loading, immutable dates)
- larastan/larastan - Static analysis
- laravel/pint - Code style fixer
- pestphp/pest - Testing framework
- rector/rector - Automated refactoring
- barryvdh/laravel-debugbar - Development insights
Includes a comprehensive test suite with PEST 4.x including browser testing - perfect for learning testing or as a reference for your own tests.
Comes with pre-configured GitHub Actions workflows for automated quality assurance:
- Tests - PEST 4.x testing with 4 parallel shards for faster CI/CD
- PHPStan - Static analysis and type checking
- Pint - Automated code style fixing with auto-commit
composer create-project codewithdennis/larament your-project-name
cd your-project-name
composer install
npm install
npm run build
php artisan serve
- SPA mode enabled
- Custom login page with autofilled credentials in local environment
- Custom theme included
- Profile management enabled
- MFA (App Authentication) enabled
- Striped rows for better visual separation
- Deferred loading for improved performance
composer review # Runs Pint, Rector, PHPStan, and Pest
Custom stubs remove the down()
method by default. Remove the custom stubs to use Laravel's default templates.
Add your own helpers in app/Helpers.php
:
if (! function_exists('example')) {
function example(): string
{
return 'Your helper function here.';
}
}
alias larament="composer create-project --prefer-dist CodeWithDennis/larament"
larament my-project
Add this to your ~/.bashrc
, ~/.zshrc
, or shell configuration file:
function larament() {
local cmd="$1"
shift
case "$cmd" in
new)
if [[ -z "$1" ]]; then
return 1
fi
local project_name="$1"
composer create-project --prefer-dist CodeWithDennis/larament "$project_name" || return 1
cd "$project_name" || return 1
herd link && herd secure && herd open
;;
*)
return 1
;;
esac
}
Usage:
larament new my-project