header

license stars Custom badge Playground badge badge

NotForm provides the form state, validation, field state, submission lifecycle, and dynamic array-field primitives for Vue 3 while you decide how the form looks and behaves. There are no opinionated inputs, styles, or UI components built into the core. Validation is schema-driven supporting any [Standard Schema](https://standardschema.dev/) compatible validator, state is reactive, and the API is designed for typed field paths and Vue's Composition API. ## Packages | Package | Description | | --- | --- | | [`notform`](./packages/core) | Core Vue 3 form management and headless components | | [`notform-nuxt`](./packages/nuxt) | Official Nuxt integration with auto-imports | ## Install ### Vue 3 ```bash pnpm add notform ``` ### Nuxt ```bash npx nuxi module add notform ``` Then install a Standard Schema-compatible validator, for example: ```bash pnpm add zod ``` ## Basic Usage ### Single Fields ```vue ``` ### Array Fields `NotArrayField` provides renderless operations for dynamic arrays while preserving stable item keys during reordering. ```vue ``` ## Development This repository is a pnpm workspace managed with Turborepo. ```bash pnpm install pnpm dev ``` Common checks: ```bash pnpm lint pnpm typecheck pnpm test pnpm build pnpm ready ``` ## License [MIT](./LICENSE) © [Favour Emeka](https://github.com/favorodera)