> [!TIP]
> **Set up your coding agent for FormKit**
> ```
> npx formkit skill
> ```
> Supports **Claude Code**, **Codex**, **Cursor**, **Cline**, **Gemini**, **OpenCode**, **Amp**, and more.
> Auto-detects your framework and configures your agent with the right docs and best practices.
## One primitive. Infinite flexibility.
> *"Forms today remain fundamentally unsolved. We need a new low-level primitive to power the next generation of web applications written with AI. The FormKit Node is that primitive."*
>
> — Justin Schroeder, Creator of FormKit
Every `` component owns a **node**. Nodes automatically structure data across components at any depth — no prop-drilling, event spaghetti, or ad-hoc state stores. The result is a compact representation of form state that agents and humans can both reason about. Generated forms stay structured, editable, and consistent as your product evolves.
```jsx
```
That's a fully accessible form with labels, validation, error messages, loading state, and submit handling — all from one component.
## What you get
| Feature | |
|---|---|
| **One component, every input** | ``, ``, `` — consistent, predictable API across all inputs |
| **Co-located validation** | 30+ built-in rules declared inline. No separate validation schemas, no event listeners, no glue code |
| **Self-structuring data** | `type="group"` nests as objects, `type="list"` nests as arrays. Data shape mirrors component shape automatically |
| **Schema** | Generate entire forms from JSON. Conditional rendering, loops, expressions, dynamic data — all serializable |
| **Theming** | First-class Tailwind CSS support with the Regenesis theme, or bring your own styles |
| **i18n** | 30+ languages included, swap at runtime |
| **Accessibility** | ARIA attributes, labels, and descriptions generated automatically |
| **Plugins** | Extend or override anything — validation, i18n, and even input types are all plugins |
## FormKit Pro
Premium inputs for complex interfaces — autocomplete, datepicker, repeater, color picker, drag-and-drop, mask, rating, slider, tag list, toggle, and more. Built on the same FormKit Node, same schema, same theming system.
**[Explore Pro inputs →](https://formkit.com/pro)**
## Architecture
FormKit cleanly separates its framework-agnostic core from framework bindings. The same core powers every framework — same validation rules, same schemas, same plugins.
```
@formkit/core → Node tree, events, plugins, schema compiler
@formkit/validation → Validation engine
@formkit/rules → Built-in validation rules
@formkit/i18n → Internationalization
@formkit/inputs → Input type definitions
@formkit/themes → Theme utilities
─────────────────────────────────────────────
@formkit/react → React 18/19 bindings
@formkit/vue → Vue 3 bindings
```
## Sponsors
FormKit — which supports its whole feature set for _native HTML inputs_ (like `select`, `checkbox`, and `textarea`) — is and will always be an MIT-licensed open source project. Please consider [sponsoring FormKit](https://github.com/sponsors/formkit) so we can sustainably and continually improve it!
#### Platinum
#### Gold
#### Bronze
#### Backers
[uscreen](https://uscreen.de) · [gfenn08](https://github.com/gfenn08) · [Ryan E](https://github.com/VikingDadMedic) · [João Bondim](https://github.com/JesterIruka)
## Contributing
Thank you for your willingness to contribute to this free and open source project! When contributing, consider first discussing your desired change with the core team via [GitHub issues](https://github.com/formkit/formkit/issues), [Discord](https://discord.gg/Vhu97pAC76), or other method.
## License
[MIT](https://opensource.org/licenses/MIT) · Copyright (c) 2021-2026, [FormKit, Inc.](https://formkit.com)