Schema Overview
The complete reference for the Sovrium app schema. A declarative configuration object with 10 root properties.
Schema Structure
A Sovrium app is a declarative configuration object with 10 root properties. Only name is required â everything else is optional, enabling progressive complexity from a minimal app identifier to a full-stack application.
name: my-app # App identifier (required)
version: 1.0.0 # SemVer version
description: My application # One-line description
tables: [...] # Data models with 41 field types
theme: {...} # Design tokens (colors, fonts, etc.)
pages: [...] # Server-rendered pages (62 component types)
auth: {...} # Authentication & authorization
languages: {...} # Multi-language support ($t: syntax)
components: [...] # Reusable UI templates ($ref, $variable)
analytics: {...} # Privacy-friendly, cookie-free analytics
Progressive complexity
Only name is required. Add tables, theme, pages, auth, and other sections as your app grows.
Root Properties
The app schema has 10 root properties. Only name is required.
App identifier following npm naming conventions. Lowercase, max 214 chars, supports scoped format (@scope/name).
Semantic Versioning 2.0.0 string (e.g., 1.0.0, 2.0.0-beta.1). Supports pre-release and build metadata.
Single-line app description. No line breaks allowed. Unicode and emojis supported.
Data models with 41 field types, relationships, indexes, permissions, and views.
Design tokens: colors, fonts, spacing, shadows, animations, breakpoints, and border radius.
Server-rendered pages with 62 component types, SEO metadata, and i18n support.
Authentication strategies (email/password, magic link, OAuth), roles, and two-factor authentication.
Multi-language support with $t: translation syntax, browser detection, and language persistence.
Reusable UI templates with $ref referencing and $variable substitution.
Privacy-friendly, cookie-free, first-party analytics. Set to true for defaults or configure with options.