JSON Schema
The Sovrium app schema describes the complete structure of an application configuration. It is published as a standard JSON Schema (Draft 2020-12), derived directly from the canonical Effect Schema (AppSchema) — so it can never drift from what the server actually decodes.
Three artifacts come off that single source of truth:
| Artifact | Format | Generated by | Use it for |
|---|---|---|---|
| JSON Schema | JSON (Draft 2020-12) | sovrium schema |
Editor autocomplete, CI validation |
@sovrium/types |
TypeScript .d.ts |
npm package | defineConfig() autocompletion in app.ts |
| AppSchema validator | runtime decode | sovrium validate |
Verifying a config file before deploy |
Interactive Schema Explorer. Browse the full schema visually — expand properties, view types, and explore nested structures.
Generating the schema
# Print the JSON Schema to stdout
sovrium schema
# Write the JSON Schema to a file
sovrium schema --output app.schema.jsonThe document is self-contained, with a top-level $schema declaration, so any JSON-Schema-aware tool consumes it without further configuration. It takes no input beyond the Sovrium version — regenerate it in CI and diff the result, and any change you see is a real schema change.
Root properties at a glance
Every property except name is optional and layers on top.
| Property | Type | Description |
|---|---|---|
name |
string |
Application name (required) |
version |
string |
App config version string |
description |
string |
Human-readable description |
tables |
object[] |
Data tables (see Tables Overview) |
pages |
object[] |
Pages and their component trees |
forms |
object[] |
Standalone forms |
auth |
object |
Authentication and RBAC configuration |
theme |
object |
Design tokens (colors, fonts, spacing) |
components |
object[] |
Reusable components |
automations |
object[] |
Trigger/action workflows |
connections |
object[] |
External service connections |
languages |
object |
Internationalization / i18n |
analytics |
object |
Privacy-friendly analytics |
agents |
object[] |
AI agents |
The full reference is Schema Overview.
Schema URLs
Reference the hosted schema by URL from an editor, a CI pipeline, or a validation script.
Versioned (recommended)
Pin to a specific version for production stability. Replace <version> with the Sovrium version you target — the one sovrium --version prints:
https://sovrium.com/schema/app-<version>.jsonA pinned URL is the one that keeps CI honest: the config is checked against the schema of the version you actually deploy, so upgrading Sovrium and adopting its new schema stay separate decisions.
Latest
Always points at the most recent version. Convenient in development; it can introduce breaking changes without warning.
https://sovrium.com/schema/app.jsonEditor integration
Moved to Editor Setup.
TypeScript autocompletion with @sovrium/types
Moved to TypeScript Configs.
Validating a config file
Moved to Validating a Config.
Programmatic validation
Moved to Validating a Config.
Related Pages
- Editor Setup — wiring the schema into VS Code or JetBrains.
- Validating a Config —
sovrium validateand CI gating. - TypeScript Configs — the same guarantees in
app.ts. - Schema Overview — the full root-property reference.
Last updated August 28, 2026
This documentation was written with AI, so errors or outdated content are possible. Sovrium is in beta. Contributions and corrections are welcome.