Skip to content

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.

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.

  • 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

Every adapter implements the same checkout form, so a difference between two pages is a difference between two adapters and not between two authors.

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.

One definition of how a control behaves, shared by every renderer.

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.

A local-first visual form builder that edits one project model and compiles it to targets on export.

Comparisons are dated snapshots. Re-run the scripts they name before quoting the results.

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.