- What Laravel versions does Jetstream v5.x support, and should I use it for Laravel 14+?
- Jetstream v5.x is built for Laravel 11.x–13.x. For Laravel 14+, check Laravel’s newer starter kits (e.g., [Laravel Breeze](https://laravel.com/docs/14.x/starter-kits#laravel-breeze) or [Laravel Fortify](https://laravel.com/docs/14.x/starter-kits#laravel-fortify)), as Jetstream may not receive updates for newer Laravel releases. Always verify compatibility in the [Jetstream docs](https://jetstream.laravel.com/docs/installation).
- Can I install Jetstream without the Teams feature to reduce complexity?
- Yes! Use the `--no-teams` flag during installation (`php artisan jetstream:install livewire --no-teams`) to exclude team-related features (e.g., invitations, roles). This cuts ~30% of Jetstream’s codebase and simplifies your stack. Teams can always be added later via migrations if needed.
- How do I migrate from Laravel Breeze to Jetstream without losing existing users?
- Jetstream replaces Breeze’s auth scaffolding, so back up your `users` table and `password_resets` table before migrating. Run Jetstream’s migrations (`php artisan migrate`) and manually sync user data if needed. Jetstream’s `User` model extends Laravel’s default, so most fields (e.g., `name`, `email`) remain compatible. Test thoroughly with a staging environment.
- Does Jetstream work with custom OAuth providers (e.g., Google, GitHub) or only email/password?
- Jetstream supports social logins via Laravel’s [Socialite](https://laravel.com/docs/11.x/socialite) package, but you’ll need to manually configure providers (e.g., Google, GitHub) in `config/services.php` and extend Jetstream’s `SocialAuthController`. The default install includes email/password and 2FA, but custom OAuth flows require additional setup. Check the [Jetstream docs](https://jetstream.laravel.com/docs/authentication) for integration tips.
- Will Jetstream slow down my Laravel app? How does Livewire/Inertia impact performance?
- Jetstream adds ~10–20% overhead compared to pure Blade templates due to Livewire/Inertia’s reactivity layer. For performance-critical apps, profile your routes with Laravel Telescope or Blackfire to identify bottlenecks. Optimize by lazy-loading Inertia pages, caching API responses (Sanctum), and using Livewire’s `wire:ignore` for static content. Jetstream’s default setup is fine for most SaaS/tools.
- How do I customize Jetstream’s Tailwind CSS or Blade components?
- Jetstream uses Tailwind CSS via Vite, so customize styles by modifying `resources/css/app.css`. For Livewire components (e.g., `CreateTeamForm`), extend or override them in `app/View/Components`. Inertia pages (Vue) are in `resources/js/Pages`—modify these directly. Publish Jetstream’s assets first (`php artisan vendor:publish --tag=jetstream-assets`) to unhide templates. Avoid direct Blade overrides unless necessary, as they may break updates.
- Can I use Jetstream with a headless CMS or GraphQL API (e.g., Laravel Nova, Lighthouse)?
- Jetstream’s auth system (Sanctum, session drivers) works with APIs, but its frontend (Inertia/Livewire) is tied to web routes. For headless setups, disable Jetstream’s web routes (`php artisan jetstream:install livewire --no-web`) and use Sanctum’s API endpoints independently. Nova integrates natively with Jetstream’s auth, while Lighthouse requires manual Sanctum token handling. Test API-only flows in isolation.
- What’s the best way to test Jetstream in a CI/CD pipeline (e.g., GitHub Actions)?
- Test Jetstream with Pest or PHPUnit, focusing on auth flows (login, 2FA, password resets) and critical routes (profile, teams). Use Laravel’s `actingAs()` helper for auth tests and mock Sanctum tokens for API endpoints. Include frontend tests for Inertia/Vue (e.g., `@testing-library/vue`) and run `npm run test` for Vite assets. Cache `.env` files securely in CI and avoid testing migrations in production-like environments.
- Are there alternatives to Jetstream for Laravel auth with less bloat?
- For lighter auth scaffolding, consider [Laravel Breeze](https://laravel.com/docs/11.x/starter-kits#laravel-breeze) (minimalist, no teams) or [Laravel Fortify](https://laravel.com/docs/11.x/starter-kits#laravel-fortify) (API-first, no frontend). If you need teams but want more control, use [Laravel Nova](https://nova.laravel.com/) for admin panels or build custom auth with [Laravel Sanctum](https://laravel.com/docs/11.x/sanctum) + [Filament](https://filamentphp.com/). Jetstream is ideal for full-stack apps prioritizing velocity over customization.
- How do I deploy Jetstream to production with zero downtime?
- Deploy Jetstream like any Laravel app: run migrations in a maintenance mode (`php artisan migrate --force`), cache config (`php artisan config:cache`), and optimize assets (`npm run build`). Use Laravel Forge/Laravel Vapor for zero-downtime deployments. For Inertia/Vue, ensure Vite’s `mode: 'production'` is set and assets are precompiled. Monitor Sanctum token revocation and session cleanup post-deploy. Test auth flows (e.g., 2FA) in staging first.