sunchayn/nimbus
Nimbus is a Laravel package for generating and delivering notifications across multiple channels with clean, extensible drivers. It helps you define messages once, route them to email/SMS/webhooks, and manage templates, queues, and configuration in a consistent API.
FormRequest, Validator), making it a natural fit for projects with complex request validation (e.g., multi-step forms, nested resources). Risk: Overhead if validation logic is overly dynamic or uses custom rules heavily.Nimbus::routes(['api/*']); // Whitelist routes
Nimbus::ignore(['admin/*']); // Blacklist routes
Nimbus\Events\SchemaBuilt.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Schema Accuracy | Medium | Validate against edge cases (e.g., dynamic validation, middleware altering requests). |
| Performance Impact | Low | Schema generation is cached; test under load. |
| Auth Integration | Medium | Ensure Nimbus::auth() aligns with your auth provider (Sanctum/Passport). |
| UI Customization | Low | Blade templates are provided; extend as needed. |
| Route Caching | Low | Laravel’s route caching (php artisan route:cache) may need adjustment. |
Rule::when) that may break schema generation?Route::apiResource), validation (FormRequest), and middleware. Works alongside:
/v1/public)./admin routes).GET endpoints)..env):
NIMBUS_ENABLED=false
| Component | Compatibility Notes |
|---|---|
| Laravel Version | Tested on Laravel 10+; PHP 8.1+. Downgrade risk if using older versions. |
| Validation Rules | Supports standard rules (required, email) and custom rules (if annotated). |
| Middleware | Respects Laravel middleware (e.g., auth:sanctum). Custom middleware may need adjustments. |
| Rate Limiting | Nimbus requests may trigger rate limits (configure throttle middleware). |
| Caching | Schema caching improves performance; clear cache on route changes (php artisan route:clear). |
| Testing | Use Nimbus::disable() in tests to avoid flakiness. |
Rule::when).composer require sunchayn/nimbus
php artisan vendor:publish --provider="Sunchayn\Nimbus\NimbusServiceProvider"
config/nimbus.php (routes, auth, UI).php artisan route:clear).Nimbus::auth() middleware.Nimbus::schema() to inspect raw schema data.storage/logs/laravel.log) for errors.php artisan nimbus:generate in CI.Nimbus::withDatabase() for persisted schemas.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Schema Inaccuracy |
How can I help you explore Laravel packages today?