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:

1

Install the CLI

Install Sovrium globally with Bun to get the sovrium command.

Terminal
bun add -g sovrium
2

Create a config file

Create an app.yaml with the simplest valid configuration: just a name.

YAML
name: my-app
3

Add data tables

Define your data models with typed fields, options, and validation.

YAML
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]
4

Start the server

Run the dev server and visit http://localhost:3000 to see your app.

Terminal
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:

1

Initialize a project

Scaffold a new Bun project with bun init and move into the directory.

Terminal
bun init my-app && cd my-app
2

Add Sovrium

Install Sovrium as a project dependency.

Terminal
bun add sovrium
3

Write your app

Open index.ts and import the start function with a minimal configuration.

TypeScript
import { start } from 'sovrium'

await start({
  name: 'my-app',
})
4

Add data tables

Extend the configuration with typed fields, options, and validation, with full autocompletion.

TypeScript
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'],
        },
      ],
    },
  ],
})
5

Run your app

Execute index.ts with Bun. Visit http://localhost:3000 to see your app.

Terminal
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.