Architecture
Decision matrix
Pick the right FormForge path based on your goal.
Quick decisions
| Need | Recommended path | Why | Read next |
|---|---|---|---|
| Define a form in Laravel | Backend DSL | Small, deterministic, and easy to version | Forms Engine |
| Render a form fast in Nuxt | <FormForgeRenderer> | Minimal setup and built-in navigation | Renderer |
| Build a custom editor screen | useFormForgeBuilder() | Full control over save, publish, and selection state | Standalone builder |
| Keep the builder UI but move orchestration out | hideSettings + exposed ref methods | Clean standalone editing for system forms | Standalone builder |
| Scope forms to owners or teams | Scoped routes | Tenant-aware paths and public links | Scoped routes |
| Protect the form with a PIN | Submission code settings | Server-enforced access control | Publication lifecycle |
| Preview one block while editing | Standalone renderer | Keeps navigation visible while you simulate the flow | Standalone renderer |
| Use custom validation feedback | Backend validation | The server owns real validation messages | Validation |
Use this page when you are unsure where a feature belongs. If the feature changes data or security, it is probably backend-owned. If it changes the experience, it is probably client-owned.