codedor/filament-custom-tiptap-extensions
Custom Tiptap extensions for Filament's RichEditor, giving Laravel and Filament apps extra rich-text formatting and editor capabilities. Integrate additional Tiptap tools into Filament forms with a simple, package-friendly setup.
Package profile. wotzebra/filament-custom-tiptap-extensions is a Filament plugin that ships custom TipTap editor extensions for Filament's rich-text field. It is a presentation-layer package: value is concentrated in editor UX (custom nodes/marks/toolbar behaviour), not in domain logic. That materially lowers integration risk but also caps strategic value — it is a "buy vs. build 200 lines of JS" decision, not a platform decision.
Architecture fit. Fits cleanly wherever a Laravel + Filament admin panel already exists and the product needs richer authoring than the stock TipTap setup. It is additive: registers extensions, no database migrations, no service-provider bootstrapping that touches core app behaviour, no queue/event surface. Consequently it does not constrain our architecture — the main coupling is to Filament's editor asset pipeline and TipTap's own versioning.
Integration feasibility. Composer-installable, no infrastructure prerequisites. Real effort sits in the front-end layer: asset build/publish, CSP compatibility for the editor bundle, and any content already stored as HTML needing validation against the new node schema. Expect a spike, not a project.
Technical risk.
ramsey/composer-install 3→4, dependabot/fetch-metadata 2.5.0→3.0.0) plus a compatibility PR adding PHP 8.5 / Laravel 13 support. Neither dependabot change ships in the runtime artifact, so runtime risk from this release is effectively nil.@Copilot. A bot-authored compatibility PR is not by itself disqualifying, but it means we should read the diff and confirm the CI matrix actually exercises stable PHP 8.5 and Laravel 13 — not pre-release or --prefer-lowest-only combinations. A green badge can mean "installs", not "works".Key questions for engineering.
.github/workflows and composer.json dev constraints?composer.json allow-list?Stack fit. Only relevant if the target application is Laravel + Filament. Confirm the Filament major version alignment first — this plugin tracks Filament's rich-text editor internals, which have moved between Filament 3 and 4. Version alignment is the single go/no-go check; everything else is secondary.
Migration path. Treat as greenfield adoption into one non-critical admin surface (e.g. an internal CMS or marketing page editor) rather than retrofitting an existing production editorial workflow. Because the package is additive, adoption is reversible: register the plugin, publish assets, add the extensions to one rich-text field. Rollback is unregistering the plugin and republishing assets — no data migration.
Compatibility checks, in order.
Sequencing.
Compatibility stance. Do not adopt v2.2.0 because of Laravel 13 support — we are not on Laravel 13. Adopt it because the diff is inert and pinning to the newest tag keeps us on a maintained line. If our platform is on an older Laravel, verify the package hasn't narrowed its constraint floor in a way that strands us.
Maintenance. Low steady-state cost: no migrations, no scheduled jobs, no external services. The recurring work is dependency hygiene — TipTap and Filament both move, and this package's release cadence is driven by upstream churn rather than its own roadmap. Budget a small, recurring "is it still compatible after the Filament upgrade" check each time we bump Filament, not a standing allocation.
Support. The realistic support model is self-support. With a single-maintainer, bot-assisted contributor base, we should not plan on upstream SLAs, rapid CVE turnaround, or bespoke fixes. Mitigation: keep the consumed surface small (one or two extensions, one field), and record the exit procedure in the runbook so any engineer can remove it without archaeology. If the editor becomes business-critical, the honest options are fork-and-own or replace with a first-party/better-resourced editor.
Scaling. Effectively unbounded — it is client-side editor code. Cost scales with author concurrency and asset payload size, not with data volume. Watch two things: the size of the published JS bundle on admin page loads (TipTap extensions compound), and the volume of stored HTML if custom nodes inflate markup. Neither is a near-term concern at typical admin-panel scale.
Failure modes and blast radius.
Ramp-up. Near-zero for backend engineers (Composer install + plugin registration). The knowledge that matters is front-end: which extensions we use and why, where assets are published, and how to remove the package. Capture that in the runbook at adoption time — it will be far cheaper than reconstructing it at removal time. TPM action: ensure the adoption ticket names an owner for the TipTap/extension surface, since it will otherwise fall between backend and front-end teams.
How can I help you explore Laravel packages today?