wotz/filament-admin-bar
Filament Admin Bar adds a convenient front-end toolbar to Laravel apps, letting logged-in users jump straight to Filament admin pages, edit the current record, and browse resources without leaving the page. Quick to install and easy to configure.
Architecture fit. wotz/filament-admin-bar is a Filament panel plugin that injects a persistent admin toolbar (WordPress-style) into the authenticated panel experience. Architecturally it is a low-surface-area integration: it should register through the standard Plugin contract in a PanelProvider, attach a Blade/Livewire component via Filament render hooks (e.g. PanelsRenderHook::BODY_START or a topbar hook), and ship a publishable config/view. It does not appear to introduce migrations, models, queue jobs, or service-container overrides — which is the ideal shape for an additive UI package. Fit is high if the hook usage matches our Filament major version; it is the render-hook API that historically churns between Filament majors.
Integration feasibility. Feasible in a single sprint slice. The work is: composer require, register the plugin in each intended panel, publish and review config/views, and wrap enablement in an environment/config flag. The real effort is not installation but the authorization review — an admin bar is a privileged affordance and must be gated behind the same canAccessPanel() / Gate logic as the panel itself. Multi-panel and multi-tenant deployments need per-panel, per-tenant decisioning rather than a global toggle.
Technical risk. Elevated, and not because of complexity. Evidence base is thin: 0 stars, 0 dependents, single maintainer, no downstream production signals. There is no community validation to substitute for our own review. Two specific concerns:
Supply-chain exposure is moderate but bounded: the code footprint is small enough to fully review in under an hour, and MIT licensing means fork-and-own is a viable fallback.
Key questions.
canAccessPanel(), role check, or config flag? Can we supply our own resolver?Stack fit. Laravel 10–12 / PHP 8.1+, Filament v3 or v4 (to be confirmed). Pure Blade + Livewire; no new infrastructure, no external services, no datastore. It slots into existing CI and deployment unchanged, which keeps the change-review cost low.
Migration path. Fully additive — no data migration, no backfill, no cutover window. Sequence: pin an exact version in composer.json → register the plugin in the target PanelProvider → publish config/views for review → gate enablement behind a config flag defaulting to false in production. Rollback is deletion of one provider line plus a config flip, which is the strongest argument for adopting it as an experiment rather than a commitment.
Compatibility. Pin to an exact tag, not a caret range. Add a smoke test that boots each panel and asserts a 200 for an authenticated admin — this catches render-hook regressions on Filament upgrades before they reach users. If our Filament version is unsupported, the package is small enough to vendor or fork; budget a day for that path rather than blocking on upstream.
Sequencing.
Maintenance. Code footprint is small; maintenance burden is dominated by Filament upgrade cycles, not by the package's own logic. Treat it as "pinned dependency with a fork option" rather than a supported product: pin the version, wire Dependabot, and name an internal maintainer-of-last-resort. Realistic budget is 1–2 days per quarter, concentrated around Filament upgrades.
Support. No vendor, no SLA, GitHub issues only, and a 0-star repo implies low responsiveness. The escalation path must be internal — fork, patch, ship. Document the fork point (commit SHA, patches applied) at adoption time so a future engineer is not reverse-engineering it during an incident.
Scaling. Effectively nil. It is a Blade partial plus a permission check per authenticated request against admin-only traffic. The only scale-adjacent concern is per-render URL/permission resolution: if it queries resources or policies on every page load, cache panel-access results per request or per session. At typical admin concurrency this is noise.
Failure modes.
Ramp-up. Roughly half a day for a Laravel-fluent engineer to read the source, install it, and wire the panel; about a day including the authorization and multi-panel review. There is no meaningful learning curve beyond Filament's plugin registration pattern, which the team likely already knows. The docs are effectively the source, so plan for code-reading rather than doc-reading.
How can I help you explore Laravel packages today?