- What is stephenjude/filament-jetstream and how does it differ from Laravel Jetstream?
- It is a Laravel starter kit that reimplements Laravel Jetstream's features — authentication, registration, two-factor auth, session management, API tokens, teams, and a user profile — using native Filament panels and components instead of the Jetstream Inertia or Livewire stack. The key difference is that installing it scaffolds code into your application rather than adding a drop-in library, so you own and maintain the auth surface afterward. Choose it when your project is already standardized on Filament for admin or back-office UI.
- How do I install filament-jetstream in a new Laravel application?
- Run composer require stephenjude/filament-jetstream followed by php artisan filament-jetstream:install, adding the --teams and --api flags only if you want those feature bundles. The install command publishes migrations, stubs, and a Filament panel configuration into your host application. Commit your work before running it and review everything that gets published, because most of the generated auth code becomes yours to modify.
- Which Laravel and Filament versions does filament-jetstream support?
- The package tracks current Filament v4.x and has a release (1.4.0) extending compatibility to Laravel 13. Because it is a single-maintainer package with README-only documentation and no formal upgrade guide, check the changelog and recent releases before locking versions. Expect fast compatibility patches — for example, registerRoutes was fixed for Filament v4.8.0 in 1.3.0 — so pin versions deliberately.
- Can I use filament-jetstream in an existing Laravel app with its own auth?
- It is a poor fit as an opaque third-party dependency for authentication in a running app, because the package deliberately hands you the auth code to own. The documented brownfield path is to publish three migration tags (filament-jetstream-migrations, passkeys-migrations, and filament-two-factor-authentication-migrations), publish the team migration if you need teams, then edit App\Models\User and your panel provider. Plan the sequencing per feature bundle, since profile, teams, and API each have their own migrations and trait requirements. It works best as a day-one spike rather than an incremental retrofit.
- How do I enable or disable two-factor authentication and passkeys?
- Two-factor authentication is configured through the JetstreamPlugin's fluent API, for example twoFactorAuthentication(condition: ..., forced: ..., enablePasskey: ...), so you can gate it per plan tier or environment with Feature::active closures. Passkey support comes from the HasPasskeys contract and is backed by Spatie Laravel Passkeys. If you do not want passkeys, leave them disabled in the plugin config and skip the corresponding published migrations.
- Does filament-jetstream support teams and multi-tenancy?
- Yes, teams are optional and enabled at install time with the --teams flag, which publishes the team migration plus the InteractsWithTeams trait requirements. Teams introduce real tenancy concerns, and the changelog shows tenancy-integrity bugs such as duplicate team creation and current_team_id not updating, along with tenant slug support that was added and then reverted in 1.2.8. Test team creation, switching, and membership authorization in your own suite before shipping to production.
- How do I configure the user profile, profile photos, and API tokens in the Filament panel?
- Register JetstreamPlugin in your panel provider and use its closure-based configuration to control features, for example profilePhoto(condition: ...) to toggle avatar uploads. Profile editing, password updates, and session management ship as native Filament pages backed by the InteractsWithProfile and HasProfilePhoto traits on your User model. API tokens are optional and enabled with the --api flag at install time, backed by Sanctum.
- Is filament-jetstream production-ready and safe for a security-critical auth surface?
- Treat it as a starting point rather than a vetted security dependency. It is MIT licensed, has a real test suite (composer test), and runs Larastan, Pint, and Dependabot in CI, but it has roughly 178 stars, 0 recorded dependents, one primary maintainer, and documentation limited to the README. It also sits on a deep chain — Sanctum, Spatie Laravel Passkeys, and a separate Filament two-factor-authentication package — so your security posture partly depends on those upstreams. Review the published auth code and add your own tests around 2FA secrets, recovery codes, and session invalidation.
- How do I run the tests and what is the upgrade path between versions?
- Run composer test to execute the package's suite; the repository also runs Larastan, Pint, and Dependabot in CI. Because the installed auth code lives in your application, bumping the package will not automatically upgrade your implementation, so read the changelog for each release before updating. There is no docs site or upgrade guide, so treat minor versions with the scrutiny you would give a major release.
- What are the alternatives to filament-jetstream for a Laravel and Filament starter kit?
- Laravel Jetstream on the Inertia or Livewire stacks is the obvious comparison and the package's stated inspiration, but it does not render with Filament panels. Filament's own panel scaffolding combined with packages such as Breezy or Filament Shield covers parts of the same ground without handing you an auth codebase. If ecosystem validation and support tiers matter more than Filament-native UI, Laravel's official starter kits or a commercial Filament starter kit are lower-risk options.