Canonical JSON Schemas for the revenexx App contract. Single source of truth — Console, the build worker and editors all validate against these files live.
App identity — vendor / name / version, dependencies, permissions, events, policies, provides_scopes.
Theme manifest — a shareable, sellable Site (kind: theme / engine: blokkli, ADR-0061). Reuses the App identity / type / permissions; adds site (frontend served by domain, not the gateway), requires (hard capability deps), and the opaque blokkli payload.
Declarative database structures (entities): columns, indexes, FKs, RLS scoping, staging. Consumed by Baseline.
Schema-driven admin UI — navigation, list / detail / form views, columns, fields, filters, import/export, widgets.
Marketplace distribution — pricing type, support, categories, available countries.
Per-tenant / per-market app settings declarations.
Search collections (v2): declarative fields with from locators (column / attribute / relation). Baseline materialises a flat projection; Search syncs it to Typesense.
Slots carrying operator-facing copy accept either a plain string or a locale map. en is required and is the fallback:
{ "label": "Products" }
{ "label": { "en": "Products", "de": "Produkte" } }
Reference a schema from an App contract file for editor validation & autocomplete:
{
"$schema": "https://schemas.revenexx.com/manifest.schema.json",
...
}
Versioned via github.com/revenexx/schemas.