Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Jet Laravel Package

artmin96/filament-jet

Filament Jet integrates Laravel Jetstream-style account features into Filament panels, providing ready-made pages and components for profile management, security settings, API tokens, and team features so you can add them without building custom UI.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Install with composer require artmin96/filament-jet and confirm the resolved version is 0.0.2 (the 0.0.2 release is a dependency-constraint bump adding Laravel 10 support, not a feature release — see Gotchas before upgrading an existing install).
  • The package layers team management UI onto a Filament panel and expects the Laravel Jetstream teams schema underneath it (teams, team_user, team_invitations, plus current_team_id on users). Check the package migrations first with php artisan vendor:publish --tag="filament-jet-migrations" and compare against your existing schema before running them.
  • Publish config/views (--tag="filament-jet-config", --tag="filament-jet-views") so you can see what is actually configurable rather than guessing.
  • Ensure your User model carries Jetstream's team traits (HasTeams / Jetstream::hasTeamFeatures()), because the package's pages assume team ownership, membership and roles exist on the model.
  • Register the package's resources/pages with your panel provider, then run php artisan filament:upgrade and load the panel. The first use case is straightforward: replacing Jetstream's Livewire team settings screens with Filament pages where a user can create a team, invite members by email, and change a member's role.

Implementation Patterns

  • Panel-scoped teams. The natural fit is Filament tenancy: use the team as the tenant so resources and dashboards are scoped per team, and let filament-jet own the membership/invitation screens. Verify the package doesn't ship its own tenant resolution before wiring ->tenant(Team::class).
  • Invitation flow as a two-surface feature. The invite/accept path deliberately lives partly outside the panel (an emailed acceptance link, usually a signed or token route). Keep that route on the web guard and redirect into the panel after acceptance; don't try to render acceptance inside an authenticated panel page.
  • Role mapping. Decide early whether Jetstream's role column or a separate permission package is the source of truth. Map the package's role editing UI onto your policies/gates rather than reading roles ad hoc in blade views.
  • Resource customisation by subclassing. Rather than editing published views, extend the package resource/page classes and override the form/table schema; this keeps diffs small when a 0.0.x release changes internals.
  • Policy-driven visibility. Add TeamPolicy/TeamInvitationPolicy and rely on Filament's canViewAny/canAccess so members and admins see different surfaces — the package's UI alone is not an authorization layer.

Gotchas and Tips

  • Pre-1.0, no stability contract. At 0.0.x, minor bumps can change class names, namespaces and page slugs. Pin an exact version in composer.json and read the diff of every release rather than trusting ^0.0.
  • Laravel 10 only in practice. 0.0.2's only change is the "up to Laravel 10" constraint. If you're still on Laravel 9, stay on 0.0.1; if you're on 10 or 11, verify the constraint actually admits 11 before assuming compatibility — "up to 10" often means ^10.0 with no 11 entry.
  • Jetstream coupling is the biggest pitfall. If your app already has a bespoke teams implementation, or Jetstream installed without team features, the package's assumptions (traits, migrations, current_team_id) will break in confusing ways. Install it on a fresh-ish teams codebase first.
  • Migration collisions. The published migrations may use table names/columns you already have. Diff them before migrate; on production, run migrate --pretend first.
  • Duplicate navigation. Registering the package resources alongside Jetstream's own team UI gives users two places to manage teams. Remove one.
  • Stale component cache after upgrade. After bumping the package, run php artisan filament:clear-cached-components (and config:clear, view:clear); old cached component paths are a common source of "class not found" right after a version change.
  • Invitations depend on mail. Queued mail plus an unconfigured mailer is the usual reason "invite sent" appears to work but nothing arrives — test with MAIL_MAILER=log and watch storage/logs/laravel.log for the signed URL.
  • Debugging entry point. When a page 404s or a member list is empty, check panel registration and tenant scoping before blaming the package; then confirm the team pivot rows actually exist.
  • Extension points worth knowing: published config, published views, resource/page subclassing, and panel plugin registration — the last is the cleanest way to toggle the feature per panel.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console