Custom zones contain team-owned files preserved across regeneration. Develop the standard application through the model while adding business rules, integrations and custom screens in code.
For example, add a field and filter in UI while another developer implements order pricing. The next Generate updates the standard form and API and preserves the custom implementation. Your team still checks compatibility with changed types and contracts.
Choose the right place
| Task | Location |
|---|---|
| Fields, relationships, languages, permissions, standard forms | Generator UI → Content |
| Logic before saving or after reading | backend/internal/custom/ENTITY_NAME/hooks.go |
| Shared clients, services and dependencies | backend/internal/custom/app/composition.go |
| Dedicated API | backend/internal/custom/app/routes.go or entity routes |
| Cells, actions, controls and field wrappers | admin/src/features/ENTITY_NAME/custom/ui-extension.tsx |
| Complete custom page | admin/src/features/ENTITY_NAME/custom/extension.tsx |
| SQL data backfill | backend/migrations/custom/, using a registered migration |
| Environment and CI additions | deploy/custom/ |
ENTITY_NAME is your generated entity directory, for example product for Product. Use the actual generated folder name. EntityName in code denotes the generated type. Do not create files literally named ENTITY_NAME.
Generated and custom work together
Generator-owned files update from the model. Existing custom files remain preserved; starter files are created only when absent. Standard domain/app files can also be generator-owned without generated in their path. Review ownership and planned differences in Generate → Preview changes.
Read generated files as contracts and connect your implementation through an extension point. Manual changes in generator-owned files otherwise require conflict resolution or replacement through an explicitly chosen force action.
Task guides
- Backend: hooks, services and custom APIs
- Admin: cells, forms and page replacements
- Custom SQL migrations
- Custom deployment and CI
- Model and custom code in one workflow
- File ownership rules
Generator UI does not edit arbitrary Go/React source. Use your ordinary IDE for that work while continuing to generate the same project.