Check file ownership before editing. The generator updates some source files from the model and creates files for your logic only when absent. This determines the next Generate result; a directory name or programming language alone is insufficient.
project/
.admingen/ модель, lock, история, baseline
backend/ Go API, команды, миграции, OpenAPI
admin/ React admin
deploy/ локальная среда и deployment при включении
Makefile
README.md
Previewing changes
In Generate → Preview changes, select a file to inspect its action and diff. Change standard structure in Content and write application-specific logic in custom files. Both can develop alongside each other.
Generator-owned files
The generator owns API/repository implementations, generated contracts, standard entity interfaces and OpenAPI. Manual edits conflict with regeneration.
backend/internal/generated/
backend/internal/adapters/http/generated/
backend/internal/adapters/postgres/generated/
backend/openapi/
backend/migrations/
admin/src/features/<entity>/generated/
Migrations are a special case: generated history is preserved. Schema changes add another migration rather than editing one already applied.
Writing custom code
These initial files are created only when absent. Existing files survive Generate and Force:
backend/internal/custom/app/
backend/internal/custom/<entity>/
admin/src/features/<entity>/custom/
admin/custom/vite.ts
go.mod and go.sum in backend, and package.json and package-lock.json in admin, are also preserved. You may add dependencies, but required versions, scripts and Go module settings must meet generator requirements. Generate does not run npm install or go get for you.
The root .gitignore is also created only when absent and then belongs to you. Extend it for your project; the template excludes /admin/node_modules/.
Deployment-file ownership
When deployment is enabled, the generator updates deploy/control and deploy/generated/**. UI profiles are under deploy/generated/environments/**. Overrides in deploy/custom/environments/** are created only when absent and preserved during regeneration. Complete manual configurations in deploy/environments/** and local state in deploy/.state/** belong to the operator. They contain settings and persistent data; Generate does not clear them.
When switching CI providers, old specially marked files are removed only if their saved hashes match. A manual edit causes a conflict, even with Force. Deleting environment configuration does not itself stop a running server.
Resolving conflicts
Inspect the diff to identify changes. Move standard behavior settings into the model and application logic into custom. Preserve necessary edits before allowing overwrite.
Do not delete lock to suppress a conflict: doing so loses the information used to check file ownership.
See Generate for applying changes, History for earlier results and custom zones for extensions.