Quick Start
This guide takes you from an empty file to a running Sovrium app. Pick the approach that fits your workflow: a YAML file driven by the CLI, or a TypeScript project for full type safety.
Choose your approach
Sovrium supports two configuration formats. YAML keeps things simple; TypeScript adds full type safety and autocompletion.
Option A: YAML + CLI
The simplest path. Install the Sovrium CLI, write a YAML config, and start the server:
-
Install the CLI — Install the Sovrium binary to get the
sovriumcommand. Homebrew, Docker, and Scoop are also available on the Installation page.curl -fsSL https://sovrium.com/install | sh -
Create a config file — Create an
app.yamlwith the simplest valid configuration: just a name.name: my-app -
Add data tables — Define your data models with typed fields, options, and validation.
name: my-app tables: - id: 1 name: tasks fields: - id: 1 name: title type: single-line-text required: true - id: 2 name: status type: single-select options: [To Do, In Progress, Done] -
Start the server — Run the dev server and visit
http://localhost:3000to see your app.sovrium start app.yaml
Add more as you go. Start small with just tables. Then progressively add theme, auth, pages, and analytics as your needs grow.
Option B: TypeScript
Prefer type safety? Author the config in TypeScript with full autocompletion, then run it with the same CLI:
-
Add type definitions — Install the zero-dependency
@sovrium/typespackage as a dev dependency, just for IDE autocompletion.bun add -d @sovrium/types -
Create
app.ts— Wrap your config indefineConfig()as the default export, starting with just a name.import { defineConfig } from '@sovrium/types' export default defineConfig({ name: 'my-app', }) -
Add data tables — Extend the configuration with typed fields, options, and validation, with full autocompletion.
import { defineConfig } from '@sovrium/types' export default defineConfig({ name: 'my-app', tables: [ { id: 1, name: 'tasks', fields: [ { id: 1, name: 'title', type: 'single-line-text', required: true, }, { id: 2, name: 'status', type: 'single-select', options: ['To Do', 'In Progress', 'Done'], }, ], }, ], }) -
Start the server — Run the same CLI against your
app.tsand visithttp://localhost:3000to see your app.sovrium start app.ts
Why TypeScript? TypeScript gives you autocompletion for every property and compile-time validation of field types. Ideal for developers who prefer code over config files.
What's next?
Now that your app is running, explore the schema reference to add more capabilities:
- Core Concepts: The anatomy of a Sovrium app
- Schema Overview: All 18 root properties explained
- Tables Overview: 49 field types, permissions, indexes
- Theme: Colors, fonts, spacing, and design tokens
- Pages Overview: ~80 component types for server-rendered pages
Last updated July 17, 2026