Config-driven Forms
Describe fields, groups, validation, and UI config with FormConfig, keeping Ant Design Form usage behind a stable configuration layer.
@whynotsnow/dynamic-form
A dynamic form library built with React, TypeScript, and Ant Design. Describe form structure with config, handle field dependencies with effect chains, and centralize runtime participation policy in the Runtime Layer.

npm install @whynotsnow/dynamic-form antd react react-domDescribe fields, groups, validation, and UI config with FormConfig, keeping Ant Design Form usage behind a stable configuration layer.
Execute dependency chains through form-chain-effect-engine and resolve rendering, submit, disabled, readonly, and validation capabilities through the Runtime Layer.
Supports custom components, effect result handlers, render hooks, compiler, adapters, and a declarative rule layer.
DynamicForm separates input normalization, runtime capabilities, and UI rendering into clear layers for reuse, extension, and verification.
Normalize external schemas, metadata, or field modules into standard FormConfig.
Store structure and meta, then resolve rendered, editable, validatable, and related capabilities in one place.
Render Ant Design Form and route field effect results through semantic handlers.
The site is organized for learning, lookup, verification, and API reference.
Start from installation, minimal config, and field config to run your first DynamicForm.
Find examples for minimal forms, groups, effects, custom components, and the compiler pipeline.
Run existing demos directly to inspect form effects, validation, render hooks, and extension behavior.
Review public exports grouped by components, hooks, compiler, adapters, rules, and types.