An opinionated starter to launch after creating a fresh Laravel application
ngiraud/laravel-starter is a Laravel package for an opinionated starter to launch after creating a fresh laravel application.
It currently has 1 GitHub stars and 394 downloads on Packagist (latest version v1.1.5).
Install it with composer require ngiraud/laravel-starter.
Discover more Laravel packages by ngiraud
or browse all Laravel packages to compare alternatives.
Last updated
This package automates the complete setup of a fresh Laravel application: installing and configuring your preferred packages and tools, with full Git management throughout the process.
It configures Docker Compose with Laravel Sail, installs your preferred packages (Telescope, Horizon, Filament, etc.), sets up Composer and npm scripts for development, publishes configuration files and stubs, configures your environment (locale, database, services), and automatically creates semantic Git commits for each step.
composer require ngiraud/laravel-starter --dev
Run the interactive installer on a fresh Laravel application:
php artisan starter:install
It will guide you through the complete setup and delegate to the sub-commands below. At the end it offers to remove itself from your project.
Each step is also available as a standalone command, usable at any time after initial setup:
| Command | Description |
|---|---|
| starter:init | git init + .env configuration (name, locale, database) |
| starter:add {package} | Install a package + post-install steps + commit |
| starter:remove {package} | Remove a package + cleanup + commit |
| starter:publish | Publish config stubs, scripts, GitHub Actions, and opt-in extras |
| starter:finalize | Run composer lint (Rector + Pint) and commit |
| Key | Package | Default |
|---|---|---|
| telescope | Laravel Telescope | ✓ |
| horizon | Laravel Horizon | — |
| filament | Filament | — |
| larastan | Larastan | ✓ |
| rector | Rector (Laravel) | ✓ |
| backup | Laravel Backup | — |
| paratest | Paratest | — |
| nightwatch | Laravel Nightwatch | — |
starter:publish sets up the following, with opt-in prompts for extras:
pint.json, AppServiceProvider.php, TestCase.phpweb-local.php (local-only routes, auto-required in web.php)frdev, lint, test, test:lint, test:types, test:alldev, lint, test:lint.gitignore: adds /.claude entry.ai/guidelines/ stubs for testing and conventionsAction, Fakeable, FakeAction, FakeableTest, MakeActionCommand + make:action stubapp/Enums/Concerns/EnhanceEnum.phpAfter running the installer, these scripts are available in your project:
composer dev # Start all dev services concurrently (logs, vite, queue)
composer lint # Rector + Pint + ESLint
composer test # Run the test suite
composer test:lint # Dry-run lint (CI)
composer test:types # PHPStan (if Larastan installed)
composer test:all # Full CI suite
composer test
Two helper scripts are provided to wire up the package as a local path repository in a target project:
# Add path repo + minimum-stability: dev to the project's composer.json
./scripts/setup-local.sh my-laravel-project
# Mount the package into the project's Sail compose file
./scripts/setup-sail.sh my-laravel-project
Both scripts resolve paths automatically relative to their own location (assumes projects live alongside laravel-packages/ in the same parent directory).
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.