Our starter-kit requires Laravel with version 10 or higher.
Install the package via composer:
composer require rockero-cz/laravel-starter-kit --with-all-dependenciesYou 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:installAll 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
--testto also create matching tests.
composer testPlease 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.