One schema, one trusted path
A resource definition becomes the index, create, edit, and detail projections, the VineJS validator, and the safe persistence allowlist. Adonia keeps those contracts together instead of asking the browser to reproduce server decisions.
The same runtime includes tables, relations, actions, dashboards, global search, tenancy, soft deletes, uploads, authorization, custom fields, plugins, and queue/search adapters. Everything remains native to AdonisJS, Lucid, VineJS, Bouncer, Ace, and Inertia + React.
Choose a path
Build your first panel
- Read the requirements and installer contract.
- Follow Build a blog admin for an end-to-end application.
- Use Panels and Resources as the daily authoring guides.
- Keep the generated Fields reference and Public API nearby.
Learn the model
Start with the Introduction. It explains the resource abstraction, the one-tree/many-projections model, the server/client descriptor boundary, and why omitted fields disappear from rendering, validation, and persistence together.
Then go deeper:
| Topic | Documentation |
|---|---|
| Layout and fields | Schema and layout, fields, custom fields |
| Tables and querying | Tables and columns, filters and search, query pipeline |
| Forms and writes | Validation, form engine, error model |
| Access control | Authorization, tenancy, nested resources |
| Presentation | Theming, i18n and accessibility, accessibility contract |
| Extensions | Plugin authoring, reference plugins |
Operate in production
Use the deployment and security checklist, then review
observability, performance, the bundle budget,
CI gates, and the upgrade policy. Run
adonia:doctor after installation and upgrades.
Understand or extend the internals
The descriptor protocol v1 defines the frozen wire format and its additive extension rules. Contributors should begin with the contribution guide.
The shortest working path
In an AdonisJS 7 application with Lucid and Inertia + React:
node ace add @adonia/core
node ace migration:run
node ace adonia:resource Post
node ace serve --hmrThe installer publishes the default panel and generic Inertia pages, registers the provider
and codegen hook, wires styles and middleware seams, and creates action persistence
migrations. Visit /admin after the server starts.
Packages
| Package | Responsibility |
|---|---|
@adonia/core |
Server runtime, resource DSL, query and validation pipelines, protocol, provider |
@adonia/ui |
React pages, renderer, component registry, hooks, theme, styles |
@adonia/devtools |
Installer, Ace commands, generators, codegen, doctor checks |
@adonia/queue-bullmq |
BullMQ queued-action adapter |
@adonia/meilisearch |
Meilisearch driver adapter |
adonia-activity-log |
Authorization-safe activity log reference plugin |
adonia-import-export |
Streaming import and queued export reference plugin |
The complete tutorial application is maintained in examples/blog-admin; reusable starter
content is in templates/adonia-starter.
