README.md
August 27, 2026 · View on GitHub
NotForm is a headless form validation and state management library for Vue 3 and Nuxt. It provides the logic and state for your forms, while giving you complete control over the UI. Built with TypeScript from the ground up, it integrates seamlessly with any Standard Schema-compatible validator (Zod, Valibot, ArkType) and works with any UI library—native HTML, Nuxt UI, Shadcn, or your own components.
Features
- Headless — Renders nothing. You bring the UI, NotForm brings the logic.
- Schema-agnostic — Works with any Standard Schema validator (Zod, Valibot, ArkType, etc.)
- Type-safe — Full TypeScript support with inferred types from your schema.
- Composable — Built for Vue 3 Composition API with a clean, intuitive API.
- Lightweight — Tiny footprint with tree-shaking support.
- Nuxt-ready — Official Nuxt module with auto-imports and zero configuration.
- Flexible — Use with any UI library—native HTML, Nuxt UI, Shadcn, or your own components.
Monorepo Structure
This monorepo is managed with pnpm workspaces and Turborepo.
| Path | Package | Description |
|---|---|---|
packages/core | notform | Core Vue library for form validation and state management |
packages/nuxt | notform-nuxt | Official Nuxt module with auto-registration |
apps/docs | docs | Documentation site built with Nuxt Content |
playgrounds/vue | vue-playground | Vue development sandbox |
playgrounds/nuxt | nuxt-playground | Nuxt development sandbox |
Development
Prerequisites
Getting Started
# Install all dependencies
pnpm install
# Start all packages in watch mode
pnpm dev
# Build everything
pnpm build
# Lint, typecheck, build, and test in one go
pnpm ready
Useful Commands
| Command | What it does |
|---|---|
pnpm dev | Starts all packages in watch/dev mode via Turborepo |
pnpm build | Production build of all packages |
pnpm lint | Lint all packages with ESLint |
pnpm typecheck | Type-check all packages with vue-tsc / tsc |
pnpm test | Run all test suites with Vitest |
pnpm ready | Full pipeline: install → lint → typecheck → test → build |
Documentation
For detailed guides, API reference, and examples, visit notformdocs.vercel.app.