- What is revision-ten/cqrs and what problem does it solve?
- It is a lightweight CQRS package for Laravel that separates write operations from read operations using commands, queries, handlers, and buses. The goal is to organize business logic into clear, testable actions instead of scattering it across controllers and models. It is Laravel-friendly and presumably integrates through the service container and existing framework primitives.
- How do I install revision-ten/cqrs in a Laravel application?
- Install it with Composer using composer require revision-ten/cqrs and let Laravel package auto-discovery register the service provider. Because the repository has a one-line description, confirm any required configuration, published config files, or bus bindings by reading the source directly. Run a short spike in a throwaway branch before wiring it into an existing application.
- Which PHP and Laravel versions does revision-ten/cqrs support?
- The package metadata does not publish a supported version matrix, so treat this as something you must verify. Check the composer.json require and require-dev constraints against your target Laravel and PHP versions. Confirm it tracks current framework contracts before committing, since a stale constraint can strand you on an older Laravel release.
- Is revision-ten/cqrs production-ready?
- There is no evidence either way: roughly 2 stars, 0 dependents, no downstream bug reports, no third-party writeups, and no visible community triage. That is an absence of evidence rather than a verdict on code quality. Treat it as an unvetted internal reference implementation until your own spike and test coverage prove otherwise.
- Does revision-ten/cqrs ship an event store or event sourcing backend?
- The description mentions CQRS plus event sourcing, but it is unclear whether an event store is bundled or merely assumed. You need to confirm during a spike whether it targets Eloquent, a DBAL table, or an external broker. Related questions are the event serialization strategy, upcasting support, and whether command-to-event persistence and dispatch are atomic.
- Can I use revision-ten/cqrs for a simple CRUD application?
- CQRS is a high-commitment architectural bet and generally does not pay off for CRUD-shaped domains. It earns its keep where read and write load are asymmetric, auditability and temporal queries are first-class requirements, or bounded contexts have rich invariant-heavy domain logic. For a small team without DDD familiarity or a greenfield product still finding product-market fit, stick with conventional Laravel patterns.
- What are the main risks of depending on revision-ten/cqrs?
- The dominant risk is abandonment rather than defects, given single-maintainer stewardship and no visible release cadence. A framework upgrade could leave the package unmaintained when you need it most. The package is MIT licensed, so a practical mitigation is to vendor or fork a thin abstraction under your own control at adoption time.
- Is revision-ten/cqrs compatible with Laravel Octane and queue workers?
- There is no published information confirming Octane or queue-worker compatibility, so test it explicitly in your spike. Buses resolved through the container usually work under long-running workers, but you must check for static state, request-scoped bindings, and middleware that assume a fresh process. Idempotency keys and tracing middleware are typical cross-cutting concerns to validate on the bus.
- Does revision-ten/cqrs provide testing helpers or in-memory fakes?
- The metadata gives no indication of shipped test helpers, in-memory buses, or aggregate fakes. Plan to verify whether handlers and aggregates can be unit tested without a database or queue. If helpers are missing, a small in-memory command bus fake is usually cheap to write yourself.
- How should I evaluate revision-ten/cqrs against alternatives?
- Separate the architecture decision from the package decision: CQRS and event sourcing are multi-quarter commitments, while the package itself is a marginal line item. Spend one to two weeks on a spike covering the version matrix, event store, serialization and upcasting, transaction boundaries, and projection rebuilds. If the feature surface is thin, mine the package for interface design and adopt the pattern with your own implementation instead of the dependency.