open-solid/bus
OpenSolid Bus is a lightweight command bus for Laravel that helps organize application logic into commands and handlers. It offers a clean API for dispatching commands, resolving handlers, and keeping controllers and services thin, focused, and easy to test.
Adopt when:
Look elsewhere when:
ShouldQueue, Symfony Messenger, or an explicit queue design fit better.For executives: This isn't a product feature — it's an engineering-hygiene choice with near-zero license cost (MIT) and a days-scale integration. It buys thinner controllers, faster tests, and a clean architectural seam if we later split modules into services. The risk is maintenance: by community standards the package is effectively unmaintained (3 stars, no dependents, single-maintainer risk). My recommendation is to approve it only as an internal, forkable pattern with a named owner and a one-day escape hatch back to plain Laravel services — not as a strategic dependency. Suggested gate: a one-sprint pilot in a single bounded context, with controller LOC and test-suite runtime measured before and after.
For engineering: One handler per command or query, explicit bindings, a middleware pipeline for validation/logging/transactions, container-injected handlers, and the ability to test by dispatching without HTTP. The core is framework-agnostic, so the pattern survives a framework move. The cost is boilerplate plus a convention you have to enforce in review; the benefit is controllers that read like a routing table and domain logic that's unit-testable in isolation. Vendor the code or wrap it behind an internal interface so we can swap the implementation without touching call sites.
How can I help you explore Laravel packages today?