Install the packages, define a form schema in JSON, render it with the FormRenderer component, and handle submission — all in under 30 minutes.
Install the minimum packages needed to render a form. The types, schema, and validation packages have zero external dependencies.
For saving forms to the BizFirstAi backend and persisting drafts across sessions, add the API client and storage packages.
Call this once at your application entry point. It registers all 89+ built-in control types into the control registry singleton.
A form schema is a JSON object. No code generation, no GUI required for basic forms — just declare what you need.
Define controls, labels, validation rules, and default values. Every control has a unique id, a type from the 89+ available types, and optional validation.
Wrap your component in FormStateProvider and pass the schema to FormRenderer. The provider initialises the FormEngine and Zustand state. FormRenderer handles the full submission lifecycle.
mode prop controls which controls are visible. Set mode="view" to show a read-only version of the same form — no code changes needed, just the prop.
Use useAtlasForm() anywhere inside the FormStateProvider to read values, trigger validation, or reset the form.
Register validators by name at startup. Reference the name in any control's schema. Works synchronously or asynchronously.
Extend Atlas Forms with your own control types. Register them with the control registry and they appear in the palette and work in schemas exactly like built-in controls.
Set modeVisibilitySettings on each control to show different fields in edit vs view vs admin mode. Build a single schema that serves all personas.
Use the stepper layout control to split a long form into labelled steps. Progress validation ensures a step is complete before advancing.
Send a natural language description to the AI agent and receive a complete FormSchema JSON — full control types, validation rules, and layout configured automatically.
Ask in the Atlas Forms community or book a session with the BizFirstAi team.