- What is devdojo/wave and how is it different from a normal Laravel package?
- Wave is a full, opinionated Laravel SaaS application built with Livewire, Tailwind, Alpine, and Filament (in v3) that you fork and own rather than install as a dependency. It ships with authentication, subscriptions and billing, user roles, an admin dashboard, a blog, documentation, and customizable themes out of the box. Because it is an application and not a library, you take ownership of 100% of the code after cloning it. That distinction drives almost every decision about how you adopt it.
- How do I install Wave and get it running locally?
- You clone the repository into a new project directory rather than running composer require. Then install PHP and JavaScript dependencies, copy the environment file, set your database and billing sandbox credentials, run migrations and seeders, and build the front-end assets. A one-week spike in a throwaway environment is the recommended way to exercise auth, admin, and billing before committing.
- Can I install Wave with composer require into an existing Laravel app?
- No. Wave is not designed to be consumed as a package, which is why it shows zero dependents on Packagist-style metrics. If you need pieces of it in an existing application, the realistic path is component extraction: cherry-pick the billing abstractions, role and permission model, or auth flows into your codebase. Treating Wave as an upgradable dependency is the biggest downstream failure mode.
- What PHP and Laravel versions does Wave require?
- Wave requires PHP 8.x and a recent Laravel major version, and its front end assumes Livewire, Tailwind, and Alpine while the admin panel assumes Filament. Before committing, confirm PHP, Laravel, Livewire, and Filament versions align with your platform baseline. Those two front-end packages are the sharpest edges when tracking upstream releases.
- Which billing and subscription providers does Wave support?
- Wave ships with Stripe and Paddle billing integrations, including subscription flows and webhook handling. The abstractions are convenient but not provider-agnostic, so treat your payment provider as a hard dependency at launch. Before going live, validate webhook idempotency, dunning, tax handling, and refund flows against the sandbox.
- Is Wave a good fit for adding SaaS features to an existing Laravel monolith?
- Generally no. Wave is a greenfield starter kit, so adopting it inside an existing application is effectively a re-platform exercise. The workable brownfield approach is extracting specific subsystems such as billing, roles and permissions, or authentication into your current architecture. That takes more effort than a fresh fork but preserves your existing standards.
- How do upgrades work after I customize a Wave fork?
- Once you customize Wave, upstream upgrades become manual merges with a growing conflict surface. The practical approach is to keep an upstream git remote, define a merge cadence such as monthly triage and quarterly merges, and tag your own releases. Decide up front whether you will cherry-pick upstream commits or accept permanent divergence.
- Is Wave production-ready and secure enough to launch a real SaaS?
- Wave is MIT licensed with a healthy release cadence and thousands of GitHub stars, so the foundation is solid. However, you own the entire security surface after forking: authentication, sessions, file uploads, and the admin panel all need review. Do not skip a security review just because it is a starter kit, and note that community maintenance means no SLA.
- How long does it take to get Wave into production?
- For a Laravel-competent team, a realistic production hello world takes roughly one to three engineering weeks, covering environment setup, database, billing sandbox keys, branding, and CI/CD. A credible MVP with product differentiation typically lands in four to eight weeks. The friction is configuration and opinionation, not unknown technology.
- What are the alternatives to Wave, and when should I build from scratch?
- Alternatives include Laravel Jetstream, Laravel Spark, and other Filament-based SaaS kits, each with different opinions on billing and admin tooling. Run a one-week spike with Wave and compare it against a build-from-scratch estimate before committing. If your team is not standardized on Laravel, Livewire, and Filament, or you need a fully provider-agnostic billing layer, building or choosing a lighter kit is usually cheaper.