Start here
Modyra keeps a form’s behaviour — state, validation, drafts, history, submission — in a framework-independent core, and lets that form travel as data. This index is organised by what you are trying to do.
In a hurry? The quickstart goes from install to a running form; the feature tour shows everything Modyra does, with a runnable example and a screenshot for each.
Pick your path
Section titled “Pick your path”I want a typed form in my application. Read the mental model, then typed forms, then the example for your framework.
I want my backend to define the form. Read forms as data for the Dynamic Form Contract and how to parse it safely, then server validation. The Rust and Java SDKs produce the same contract.
I want to build forms visually and export code. Start with Studio and code generation.
I am evaluating the risk of adopting this. Read project background, the compatibility policy, the known issues and the comparison with other form libraries.
Core concepts
Section titled “Core concepts”- Mental model — form state, field handles, and the lifecycle of a field
- Typed forms — schemas, validation, arrays, keyed collections, drafts, history
- Usage modes — typed, contract-driven and headless
- Schema adapters — Zod and Standard Schema
- Security — trust boundaries, persistence and sanitization
- What has been attacked — the adversarial measurements, with the commands that produce them
- Troubleshooting — pending state, submission and integration problems
The form engine
Section titled “The form engine”- Server validation
- Forms as data — the Dynamic Form Contract
- Internationalization
- DevTools
Examples
Section titled “Examples”Every adapter implements the same checkout form, so a difference between two pages is a difference between two adapters and not between two authors.
- The scenario — read this first
- Plain — the framework-free renderer
Then the seven framework bindings:
UI coverage, SSR behaviour and ecosystem integration differ by adapter. The package README and the reactivity capability matrix have the details.
The widget contract
Section titled “The widget contract”One definition of how a control behaves, shared by every renderer.
- UI toolkit — the 17 widget kinds, theming and accessibility
- UI toolkit in Angular — Angular’s components and template syntax
- Contract compatibility — what a change costs, and which changes break
- Known issues — what does not work yet, and who it affects
- Reactivity capability matrix — generated, per adapter
- The deprecation harvest, measured — who names each alias and orphan candidate, and what a removal would cost
- CSS custom properties nothing here reads, measured — the 90 with no reader in this repository, split by whether their scale is read, and what a removal would cost
- Where renderers diverge, and what the contract said about it — each behavioural difference a person can feel, against the name in the contract that should have prevented it
Architecture and integration
Section titled “Architecture and integration”- Multi-framework architecture
- Writing a reactivity adapter
- Headless UI recipes — pairing an adapter with your own components
- Usage modes in Angular — its three bindings
- Angular Reactive Forms interop
- React Native — what is verified, and what is not
Decision records
Section titled “Decision records”Architecture decision records — why Modyra is built the way it is. Each one states the pressure that forced the decision, the alternatives that lost, the check that fails if it is violated, and what it exposes. For a security review, start with 0007, 0009 and 0010.
Studio
Section titled “Studio”A local-first visual form builder that edits one project model and compiles it to targets on export.
- Overview · Getting started
- Project format · A worked project
- Validation
- Live canvas · Drag and drop
- Code generation
- Accessibility · Security
- Plugin authoring
Comparisons and migration
Section titled “Comparisons and migration”- Migration guide — from another library, or between Modyra versions
- Bundle and feature comparison
- Angular Reactive Forms
- React Hook Form
- Formik
- JSON Forms
- RJSF
Comparisons are dated snapshots. Re-run the scripts they name before quoting the results.
Project information
Section titled “Project information”- Project background — who Modyra is for, what it refuses to do
- Contributing · Security policy
- Roadmap · Changelog
Maintainer operations stay linked for provenance, but they are runbooks for whoever holds the source, not usage documentation: release administration and TypeScript 7 and the primary compiler.
Documentation under docs/ is the source for the published site. Package READMEs stay
self-contained because npm renders them too.