aerni/livewire-forms
Use Statamic form blueprints as a Livewire form builder with real-time validation, one source of truth for rules, reCAPTCHA and honeypot spam protection, display conditions, multi-site labels, and styled views—no client-side validation library needed.
Architecture fit
mountedFields / formSubmitted hooks provide defined override points. Customization happens through documented contracts rather than forking.Integration feasibility
composer require, an optional config publish, and an interactive livewire-forms:setup wizard that scaffolds the first view, theme, and component. Four generator commands cover the common customization paths.form.js minimum, plus filepond.js/grecaptcha.js conditionally) and remove the @formAssets directive. That is easy to get wrong and will present as a silent styling/behavior regression.{{ livewire:form handle="contact" }}) or Blade (<livewire:form handle="contact">), and supports dynamic form selection via Statamic's Form fieldtype — useful for CMS-driven landing pages.Form, themes/views/field views resolve by handle with fallback to defaults) mean the default path requires no configuration, which is good for a first proof of value.Technical risk
NOASSERTION, meaning the license could not be identified from the repository. This is a legal-review blocker in most organizations and must be resolved in writing before any production dependency.Key questions
composer.json, and what is the maintainer's stated support window?Stack fit
@tailwindcss/forms). Any deviation from that stack increases cost materially — particularly a non-Tailwind design system, which turns the "styled, pre-configured views" selling point into a liability.Migration path
FormSubmitted Statamic event, so downstream listeners are unaffected. This is the key de-risking property of the migration.Compatibility
composer.json against the current app before committing.@formAssets removed, or styles/scripts will double-load or fail.livewire:styles / livewire:scriptConfig (or Blade equivalents) are present in the layout — a common omission.Sequencing
composer.json constraint inspection (blocking).livewire-forms:setup, render one form, validate reCAPTCHA + honeypot, confirm asset pipeline under the real build.mountedFields hook to prove the extension path with a real dynamic field (e.g., select populated from a collection).Maintenance
Support
NOASSERTION, there is also no clarity on whether a fork is legally permissible — reinforcing that license review precedes adoption.Scaling
Failure modes
@formAssets, or absent livewire:scriptConfig → forms render but validation/submission silently misbehave. Highest-probability operational issue.formSubmitted hook throws (e.g., a null-safe chain on an augmented entry value), the user sees a success state while the submission is lost. Wrap custom hook logic defensively and monitor FormSubmitted events server-side as a submission-count health metric.Ramp-up
wire: directives, and Alpine-powered display conditions — this is the hidden cost.How can I help you explore Laravel packages today?