jaspur / coding-flow
Laravel package voor geautomatiseerde repositories, services, DTO's en tests
Requires
- php: ^8.4
- driftingly/rector-laravel: ^2.0
- illuminate/console: ^12.0
- illuminate/support: ^12.0
- laravel/helpers: v1.7.2
- laravel/pint: ^1.21
- pestphp/pest: ^3.7
- phpstan/phpstan: ^2.1
- rector/rector: ^2.0
README
π CodingFlow is een Laravel package dat automatisch repositories, services, DTOβs, API resources en tests genereert op basis van Laravel Blueprint.
Hierdoor kun je sneller een gestructureerde en schaalbare codebase opzetten met best practices.
π Installatie
composer require jaspur/coding-flow --dev
Na installatie kun je de configuratie publiceren met:
php artisan vendor:publish --tag=codingflow-config
β‘ Gebruik
Je kunt de complete projectstructuur genereren met één command:
php artisan codingflow:generate-structure
Individuele componenten genereren:
php artisan codingflow:generate-repositories php artisan codingflow:generate-services php artisan codingflow:generate-dtos php artisan codingflow:generate-api-resources php artisan codingflow:generate-feature-tests php artisan codingflow:generate-observers
Wil je dat CodingFlow automatisch bijhoudt welke modellen en controllers gegenereerd moeten worden?
Dat kan via Laravel Blueprint! Zorg dat je een blueprint.yaml
hebt en voer uit:
php artisan blueprint:build && php artisan codingflow:generate
β Configuratie
Het config/codingflow.php
bestand bevat alle instellingen voor welke componenten worden gegenereerd en waar de bestanden worden opgeslagen.
Voorbeeldconfiguratie:
return [ 'overwrite_existing_files' => false, 'generators' => [ 'repositories' => true, 'services' => true, 'dtos' => true, 'api_resources' => true, 'feature_tests' => true, 'observers' => true, ], 'paths' => [ 'repositories' => app_path('Repositories'), 'services' => app_path('Services'), 'dtos' => app_path('DTOs'), 'api_resources' => app_path('Http/Resources'), 'feature_tests' => base_path('tests/Feature'), 'observers' => app_path('Observers'), ], 'watch_blueprint' => true, 'code_quality' => [ 'phpstan' => true, 'pint' => true, 'rector' => true, ], ];
β Wat genereert CodingFlow?
π Component | π Bestandsstructuur |
---|---|
Repositories | app/Repositories/PostRepository.php |
Services | app/Services/PostService.php |
DTOβs | app/DTOs/PostDTO.php |
API Resources | app/Http/Resources/PostResource.php |
Feature Tests | tests/Feature/PostTest.php |
Observers | app/Observers/PostObserver.php |
π Code Kwaliteit & Standaarden
CodingFlow ondersteunt automatisch:
β
PHPStan (Level 9) voor statische analyse
β
Laravel Pint voor code formatting
β
Rector voor automatische code verbeteringen
Voer deze checks handmatig uit:
vendor/bin/phpstan analyse vendor/bin/pint vendor/bin/rector process
π― Roadmap & Toekomstige Features
β
Ondersteuning voor Laravel 10 & 11
β
Automatische model-detectie via Eloquent
β³ Integratie met Laravel Nova voor resource controllers
β³ Extra validaties in DTO's
π₯ Wil je bijdragen? Fork de repo en stuur een PR!
π Licentie
CodingFlow wordt uitgebracht onder de MIT License.