Architecture · 0.8.1

How Admingen works

Learn how your model becomes a Go API and React admin, where to extend it and what happens during regeneration.

Application model.admingen/project.yaml

Normalization · Plan · Templates · Diff

Go backend

Services · HTTP · PostgreSQL

React admin

Lists · Forms · Custom UI

OpenAPI and migrations

API contract · Schema history

manifest → spec → plan → generate → diff → apply

Saving the model, Generate and applying migrations are separate actions.

Admingen is a Headless CMS generator. Define entities, fields, relationships and access in one model. The generator produces a backend, API contract, admin and migrations. The generated application runs independently: the generator does not serve its requests.

From model to application

.admingen/project.yaml
         ↓
manifest → spec → plan → generate → diff → apply
         ↓
Go backend · React admin · OpenAPI · SQL migrations

Saving the model changes the manifest. Generate writes project files. Applying migrations separately changes PostgreSQL. A public website is a separate API client.

What this section covers

  1. Project structure — The model, backend, admin and API contract.
  2. Go backend: layers and request flow — Packages, interfaces and the Create request flow.
  3. React admin: structure and extensions — Features, pages and custom component contracts.
  4. Custom code and extension points — Hooks, dependencies, routes and your components.
  5. Generation and file ownership — Update rules, conflicts and SQL history.
  6. Architectural decisions — Benefits and tradeoffs of seven decisions.
  7. Generator internals — Manifest, normalization, plan, templates and UI.

Start with project structure or your first project.