x-one/notifier-bundle
A Laravel bundle for sending notifications across multiple channels, offering a clean API for configuring drivers, templates, and delivery rules with queue and event integration.
symfony/notifier is the first-party answer; this bundle sits on top as an enhancement layer. Use it to frame the "one notification contract, many transports" argument in a roadmap review.Notification system (mail, database, broadcast, SMS via Vonage, Slack). For a Laravel codebase the decision is almost always "extend Laravel Notifications," and this package is architecture reference material, not an adoption candidate.Consider it when:
composer.json) and already committed to symfony/notifier; this is a thin complement, not a replacement.Look elsewhere when:
Illuminate\Notifications with a custom channel; a Symfony bundle adds integration cost with no payoff.symfony/notifier (or a commercial hub) rather than an unaudited layer over it.To executives: This is not a platform bet and shouldn't be funded as one. It's a small, single-maintainer Symfony add-on with no measurable adoption (no dependents, no community). The strategic value is informational: it sharpens our notification-layer design and gives us a feature checklist for alerts, digests, and routing. Recommendation is a time-boxed engineering spike, not a dependency commitment — roughly one engineer-week, output being a decision memo: adopt-as-fork, build on first-party symfony/notifier directly, or buy a managed hub. The build-vs-buy comparison is the real deliverable; the package is the prompt.
To engineering: Treat it as reference implementation first, dependency second. Before any merge: confirm Symfony version compat, read every line of the enhancement layer (it's small), check license, check test coverage, and confirm it can be forked into our org. If we adopt, pin by commit, vendor the source, and assign a named owner. For Laravel services, this is out of scope — we'd mirror the pattern with Illuminate\Notifications and a custom channel instead. Do not let it enter the dependency graph transitively; it has no downstream users to catch regressions for us.
How can I help you explore Laravel packages today?