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 Laravel Package

ecotone/laravel

Ecotone Laravel brings message-driven architecture to Laravel: command, query and event buses, CQRS, event sourcing, sagas and the outbox pattern, wired into the container, queues and Eloquent. Build decoupled, resilient apps with attributes instead of boilerplate.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Architecture roadmap — modular monolith vs. bespoke plumbing. Whether to evolve a Laravel monolith toward explicit command, query, and event buses (CQRS/DDD) rather than hand-rolling messaging glue. This is the core decision the package informs: not a feature you ship, but a structural bet on how the product will absorb domain complexity over the next 1–3 years.
  • Build vs. buy (really “adopt”). Ecotone supplies command/query handlers, event handling, sagas/process managers, projections, the transactional outbox, and event-sourcing primitives. A PM can use it to compare “adopt an existing framework” against “build and maintain an internal package.” Because adoption signals are thin (22 stars, 0 dependents) and the license is unresolved (NOASSERTION), the honest framing is “adopt a young open-source component with real vendor and fork risk,” not “buy.”
  • Feature delivery. Async workflows, webhook and third-party integration processing, retries, multi-step business processes, audit/event logs, and read-model projections — the capabilities that usually get rebuilt ad hoc as the product grows.
  • Representative use cases. Order-fulfillment sagas, payment retry and reconciliation flows, domain events between modules, compliance-oriented event history with temporal queries, and strangler-fig extraction of bounded contexts out of a monolith.
  • Investment sequencing. Fund one bounded context and one pattern first — a command bus, or an outbox-backed event flow — then measure correctness and team velocity before expanding. This supports incremental roadmap bets, not a platform-wide rewrite. Converting existing service-layer/CRUD code is the real project; the install is trivial by comparison.
  • Risk gating as a product decision. The license ambiguity and absence of production references are governance items a PM should own alongside engineering. Legal determination and a rollback plan are prerequisites, not cleanup tasks.
  • Staffing and ramp-up planning. Expect weeks for a competent Laravel developer to be independently productive and several sprints before the team can reason about failure semantics. A senior champion and a design-review gate are prerequisites; under-resourcing this is the most common way these initiatives fail quietly.

When to Consider This Package

Consider it when:

  • The Laravel application has genuine domain complexity — cross-module workflows, asynchronous integrations, multi-step processes with compensation, or audit/compliance requirements that read naturally as events.
  • The team already understands DDD, CQRS, messaging, and event-driven trade-offs, and specifically wants Ecotone semantics inside Laravel rather than a Laravel-native queue-and-jobs approach.
  • You can absorb the youth of the integration: pin both ecotone/ecotone and ecotone/laravel, isolate the package behind internal interfaces, and accept being first to hit edge cases.
  • You can run a time-boxed pilot in one bounded context — ideally new or low-traffic — with success criteria and an expand-or-abandon review agreed before the spike begins.
  • License ambiguity can be resolved in writing through legal review before any production code is merged.
  • You have a named owner prepared to reconcile Laravel upgrades against Ecotone releases, and a rehearsed projection-rebuild procedure.

Look elsewhere when:

  • The product is mostly CRUD with limited workflow complexity. Laravel’s queues, jobs, events, and Event::dispatch already cover plain asynchronous work; adopting Ecotone for that alone swaps a well-understood stack for conceptual overhead with no offsetting capability.
  • Procurement requires clear license metadata, commercial support, or an SLA — NOASSERTION is not a license grant.
  • You need adoption evidence, production references, or a peer ecosystem. 22 stars and 0 dependents mean you will encounter the edge cases first and have no one to borrow fixes from.
  • You rely on Octane/Swoole, exotic queue drivers, or heavily customized container bindings — precisely where a secondary adapter lags. Ecotone’s primary integration target is Symfony; Laravel is the secondary surface.
  • You are Symfony-based or want framework-agnostic messaging — evaluate Ecotone core directly instead of this adapter.
  • You need a Laravel-native event-sourcing or outbox solution with a longer production track record.
  • The team cannot fund the learning curve or the second runtime you will now operate.

How to Pitch It (Stakeholders)

For executives: This is an architectural accelerator for event-driven Laravel applications, not a customer-facing differentiator. It can eliminate a meaningful amount of custom plumbing for workflows, sagas, integrations, and audit trails, and it gives engineering a consistent vocabulary for domain events instead of a patchwork of jobs and listeners. But the decision today is not “adopt” — it is “pilot.” With 22 stars, zero dependents, an unresolved license, and Laravel as a secondary target for the upstream project, this is a bet on a thin adapter. Recommend a bounded spike in one low-risk context, with legal review as a hard gate, agreed success metrics, and a documented rollback. Price in that backing out later is not a refactor but a data migration.

For engineering: Ecotone brings message buses, attribute-driven handlers, aggregates, sagas, projections, and a transactional outbox into Laravel’s container and config model, with artisan commands (ecotone:list, ecotone:run) for inspection and consumer management. The upside is less bespoke messaging code and more consistent domain patterns. The costs are a steep ramp-up, framework coupling, a second runtime with its own release cadence, and dependency risk. Verify early that the adapter reuses Laravel’s DB connection and transaction manager — whether domain events and state commits share a transaction is the single most important correctness property here. Then design explicitly for the quiet failures: silent handler non-registration after a namespace or config change (add a startup assertion and health check), poison messages without a dead-letter path, outbox relay lag, non-idempotent handlers under duplicate delivery, and adapter/core version mismatch at upgrade time. Mitigate with adapter boundaries, pinned versions, monitoring, and a fallback plan — and be prepared to own the fork.

For product and legal: The capability is real and there is no first-class Laravel-native equivalent for sagas, aggregates, and a transactional outbox. That is genuine product leverage if the roadmap includes complex workflows. Treat the license determination as a yes/no gate that runs before engineering effort, not alongside it, and confirm whether commercial support exists and explicitly covers the Laravel adapter rather than core alone.

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.
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums