Skip to main content
v1.0 — Production Ready

🦅 Raven Form Engine

A schema-driven, adapter-based React form engine.
Wire any UI library and any state library — without changing your schemas.

From schema to form in seconds

Describe your form as a plain TypeScript object. The engine handles rendering, validation, state management, layout, conditional fields, masking, and submission.

Read the docs →
<RavenForm
  schema={{
    fields: [
      {
        name: 'email',
        type: 'email',
        label: 'Email',
        validation: { required: true },
        colSpan: 12,
      },
      {
        name: 'password',
        type: 'password',
        label: 'Password',
        validation: { required: true, minLength: 8 },
        colSpan: 12,
      },
    ],
  }}
  onSubmit={handleSubmit}
  submitLabel="Sign In"
/>

Everything you need for complex forms

🏗️

Schema-Driven

Define your entire form as a plain JS/JSON object. No JSX required for field registration — just describe the shape, and the engine renders it.

🔌

Adapter-Based

Swap UI libraries (ShadCN, AntD, MUI) and state libraries (RHF, Formik, Zustand) independently without changing a single field definition.

🪜

Wizard Support

Built-in multi-step forms with per-step validation, progress indicator, and Prev/Next navigation — all from a steps[] array.

🔁

Repeater Fields

Dynamic add/remove rows of sub-fields for line items, team members, addresses, and any one-to-many relationship.

🎭

Conditional Logic

hidden and disabled accept functions of form values — enabling reactive show/hide and enable/disable without extra state.

🛠

DevTools

Floating 🦅 DevTools panel with live state inspection, dirty-field analysis, and smart validation hints. Zero impact in production.

Mix and match adapters

Every cell in this matrix is a valid configuration.

ShadCN UI
Ant Design
Your Custom UI
React Hook Form
In-Memory (built-in)
Your Custom Adapter