Author XML
Entities, views, navbar and SQL. One *.view.xml describes a grid and a form — capabilities
are inferred from the SQL blocks present.
You write small XML models — entities, views, navigation, SQL. Genie.Source turns entities
into EF Core tables at compile time; Genie.Engine serves them as JSON (metadata + data +
RBAC) at runtime; genie-engine-ui renders them in React. The backend never returns HTML.
Author XML
Entities, views, navbar and SQL. One *.view.xml describes a grid and a form — capabilities
are inferred from the SQL blocks present.
Compile to tables
A Roslyn source generator materialises *.entity.xml into EF Core entities so a normal
dotnet ef migrations add creates real tables.
Serve as JSON
The engine resolves views per request, runs the SQL, enforces RBAC, and returns metadata + values — never markup.
Render in React
createGenieApp({...}) wires a configurable React 19 app: tables, forms, views, navbar, auth,
theme and an eval-free expression engine.
Introduction
The mental model, the three packages, and the JSON-not-HTML rule. Start here.
Model Authoring
Integration
Drop Genie into your backend and React frontend.
Security
RBAC, the disclosure gate, multi-tenancy and identity.