Form Creator
Instructions
1. Validation Schema
- •File:
src/lib/validations/{feature}.schema.ts - •Action: Define Zod schema and export inferred type.
typescript
export const featureSchema = z.object({ ... }); export type FeatureFormValues = z.infer<typeof featureSchema>;
2. Form Component
- •File:
src/components/forms/{feature}-form.tsx - •Directives:
"use client";required. - •Setup: Use
useFormwithzodResolver. - •Props: Accept
initialDataandonSubmit. - •UI: Use Shadcn components (
Form,FormField,Input).
3. API Routes
- •File:
src/app/api/{feature}/route.ts - •Security: Wrap with
withAuthRequiredorwithSuperAdminAuthRequired. - •Logic:
- •
GET: Handle pagination/search. - •
POST: Validate body against schema -> Insert to DB. - •
PATCH: Validate partial body -> Update DB.
- •
Reference
For code patterns, best practices, and examples, see reference.md.