- How do I install danielcoulbourne/verbs-sync in a Laravel application?
- Install it with Composer using composer require danielcoulbourne/verbs-sync, then let Laravel auto-discover the package service provider. Publish the package config with the vendor:publish command so you can review transports and queue settings before enabling delivery. At v0.1.0 the repository README is the primary source for exact publish tags and any required environment variables, so confirm those steps before rollout.
- Which PHP and Laravel versions does verbs-sync support?
- The v0.1.0 release notes do not publish a compatibility matrix, so PHP and Laravel support must be confirmed from the package composer.json constraints. Check that its require and require-dev ranges overlap your application's PHP and illuminate/support versions before installing. Treat version fit as an evaluation step rather than an assumption, because pre-1.0 releases can change constraints without a deprecation period.
- How does verbs-sync capture domain events in Laravel?
- It hooks into Laravel's event lifecycle, capturing verbs as they are dispatched rather than requiring bespoke glue code in each listener. Captured verbs are then forwarded to remote services through the configured transport, with delivery running through the queue. Existing dispatch calls stay unchanged, but confirm in the source which events are captured and whether filtering is configurable.
- Is verbs-sync delivery queued and idempotent?
- Yes, the package describes queued, idempotent delivery intended to avoid duplicate processing when events are forwarded to remote services. Idempotency is the key property to verify in your own environment, since synchronization packages can silently duplicate or drop records. Run representative events through the queue twice in a sandbox and confirm the remote side does not create duplicates before relying on it.
- How do I configure verbs-sync transports?
- Configuration is handled through the package's publishable config file, which is where transports and delivery behavior are defined. The package advertises pluggable transports for moving verbs between environments, so you can point it at the remote service or environment you need. Review the published config for queue connection, retry, and transport options, and test each transport against a non-production target first.
- What Artisan commands does verbs-sync provide?
- The package includes Artisan commands for inspecting and replaying synchronized events, which is useful when diagnosing missed or failed deliveries. Replay commands deserve particular care in production because replaying an event can reprocess data on the remote service. Check the command signatures and any dry-run support in the source before running them against live systems.
- What are the production risks of using verbs-sync?
- The main risk is data integrity: any synchronization package can duplicate, drop, or overwrite records, and failures can be silent until discovered downstream. At v0.1.0 there is also pre-1.0 volatility, a single maintainer, and no published security disclosure process or test coverage evidence in the release artefact. For production use, confirm idempotency, conflict resolution, observability hooks, and a rollback path before adoption.
- How should I test verbs-sync before adopting it?
- Stand the package up in a disposable sandbox against a copy of representative data, then run the same synchronization twice to confirm idempotency. Deliberately inject conflicts and verify how the package resolves or reports them, and check whether it emits events or logs you can hook for observability. Also inspect composer.json and run a dependency advisory scan, because the transitive tree is not documented at v0.1.0.
- Are there alternatives to verbs-sync for syncing Laravel events?
- Laravel's own event system, queue workers, and monitoring tools such as Laravel Horizon cover dispatch and observability but not cross-application verb synchronization. Teams often build bespoke listeners or use message brokers and webhook delivery for this, so compare verbs-sync against your existing glue code rather than assuming it replaces it. Because the package is pre-1.0 and single-maintainer, keep an exit path in mind.
- Is verbs-sync actively maintained and will it reach 1.0?
- The repository is at v0.1.0 with a single maintainer and no stated release cadence, roadmap, or adopter base, so long-term maintenance is uncertain. Semver allows breaking changes on any 0.x minor release, meaning upgrades may require code changes with no deprecation window. Pin the version, monitor the repository, and avoid coupling critical synchronization paths to it without a fallback.