vocalio / laravel-starter-kit
Laravel Starter Kits with all the necessary tools and configurations to kickstart your next project.
Fund package maintenance!
vocalio
Requires
- php: ^8.2
- illuminate/contracts: ^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^2.9
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.3
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-phpunit: ^1.3
- spatie/laravel-ray: ^1.35
README
Installation
Get started with Laravel Starter Kit by installing it via Composer:
composer require vocalio/laravel-starter-kit
After installation, run the setup command:
php artisan starter-kit:install
Usage
During the installation process, you'll be guided through selecting the features you'd like to incorporate into your project.
Available Features
- Larastan
- Pest
- Duster (TLint, PHP_CodeSniffer, PHP CS Fixer, Pint)
- Tailwind CSS
- Filament
- DB updates
- Prettier
- Github Actions
Feature Details
Larastan
Enhance your code quality with static analysis. We provide a pre-configured Larastan setup at level 7.
Customize your configuration in the phpstan.neon
file.
Run Larastan with:
vendor/bin/phpstan analyse
Pest
We've chosen Pest as our testing framework. Our setup includes pre-configured Architectural tests.
Execute Pest tests using:
php artisan test
Duster
Maintain clean and consistent code with Duster. It integrates TLint, PHP_CodeSniffer, PHP CS Fixer, and Pint to check and fix your code style.
For more information, refer to the Duster documentation
Tailwind CSS
Opt for Tailwind CSS to get a default configuration ready for your project.
Filament
Choose Filament to install the package with a default configuration.
DB updates
Our DB updates feature simplifies database modifications and fixes. It operates similarly to Laravel migrations.
Usage
Generate a new DB update:
php artisan db-update:create
This creates a new file in database/updates
. Here are some examples of what you can do:
Update database values after refactoring:
public function __invoke(): void { Order::query() ->where('state', 'new') ->update(['state' => OrderState::CREATED]); }
Clean up test data from your production database:
public function __invoke(): void { Order::query() ->whereDate('created_at', '<', '2024-01-01') ->delete(); }
Execute your DB update with:
php artisan db-update:run
Prettier
Prettier enforces consistent code formatting. We provide a pre-configured setup (.prettierrc
).
Use the .prettierignore
file to exclude specific files or directories from Prettier's formatting.
Github Actions
Our starter kit includes a pre-configured Github Actions workflow for automated testing and code style checks on every push to the main branch.
Permissions
To enable Github Actions to commit changes from Duster and Prettier, set the appropriate permissions:
Navigate to github.com -> (Your project) -> Settings -> Actions -> General -> Workflow permissions
and select Read and write permissions
.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.