Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
laravel-sms-gateway-plivo-development
laravel-sms-gateway-plivo-development
misaf/laravel-sms-gateway
claude-code
sms
gateway
messaging
notification
laravel
sms-gateway
laravel-package
sms-api
sms-provider
sms-driver

Guidance for developing the misaf/laravel-sms-gateway-plivo package, the Plivo driver for Laravel SMS Gateway.

Install
php artisan boost:add-skill misaf/laravel-sms-gateway

Save this content to: .claude/skills/laravel-sms-gateway-plivo-development/SKILL.md

# laravel-sms-gateway-plivo development

This package is developed inside the `misaf/laravel-sms-gateway` monorepo at
`Drivers/laravel-sms-gateway-plivo` and split out to its own read-only repository on release.

## Layout

- `src/PlivoDriver.php` — a `final` driver implementing `Misaf\LaravelSmsGateway\Contracts\SmsGateway`.
- `src/Providers/PlivoServiceProvider.php` — registers the `plivo` driver on the manager.
- `config/sms-gateway-plivo.php` — provider credentials.
- `tests/Feature/PlivoDriverTest.php` — run from the monorepo root with `composer test`.

## Rules

- Never edit files here in the split repository; change them in the monorepo.
- The driver takes its credentials and timeouts as constructor arguments; the
  service provider reads them all from `sms-gateway-plivo.*`, timeouts and retry included.
- The driver extends `Misaf\LaravelSmsGateway\Drivers\SmsGatewayDriver`, which
  owns the timeouts, the retry policy and the `SmsSending`/`SmsSent`/
  `SmsSendFailed`/`SmsSendUnreachable` events. Implement `driverName()`, `sendRequest()`
  and, for credentials, `configure()`. The base URL comes from the config file,
  which is the only place it is defined.
- Guard the base URL and each credential with `self::requireConfigured()` in the
  constructor: a config key that is present but empty passes `Config::string()`,
  so it is rejected at driver resolution and covered by a test.
- Retry only connection failures and gateway 5xx responses; a rejected
  credential or a malformed payload must fail on the first attempt.
- Keep the driver free of any dependency on sibling driver packages.

laravel-sms-gateway-plivo development

This package is developed inside the misaf/laravel-sms-gateway monorepo at Drivers/laravel-sms-gateway-plivo and split out to its own read-only repository on release.

Layout

  • src/PlivoDriver.php — a final driver implementing Misaf\LaravelSmsGateway\Contracts\SmsGateway.
  • src/Providers/PlivoServiceProvider.php — registers the plivo driver on the manager.
  • config/sms-gateway-plivo.php — provider credentials.
  • tests/Feature/PlivoDriverTest.php — run from the monorepo root with composer test.

Rules

  • Never edit files here in the split repository; change them in the monorepo.
  • The driver takes its credentials and timeouts as constructor arguments; the service provider reads them all from sms-gateway-plivo.*, timeouts and retry included.
  • The driver extends Misaf\LaravelSmsGateway\Drivers\SmsGatewayDriver, which owns the timeouts, the retry policy and the SmsSending/SmsSent/ SmsSendFailed/SmsSendUnreachable events. Implement driverName(), sendRequest() and, for credentials, configure(). The base URL comes from the config file, which is the only place it is defined.
  • Guard the base URL and each credential with self::requireConfigured() in the constructor: a config key that is present but empty passes Config::string(), so it is rejected at driver resolution and covered by a test.
  • Retry only connection failures and gateway 5xx responses; a rejected credential or a malformed payload must fail on the first attempt.
  • Keep the driver free of any dependency on sibling driver packages.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log