Skip to content

Genie

Describe your data and screens in small XML files. Genie turns them into working, model-driven tables and forms — with auth, RBAC, workflow, wizards and more already built in.

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

The complete XML contract — entities, views, layout, actions, imports and SQL.