Best Form Builder � Nx monorepo with React & Angular builders, headless renderer, and themeable component registry
- TypeScript 91.1%
- CSS 4.8%
- SCSS 2.8%
- JavaScript 1.1%
- HTML 0.2%
|
Some checks failed
CI / build-and-check (push) Failing after 8m49s
- Add README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT, CHANGELOG - Add CLAUDE.md with project-specific instructions - Add Forgejo issue templates (bug report, feature request) - Add pull request template - Add npm audit security check to CI workflow - Add Angular library builds to CI pipeline Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo | ||
| apps | ||
| libs | ||
| tools | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| nx.json | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| SECURITY.md | ||
| tailwind.config.js | ||
| tsconfig.base.json | ||
Best Form Builder
A headless, framework-agnostic form builder with React and Angular renderers.
Features
- Drag-and-drop form builder with live preview
- Headless renderer — bring your own components via the Component Registry
- 5 theme adapters: Tailwind, DaisyUI, MUI, Bootstrap, Ant Design
- Angular Material theme adapter for Angular projects
- No-code conditions engine (show/hide/enable/disable)
- Script modules with method-level bindings and Monaco editor
- Web Components for embedding in any framework
- Full Angular renderer and builder
- Multi-step forms, tabs, columns, and nested layouts
- Validation rules with custom messages
- Backend API with SQLite/PostgreSQL storage
Quick Start
npm install @best-form-builder/core @best-form-builder/renderer @best-form-builder/ui
import { FormRenderer } from '@best-form-builder/renderer';
import { defaultRegistry } from '@best-form-builder/ui';
function MyForm() {
return (
<FormRenderer
definition={formDefinition}
registry={defaultRegistry}
onSubmit={(values) => console.log(values)}
/>
);
}
Packages
| Package | Description |
|---|---|
@best-form-builder/core |
Core types, tree utilities, validation, conditions, scripting |
@best-form-builder/renderer |
Headless React form renderer with component registry |
@best-form-builder/ui |
Default Tailwind UI components and builder primitives |
@best-form-builder/react-sdk |
React SDK with hooks and provider |
@best-form-builder/web-components |
Web Components for framework-agnostic embedding |
@best-form-builder/embed |
Embed script for drop-in form rendering |
@best-form-builder/angular-renderer |
Angular form renderer with component registry |
@best-form-builder/theme-daisyui |
DaisyUI theme adapter |
@best-form-builder/theme-mui |
Material UI theme adapter |
@best-form-builder/theme-bootstrap |
Bootstrap 5 theme adapter |
@best-form-builder/theme-antd |
Ant Design theme adapter |
@best-form-builder/theme-angular-material |
Angular Material theme adapter |
Architecture
@best-form-builder/core (zero-dep types & utilities)
|
+---------+---------+
| |
renderer (React) angular-renderer (Angular)
| |
+--- themes ---+ +--- theme-angular-material
| daisyui |
| mui |
| bootstrap |
| antd |
| |
ui react-sdk
|
web-components / embed
Development
# Install dependencies
npm install
# Start all apps (builder, backend, demo, angular-demo)
npm run dev
# Build all libraries
npm run build
# Lint
npm run lint
Project Structure
apps/
builder/ React form builder app (Vite)
backend/ Express API server
demo/ React demo app
angular-demo/ Angular demo app
launcher/ Dev launcher
libs/
core/ Core types and utilities
renderer/ React form renderer
ui/ Default UI components
react-sdk/ React SDK
web-components/ Web Components wrapper
embed/ Embed script
angular-renderer/ Angular form renderer
themes/
daisyui/ DaisyUI adapter
mui/ MUI adapter
bootstrap/ Bootstrap adapter
antd/ Ant Design adapter
angular-material/ Angular Material adapter
Contributing
See CONTRIBUTING.md for guidelines on how to contribute.
Security
To report security vulnerabilities, see SECURITY.md.