laravel-packages
Installation
SKILL.md
Laravel Packages
A package is an infrastructure capability any app could install: sending SMS through a gateway, rate-limiting outbound calls, a client for a third-party API. It is built like an in-app service (laravel-services): a manager picks a driver behind a contract, a NullDriver stands in for the real one, and callers go through a facade. Three things differ. It registers through spatie/laravel-package-tools, it ships a fake so the apps that install it can test against it, and it is tested on its own with Orchestra Testbench, never through an app.
laravel-sms/
├── config/sms.php
├── src/
│ ├── Contracts/SmsDriver.php
│ ├── Drivers/{HttpDriver,NullDriver}.php
│ ├── Exceptions/SmsException.php
│ ├── Facades/Sms.php
│ ├── SmsFake.php
│ ├── SmsManager.php
│ └── SmsServiceProvider.php
└── tests/ # Drivers/, Facades/, ArchTest.php, Pest.php, TestCase.php