Our starter-kit requires Laravel with version 10 or higher.
Install the package via composer:
composer require rockero-cz/laravel-starter-kit --with-all-dependencies
You can customize the installation command by publishing the config file with:
php artisan vendor:publish --tag="starter-kit-config"
Then run the installation command:
php artisan starter-kit:install
All functionally of rockero-cz/laravel-starter-kit
are described bellow in a simple list with examples. They are designed to speed up the kickoff of your projects. It can be installed on any kind of Laravel
application.
The starter kit includes the initial setup of Pest
by publishing a pre-configured TestCase
, example tests and also .env.testing
file.
Additionally, it generates an ArchitectureTest.php
to maintain the codebase clean and sustainable.
test('globals')
->expect(['dd', 'dump', 'ray', 'env'])
->not->toBeUsed();
test('controllers')
->expect('App\Http\Controllers')
->not->toUse('Illuminate\Http\Request');
test('value objects')
->expect('App\ValueObjects')
->toUseNothing();
Besides tests, it also prepares static analysis using the PHPStan
tool with custom configuration on level 7.
includes:
- ./vendor/larastan/larastan/extension.neon
parameters:
level: 7
checkMissingIterableValueType: false
checkGenericClassInNonGenericObjectType: false
paths:
- app/
For linting and formatting we use Duster
by Tighten. Duster
unifies multiple tools together (Pint
, TLint
, PHP_CodeSniffer
and PHP CS Fixer
) inside one powerful command. It also helps us to follow some coding standards.
We also have added PHPStan
inside config to have everything unified in one single command.
{
"scripts": {
"lint": {
"phpstan": ["./vendor/bin/phpstan", "analyse"]
},
"fix": {
"phpstan": ["./vendor/bin/phpstan", "analyse"]
}
}
}
During the installation of the starter-kit, you will be prompted to add CI for GitHub Workflows.
If you choose to proceed, a ci.yml
file containing tests and Duster
will be automatically generated.
To allow github action to commit changes from duster and prettier you have to set permissions for that.
Set Read and write permissions
in github.com -> (Your project) -> Settings -> Actions -> General -> Workflow permissions
During the installation of the starter-kit, you will be prompted to add Prettier to CI and project.
Installation prepare .prettierrc
where is configuration and command php artisan prettier
to fix your code on local environment.
You can use the .prettierignore
file to ignore any files or directories that you want. This can be useful for keeping Prettier from formatting files that you don't want it to format, or for keeping Prettier from formatting files that are not code files.
Publish Laravel's default stubs so we have unified source code across projects.
They are also slightly modified to make the programming process more productive.
Since we follow the Action
programming concept, the starter kit provides two commands which will make you more productive.
Make action command: php artisan make:action VerifyUserAction
class VerifyUserAction
{
/**
* Run the action.
*/
public function run(): void
{
//
}
}
Make class command: php artisan make:class ShoppingCart
class ShoppingCart
{
//
}
Both commands have an option
--test
to also create matching tests.
composer test
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.