laranail / package-tools
Runtime base library for building Laravel packages — fluent Package builder + abstract PackageServiceProvider with attribute-driven discovery, package-tools.doctor, and isolation testing.
Requires
- php: ^8.4.1 || ^8.5
- illuminate/bus: ^13.0
- illuminate/console: ^13.0
- illuminate/contracts: ^13.0
- illuminate/database: ^13.0
- illuminate/filesystem: ^13.0
- illuminate/http: ^13.0
- illuminate/log: ^13.0
- illuminate/queue: ^13.0
- illuminate/support: ^13.0
- laranail/console: ^1.0
- symfony/process: ^8.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.18
- mockery/mockery: ^1.6
- orchestra/testbench: ^11.0
- pestphp/pest: ^3.0
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^11.0
- rector/rector: ^2.0
- roave/security-advisories: dev-latest
- spatie/pest-plugin-test-time: ^2.2
README
Runtime base library for building Laravel packages — a fluent
Packagebuilder and an abstractPackageServiceProvider(in the spirit ofspatie/laravel-package-tools), plus attribute-driven discovery, declarative + array-batch registration helpers,package-tools.*Artisan commands, abstract HTTP controllers, and a testing harness.
Requires PHP ^8.4.1 || ^8.5 on Laravel ^13.
Install
composer require laranail/package-tools
Documentation
Full documentation is at opensource.simtabi.com/documentation/laranail/package-tools — getting started, the fluent builder, declarative registration & batch helpers (scheduled commands, policies, morph maps, about sections, doctor checks, install commands), the seeding subsystem (db:seed-time bundles, opt-in autorun after migrations, background/scheduled execution with completion events), per-package logging via $package->log(), attribute discovery, the Artisan commands, HTTP controllers, provenance/SBOM, the testing harness, configuration, and the release process.
Contributing & security
Issues and PRs are welcome — see CONTRIBUTING.md. Report vulnerabilities per SECURITY.md (opensource@simtabi.com); participation follows the Code of Conduct.
License
MIT © Simtabi LLC. See LICENSE.