invelity / laravel-headless-wizard
Headless multi-step wizard package for Laravel with FormRequest validation, progress tracking, and frontend-agnostic API
Fund package maintenance!
WebSystem
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 2
pkg:composer/invelity/laravel-headless-wizard
Requires
- php: ^8.4
- illuminate/contracts: ^11.31||^12.23.2
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.8
- nunomaduro/phpinsights: *
- orchestra/testbench: ^10.0.0||^9.0.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- phpmetrics/phpmetrics: ^2.9
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
This package is auto-updated.
Last update: 2025-11-24 05:33:39 UTC
README
A powerful headless multi-step wizard package for Laravel. Build complex, multi-page forms with progress tracking, navigation, and validation. Bring your own frontend - works with React, Vue, Inertia, Livewire, Alpine.js, or any JavaScript framework.
✨ Features
- 🚀 Zero Frontend Lock-in - Pure JSON API for any framework
- ⚡ Interactive Generators - Beautiful CLI with Laravel Prompts for wizard creation
- 🎨 Pre-built Components - Blade components for rapid prototyping (Layout, ProgressBar, Navigation)
- 🔄 Vue 3 Composable - useWizard() composable with TypeScript definitions for SPA integration
- 🔀 Multi-Type Wizards - Generate Blade, API, Livewire, or Inertia wizards
- ✅ Laravel-Native Validation - Uses FormRequest classes with automatic integration
- 💾 Flexible Storage - Session, database, or cache adapters
- 📊 Smart Progress Tracking - Real-time completion percentages with automatic calculation
- 🔀 Conditional Logic - Optional steps, dynamic flows, and step reordering
- 🔔 Event-Driven - Hook into every wizard lifecycle event
- ✨ Modern PHP 8.4 - Property hooks, constructor promotion, and strict types
📚 Documentation
Full documentation available at: https://invelity.github.io/laravel-headless-wizard/
🚀 Quick Start
Install the package:
composer require invelity/laravel-headless-wizard
Publish the configuration:
php artisan vendor:publish --tag="wizard-config"
Create your first wizard (interactive):
php artisan wizard:make Onboarding
# Choose wizard type: blade, api, livewire, or inertia
Or with options:
php artisan wizard:make Onboarding --type=blade
Add steps to your wizard:
php artisan wizard:make-step Onboarding PersonalInfo --order=1
# Interactive prompts guide you through step creation
📋 Requirements
- PHP 8.4 or higher
- Laravel 11.0 or 12.0
📊 Code Quality
- 89.7% Test Coverage - 397 comprehensive Pest tests
- Cyclomatic Complexity: 4.37 - Clean, maintainable code
- PHPStan Level 5 - Zero static analysis errors
- 100% Type Coverage - Full type declarations
- Architecture Tests - SOLID principles enforced via Pest Arch
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
🔒 Security
Report security vulnerabilities via GitHub Security.
📝 License
The MIT License (MIT). See LICENSE.md for details.
👨💻 Credits
Built with ❤️ by Invelity
