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.

namestringrequired

App identifier following npm naming conventions. Lowercase, max 214 chars, supports scoped format (@scope/name).

versionstring

Semantic Versioning 2.0.0 string (e.g., 1.0.0, 2.0.0-beta.1). Supports pre-release and build metadata.

descriptionstring

Single-line app description. No line breaks allowed. Unicode and emojis supported.

tablesarray

Data models with 41 field types, relationships, indexes, permissions, and views.

themeobject

Design tokens: colors, fonts, spacing, shadows, animations, breakpoints, and border radius.

pagesarray

Server-rendered pages with 62 component types, SEO metadata, and i18n support.

authobject

Authentication strategies (email/password, magic link, OAuth), roles, and two-factor authentication.

languagesobject

Multi-language support with $t: translation syntax, browser detection, and language persistence.

componentsarray

Reusable UI templates with $ref referencing and $variable substitution.

analyticsobject | boolean

Privacy-friendly, cookie-free, first-party analytics. Set to true for defaults or configure with options.