TanStack Form v1 for Next.js 16 with Server Actions, Zod validation, and shadcn/ui integration. Use when building forms, validation, multi-step wizards, or dynamic field arrays.
From fuse-nextjsnpx claudepluginhub fusengine/agents --plugin fuse-nextjsThis skill uses the workspace's default tool permissions.
references/array-fields.mdreferences/async-validation.mdreferences/basic-usage.mdreferences/client-form.mdreferences/field-api.mdreferences/form-state.mdreferences/installation.mdreferences/migration-rhf.mdreferences/multi-step-form.mdreferences/performance.mdreferences/server-actions.mdreferences/server-validation.mdreferences/shadcn-integration.mdreferences/testing.mdreferences/typescript.mdreferences/validation-zod.mdDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Type-safe, performant forms with Server Actions and signal-based reactivity.
Before ANY implementation, use TeamCreate to spawn 3 agents:
After implementation, run fuse-ai-pilot:sniper for validation.
| Feature | Benefit |
|---|---|
| Signal-based state | Minimal re-renders, optimal performance |
| Full TypeScript | DeepKeys, DeepValue inference |
| Server Actions native | Built-in Next.js 16 integration |
| Zod adapter | Schema-first validation |
| Framework agnostic | Same API for React, Vue, Solid |
| Headless | Works with any UI library (shadcn/ui) |
onServerValidate, not clientmodules/[feature]/src/components/forms/Forms organized by feature module:
modules/auth/src/components/forms/ - Auth forms (login, signup)modules/auth/src/interfaces/ - Form types and schemasmodules/auth/src/actions/ - Server Actions for form submissionmodules/cores/lib/forms/ - Shared form utilities| File | Purpose | Max Lines |
|---|---|---|
form-options.ts | Shared formOptions + Zod schema | 50 |
FormComponent.tsx | Client form UI with fields | 80 |
form.action.ts | Server Action with validation | 30 |
form.interface.ts | Types for form values | 30 |
Define form configuration once, share between client and server. Ensures type safety and consistency.
Each field has state (value, errors, touched, validating) and handlers (handleChange, handleBlur).
Errors exist at field-level and form-level. Use field.state.meta.errors for field errors, form.state.errorMap for form errors.
| Need | Reference |
|---|---|
| Initial setup | installation.md |
| Basic patterns | basic-usage.md, field-api.md |
| Validation | validation-zod.md, async-validation.md |
| Server Actions | server-actions.md |
| Dynamic forms | array-fields.md, multi-step-form.md |
| UI integration | shadcn-integration.md |
| TypeScript | typescript.md |
| Migration | migration-rhf.md |
asyncDebounceMs for API callsmergeForm to show server validation errors| Aspect | TanStack Form | React Hook Form |
|---|---|---|
| Type Safety | 100% (DeepKeys) | Manual typing |
| Performance | Signals (minimal) | Refs (good) |
| Server Actions | Native support | Manual integration |
| Bundle Size | ~12KB | ~9KB |
| Learning Curve | Medium | Low |
| Use Case | Complex apps | Standard forms |