Quick Start
Build your first Sovrium app in minutes. From zero to a running application. Choose the approach that fits your workflow.
Choose your approach
Sovrium supports two configuration formats. YAML is great for simplicity; TypeScript gives you 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 Sovrium globally with Bun to get the
sovriumcommand.bun add -g sovrium -
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 + Bun
The power-user path. Create a Bun project, add Sovrium as a dependency, and write type-safe code:
-
Initialize a project — Scaffold a new Bun project with
bun initand move into the directory.bun init my-app && cd my-app -
Add Sovrium — Install Sovrium as a project dependency.
bun add sovrium -
Write your app — Open
index.tsand import thestartfunction with a minimal configuration.import { start } from 'sovrium' await start({ name: 'my-app', }) -
Add data tables — Extend the configuration with typed fields, options, and validation, with full autocompletion.
import { start } from 'sovrium' await start({ 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'], }, ], }, ], }) -
Run your app — Execute
index.tswith Bun. Visithttp://localhost:3000to see your app.bun run index.ts
Why TypeScript? TypeScript gives you autocompletion for every property, compile-time validation of field types, and the full power of Bun as your runtime. 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