tomatophp/filament-browser
A Filament plugin that adds a full file and folder browser with a built-in code and markdown editor, plus previews for images, video, audio, PDF, and Excel files. It supports creating, renaming, and deleting files, and is intended for super-admins only.
Use cases it credibly supports today: a super-admin checking a log or config-adjacent file, dropping in a media asset, light Markdown/content edits, and previewing images/video/audio/PDF/Excel without leaving the panel. It is not a deployment mechanism, config-management system, or sanctioned path for editing application code in production.
Adopt when all of these hold:
v3 branch, you're signing up for a divergent, lower-support track — look elsewhere.basePath() to a designated sandbox (e.g. storage/app/browser or a content directory) rather than base_path().authorize() (SSO group + environment tag + time window). The shared DEVELOPER_GATE_PASSWORD in .env is defence-in-depth only, never the primary control.Look elsewhere when:
One-line summary: A free, MIT-licensed plugin that adds a file browser with a built-in code/Markdown editor and media previews to our existing Filament admin panel — replacing ad-hoc SSH/FTP with one in-panel surface for super-admins, provided we invest in the controls it doesn't ship with.
For executives: The install is cheap (~1 day) and legally frictionless. The real spend is governance, not engineering: named owner, environment scope, and access model. Adoption signal is thin — one maintainer, zero dependents — so the honest framing is "adopt and own," with a funded exit path. The payoff we'd measure is fewer ops tickets and faster file inspection, not a new revenue capability.
For engineering: Mechanically trivial — composer require, one install command, register the plugin with fluent config. The work is hardening. v5.0.0 already confines every operation to the configured root (realpath checks, rejection of .., absolute paths, null bytes, symlink escapes) and re-validates the allow* flags server-side. But there is no audit trail, no undo, and the gate defaults to a shared env password, so authorize() must carry the real access control and we must wire logging ourselves. Also gate the upgrade: v5 removed the legacy JSON route/controller/JS bundle, swapped in Filament's native CodeEditor, and hides .env by default — grep for the removed route and audit any published view overrides before bumping.
The ask: Approve a scoped pilot — narrow sandbox root, staging-write / production-read-only, authorize() implemented against SSO, external audit logging in place, a named owner, and a written fallback. If any of those five can't be committed, the recommendation is to defer and keep the current out-of-band workflow.
How can I help you explore Laravel packages today?