Admingen is a Headless CMS generator. Define the application in Generator UI and inspect upcoming file changes. The generated application runs independently with its own dependencies, PostgreSQL and admin. It does not need the generator to serve requests.
From model to code
manifest → нормализация → план → шаблоны → diff → запись файлов
Each stage answers a different question:
- The manifest defines the desired structure.
- Normalization validates types, references and operations and adds permitted defaults.
- The plan determines necessary changes.
- Templates produce expected file contents.
- Diff compares them with current files.
- Writing applies changes according to ownership and saved hashes.
Model errors can therefore be found before writing source files. Saving a Generator UI form changes the project description, not its database.
Generator layers
| Layer | Responsibility |
|---|---|
| Domain | Model, rules and transformations independent of HTTP/filesystems. |
| App | Use cases: loading, change validation, planning and generation. |
| Adapters | HTTP for Generator UI and CLI for terminal work. |
| Infrastructure | YAML, filesystem, templates and file comparison. |
| Cmd | Dependency assembly and executable startup. |
UI and CLI use the same application logic. Finish and the corresponding command follow the same model rules.
Generated application structure
The Go backend separates domain, app, HTTP and PostgreSQL adapters. SQL and database constraints are explicit. Migration history grows through new files; existing generated migrations are not rewritten.
The admin uses React, TypeScript and MUI, with shared requests and sessions. Modules group entities within a monolith. Creating a module does not create a microservice: data model, build and release remain coordinated for the application.
Generation alongside custom code
Develop the model through UI while writing custom logic. Generate updates standard code; custom zones connect through explicit operation handlers, dependency composition and UI extensions. The generator does not search and replace fragments in your files.
Targeted list/field extensions retain generator updates to standard UI. Replacing an entire page transfers data loading, authorization, errors and accessibility to you. See extensions.
Technologies
Go and chi handle HTTP routes; pgx accesses PostgreSQL. An ORM does not conceal SQL or schema changes. React and TypeScript describe UI/data, MUI supplies components, the query library manages loading/refetching, and Vite handles development/builds.
Check exact versions in your release's go.mod and package.json. Templates are embedded in the generator binary; admingen also includes the built UI. Generator model/history live in project files. PostgreSQL belongs to the generated application, not a central generator service.
Getting started
Open quickstart and Generator UI overview. Admingen website integration illustrates how the parts work together.