Community Edition
QForm Builder Community is the free and publishable base of the project. It must remain easy to install, clearly documented and stable enough to serve as a foundation for NFZ Studio or an existing Nuxt 4 application.
Goal
Community provides the common runtime contract:
- visual form editing;
- runtime rendering;
- secure JSON schema import/export;
- public custom configuration-panel registry;
- multi-instance support;
- local autosave;
- advanced conditions and validation;
- shared Theme Builder and light/dark rendering;
- public form-template registry;
- Nuxt Layer packaging;
- VitePress documentation.
Included features
FormBuilder
FormViewer
Quasar/FormKit adapters
Pinia stores
multi-instance builder-id
schema + values v-model
save/reset/submit events
advanced recursive conditions
steps/pages validation and reordering
advanced validation and public rule registry
Theme Builder and light/dark rendering
form-template registry and public application API
GitHub Pages documentation workflowPhase 1 public foundation
The Community edition now includes the complete Phase 1 public contract:
config-panelsfor typed host-defined settings panels;- toolbar import from pasted JSON or a
.jsonfile; - clipboard and downloadable JSON export;
- schema sanitization against prototype pollution, event attributes, unsafe URLs and executable HTML;
- a documented NFZ
formspersistence pattern with optimistic versioning.
Steps/pages support includes reordering, duplication, guarded deletion, visible validation status and forward-navigation blocking while the current step is invalid.
Community also includes typed FormKit rules, guarded regex patterns, field-level messages, reactive cross-field comparisons and a public sync/async rule registry. Zod/Feathers server validation remains the responsibility of the host application.
Community includes four localized form templates and the public templates / template-mode registry contract. Host applications can replace or extend the built-in registry, while append mode rewrites name collisions, conditions, cross-field validation targets and initial values.
Recommended public API
<FormBuilder
builder-id="community-builder"
v-model:schema="schema"
v-model:values="values"
autosave
@save="saveForm"
/><FormViewer
:form-fields="schema"
v-model="values"
@submit="submitForm"
/>Public types
import type {
FormBuilderSchema,
FormBuilderValues,
FormBuilderSavePayload,
FormBuilderPublicApi,
QFormBuilderTemplateRegistry,
QFormBuilderTemplateApplyEvent,
} from '@vevedh/qform-builder-layer/types'What remains internal
The following pieces are implementation details and should not be treated as a stable public API:
internal store shape
low-level drag-and-drop composables
settings drawer internals
private serialization details
playground routesBest practices
- Keep Community focused on the stable base.
- Do not include Pro-only code in the Community package.
- Keep the published npm package small and predictable.
- Run the release checklist before publishing.
See Advanced validation for the complete contract.
See Form templates for the registry, replace/append modes and merge guarantees.
Community accessibility
Community includes keyboard workflows for the catalog, canvas and tree, live regions, focus restoration and the automated axe gate. Extensions can use useFormBuilderAccessibility() to announce an action or focus a field without accessing the internal store.