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

Command Bus Laravel Package

micro-module/command-bus

A lightweight command bus for Laravel micro-modules that dispatches commands to their handlers, supports middleware pipelines, and keeps controllers thin by separating request handling from business logic.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Modular monolith vs. microservices. A command bus turns every domain operation into a first-class, addressable unit (command + handler). That lets a roadmap commit to "modular monolith now, extract services later" without rewriting call sites — the bus boundary becomes the seam you cut along. This package is the thinnest possible version of that seam.
  • Where cross-cutting product behavior lives. The real leverage in any command bus is middleware: idempotency keys for retry-safe payments and order submission, tenant scoping for multi-tenant tiers, per-command feature flags, audit logging for enterprise/compliance requirements, and per-command metrics for SLA reporting. Deciding "these behaviors belong to the bus, not to controllers" has a direct enterprise-readiness and pricing consequence.
  • Sync vs. async execution as a product lever. Bus dispatch lets you flip an operation from inline to queued at the same call site when latency or volume demands it — useful for bulk imports, onboarding workflows, and high-volume writes without a client-facing redesign.
  • Build vs. buy (vs. hold) for platform plumbing. Laravel already ships Illuminate\Bus\Dispatcher (dispatch, dispatchSync, chains), which covers most of what this package appears to offer. The decision worth making is about conventions and middleware standards, not about adopting this dependency.
  • Engineering-standards reference. Useful as a teaching artifact when arguing for handler-per-command discipline; not useful as a runtime dependency.

When to Consider This Package

Adoption criteria — all of them are narrow:

  • You are already inside the micro-module/* ecosystem and need the shared command-bus contract those modules expect.
  • You need an interface-only contract (command/handler) and are prepared to fork and own it.
  • You are evaluating patterns, not shipping — reading the source as a reference implementation.

Look elsewhere in the common case:

  • Maintenance and security. Last release May 2021, 0 stars, 0 dependents. Zero public adoption isn't neutral: no downstream users to surface breakage, and no credible patch path if a framework-level vulnerability lands.
  • Framework compatibility. A 2021 PHP package almost certainly targets Laravel 8 / PHP 7.4–8.0. On Laravel 10/11 and PHP 8.2+, you inherit upgrade work before receiving any value.
  • You need a middleware ecosystem, documentation, or observability integrations. Laravel's native bus, laravel-command-bus-style packages, or Symfony Messenger provide maintained middleware, retries, and queue integration.
  • You need async/queue semantics at scale. Use the queue layer (Horizon) rather than a third-party bus wrapper.

How to Pitch It (Stakeholders)

Executives: This is a pattern decision, not a vendor commitment. The command-bus pattern lets us treat each business operation — submit an order, process a payment, provision a tenant — as one auditable, retry-safe, deferrable unit, which is exactly what enterprise buyers probe during diligence. The package itself is unmaintained (last release 2021, no adopters) and carries unnecessary dependency risk, so I recommend adopting the pattern on Laravel's built-in bus with our own thin contracts. Cost is roughly one sprint of standards work; benefit is modularity without a rewrite and auditable operations.

Engineering: Treat this repo as a reference implementation, not a dependency. It confirms the shape we want (command + handler + bus) but gives us no middleware, no tests, and no Laravel 10/11 support. Proposal: define our own Command/Handler contracts, dispatch through Illuminate\Bus\Dispatcher, and put idempotency, tenant scoping, and per-command metrics into middleware — that is where the product value actually sits. Revisit third-party bus libraries only if we outgrow native dispatch.

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.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource