statamic-addon/visual-editor
A Statamic addon that adds a visual, in-context editing experience, letting editors work with page content directly on the front end instead of switching to the control panel. Install via Composer and enable it for the fields or templates you want editable.
{{ visual_edit }} on the outermost element of each set partial, or field="handle" on markup that already exists. That's a per-template estimate you can put in a roadmap, not a rewrite.data-* attributes only inside Live Preview and nothing outside it. That makes "annotate everything now, decide later" a safe pattern and supports a pilot on one section of the site with no production fallout._visual_id migration. Those surfaces are declared locked, so any migration/refactor programme should not assume this addon survives it.Consider it when:
Look elsewhere when:
_visual_id migration are explicitly off-limits — a strong hint that upgrades won't be self-serve.postMessage types, the data-sid/data-sve-* contract and the {{ visual_edit }} output are locked. Panel styling and copy are fair game; anything that changes how the editor works is not. If your roadmap requires that, you inherit a dependency you can't patch.addon.js must import the exact overlay-host-*.js hash; a routine Vite build can silently delete it and the editor vanishes. vendor:publish of the dist is forbidden.Executives. "Today editors look at a page, then go hunting for the matching field in the control panel. This makes the page itself the editing surface — click the headline, edit the headline — and it ships nothing to production, so there's no performance or SEO exposure. Treat it as an editorial-speed and CMS-training play: faster publishing, fewer support tickets. To be clear on maturity: it's an unproven addon, one maintainer, no adoption yet, so we'd validate it in a sandbox against two or three real templates before committing."
Engineering. "It's a Statamic addon that injects data-* annotations during Live Preview only, and emits nothing otherwise. Adoption cost is one tag per set partial or per field, in templates we already own, in both Antlers and Blade. The constraints are real and non-negotiable: the preview/overlay/bridge kernel, the postMessage protocol and the prebuilt resources/dist bundle are locked — hashed asset names must stay in sync, vendor:publish of the dist is a no-go, and an ordinary rebuild can take the whole editor down. Cosmetic and copy changes are safe; behavioural changes are not. Budget for us owning a fork if we adopt."
How can I help you explore Laravel packages today?