Domain Driven Laravel Package Development skeleton project for modular Laravel application development.
Based on https://github.com/spatie/laravel-package-tools, this starter ships with Testbench, Pest, PHPStan, Rector, Livewire and Filament with the appropriate and required configuration necessary to develop and test from within the package/module itself.
This repository serves as a starting point to a modular approach to app development according to Domain Driven Design and Hexagonal Architecture principles. To get started:
- Create your package directory and run
git init; - Add package remote
git remote add origin <REPOSITORY> (i.e.git@github.com:99linesofcode/.git); - Add the skeleton as a secondary remote
git remote add skeleton git@github.com:99linesofcode/laravel-package-skeleton.git; - Update local repository using
git fetch skeleton; - Commit changes to the package repository
git rebase skeleton/main.
If you have access to the Nix package manager you can initialize a local development environment like so:
- Initialize the
devshellsubmodule that is included by default usinggit submodule update --init --recursive; - Run
echo use flake ./devshell >> .envrc; - Run
direnv allow.
Please review the Contribution Guidelines.
In order to ensure that the community is welcoming to all, please review and abide by the Code of Conduct.
Please review the security policy on how to report security vulnerabilities.
This software is open source and licensed under the MIT license.