A CLI for generating type-safe, reusable form components using React Hook Form, Zod, Tailwind CSS, and shadcn/ui.
Define your schema with Zod, generate type-safe forms in seconds.
const SimpleForm = () => {
const onSubmit = (data: THomeCode) => {
console.log(data);
};
return (
<div className="max-w-xl m-auto">
<AppForm<TFullName>
schema={fullNameSchema}
onSubmit={onSubmit}
className="px-6 pb-6 space-y-4"
>
{({ register, formState: { errors } }) => (
<>
<AppInputField
name="fullName"
type="text"
register={register}
errors={errors}
/>
<Button type="submit" className="w-full">
Submit
</Button>
</>
)}
</AppForm>
</div>
);
};
export default SimpleForm;
Built with developer experience in mind. Install only what you need, when you need it.
Built on industry-standard libraries for type-safe validation and optimal performance.
Input, Select, Checkbox, File Upload and more. Each component is fully customizable.
Install components one-by-one (shadcn-style) or all at once. Your choice.
Automatically installs internal dependencies and warns about required packages.
Complete type safety from schema to form submission. Catch errors at compile time.
Works seamlessly with Next.js App Router with "use client" support out of the box.
Install the CLI and start generating form components.
app-form
app-input-field
app-checkbox
app-select-item
app-file-uploader
app-input-field-array
Or install everything at once with npx app-form init
You must already have these installed in your app
And make sure shadcn/ui components (like input, label, etc.) are generated if you want to use the app-form's components