Skip to main content
View as Markdown

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:

  1. Install the CLI — Install the Sovrium binary to get the sovrium command. Homebrew, Docker, and Scoop are also available on the Installation page.

    curl -fsSL https://sovrium.com/install | sh
  2. Create a config file — Create an app.yaml with the simplest valid configuration: just a name.

    name: my-app
  3. 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]
  4. Start the server — Run the dev server and visit http://localhost:3000 to see your app.

    sovrium start app.yaml

Option B: TypeScript

Prefer type safety? Author the config in TypeScript with full autocompletion, then run it with the same CLI:

  1. Add type definitions — Install the zero-dependency @sovrium/types package as a dev dependency, just for IDE autocompletion.

    bun add -d @sovrium/types
  2. Create app.ts — Wrap your config in defineConfig() as the default export, starting with just a name.

    import { defineConfig } from '@sovrium/types'
    
    export default defineConfig({
      name: 'my-app',
    })
  3. 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'],
            },
          ],
        },
      ],
    })
  4. Start the server — Run the same CLI against your app.ts and visit http://localhost:3000 to see your app.

    sovrium start app.ts

What's next?

Now that your app is running, explore the schema reference to add more capabilities:

Last updated July 17, 2026

Built with Sovrium