- What is pixelworxio/livewire-workflows used for?
- It defines multi-step Laravel/Livewire workflows such as onboarding, checkout, KYC, or surveys in a route-like DSL in routes/workflows.php. The package auto-registers routes, evaluates ordered guards, persists workflow state, tracks back-button history, and dispatches lifecycle events. It is most valuable when an application has three or more sequential flows with duplicated route, guard, and state code. For a single wizard, the evaluation notes it may add more abstraction than it removes.
- How do I install and configure Livewire Workflows in Laravel?
- Run composer require pixelworxio/livewire-workflows, then php artisan workflows:install. The installer supports session-backed or database-backed state repositories, and the database option requires a migration. Configuration is published to a config file and workflows are declared in routes/workflows.php. The testbench repository provides working reference implementations.
- Does livewire-workflows support Laravel 13 and Livewire 4?
- The README states support for Laravel 11, 12, and 13 plus Livewire 4.x, with Livewire 3.x also supported. Because the package is BETA and has zero dependents, its release cadence is tied to two fast-moving upstreams. Pin versions and test upgrades to Laravel 13 or Livewire 4 before relying on them for revenue-critical flows.
- How does guard-based navigation work in Livewire Workflows?
- Each step can declare guards using unlessPasses or passes and an order value. A guard's passes() returning true skips the step, while unlessPasses shows the step when the guard fails. This inverted semantics is documented but easy to misread, and a wrong order value can produce a silent wrong-step redirect. Review guard order and semantics carefully.
- Where is workflow state stored and can it be encrypted?
- Workflow state is persisted through the configured session or database repository and keyed to the workflow. The #[WorkflowState(encrypt: true)] attribute supports encrypted fields, and the README example includes a credit card field. That makes the package part of your data-handling and encryption posture, so review storage schema, retention, deletion, and PII scope before production.
- Is pixelworxio/livewire-workflows production ready?
- Treat it as early-stage: the README explicitly labels the package BETA, it has roughly 91 GitHub stars, zero dependents, and no evidence of third-party production usage. There is no stated security policy, governance, or commercial support tier. For revenue-critical workflows, ask the maintainer for production references, continuity plans, and an upgrade policy for Laravel and Livewire breaking changes.
- How do I test a Livewire workflow built with this package?
- The separate livewire-workflows-testbench repository contains working reference implementations that reduce spike and test setup cost. Test the Livewire components and assert the workflow's redirects, guard outcomes, and persisted state using your normal Laravel/Livewire test suite. Because routes are auto-registered, include route and navigation assertions in addition to component tests.
- What happens if a workflow guard throws an exception mid-pipeline?
- The provided evaluation does not document whether a guard exception mid-pipeline fails open, fails closed, or returns a 500. That behavior matters because guard failures control whether users skip or see a step. Verify it in a spike and add explicit tests before using the package on sensitive flows.
- Can I eject from Livewire Workflows and fall back to explicit Laravel routes?
- The context does not confirm a supported eject path that lets you fall back to explicit routes without rewriting components. Before adopting, ask the maintainer whether routes and navigation can be taken over incrementally. If ejectability is required, keep workflow components independent of package-specific assumptions.
- What are alternatives to livewire-workflows for multi-step Laravel forms?
- Alternatives include hand-rolled Livewire wizard components with explicit Laravel routes and middleware, or other multi-step form and wizard packages. The evaluation does not name specific competing packages, so compare on route ownership, guard semantics, state storage, and maintenance risk. For one or two flows, manual implementation may be simpler than adopting a BETA abstraction.