Forms

A small toolbox on top of Angular Signal Forms. Signal Forms owns the model, the field tree, and validation; this fills the ergonomic gaps around them.

@mmstack/formsnpm

npm install @mmstack/forms

Signal Forms give you form(model, schema), which builds a reactive field tree from a model signal, and a [formField] directive that binds a control to one field. They own the model, the tree, and validation. What they leave thin is the ergonomics around them: attaching typed metadata to a field, reusing a field type, knowing what changed. This library fills those gaps and nothing else.

It is not a forms framework. It layers on the stable @angular/forms/signals API, so you keep the native model and rules and add only the pieces you need. It requires @angular/core and @angular/forms at v22 or newer.

#Three pieces

You want toReach for
Attach typed metadata (a label, options) to a fieldField metadata
Define a reusable field type once and apply it everywhereComposition
Know what changed from a baseline, for diffs and guardsChange tracking

Each piece is independent. You can add field metadata without touching composition, or track changes on a plain Signal Form.