Skip to content

Quickstart

This runs every role of the engine in one process against a local PostgreSQL, with the editor served at /editor/. The commands run from the root of the SeeAMess repository.

git clone <repository URL> seeamess
cd seeamess
  • nix, which the scripts/ wrappers use to provide Rust, .NET 10 and PostgreSQL 17. No Docker is needed for SeeAMess itself.
  • pnpm for the editor.
  1. Start PostgreSQL. scripts/postgres runs PostgreSQL 17 from nix.

    scripts/postgres start
  2. Build the editor’s static files.

    pnpm -C editor install && pnpm -C editor build
  3. Build the engine.

    scripts/cargo build --release
  4. Start it with a dev token and the editor directory.

    SEEAMESS_DATABASE_URL=$(scripts/postgres url) SEEAMESS_DEV_TOKEN=dev \
    SEEAMESS_EDITOR_DIR=$PWD/editor/dist engine/target/release/seeamess

    Migrations run at start. With no SEEAMESS_ROLES, the binary runs every role and listens on 127.0.0.1:5080.

  5. Open http://127.0.0.1:5080/editor/ and sign in with the dev token dev.

An empty engine has no content types. Define them in Rust or C# (see Define content types), then push the manifest. With the sample models in the repository:

SEEAMESS_CARGO_DIR=sdk/rust scripts/cargo run -p site-models -- --out manifest.json
engine/target/release/seeamess schema push --manifest manifest.json \
--url http://127.0.0.1:5080 --token dev

The command prints the plan: the types and fields added, changed and removed. Reload the editor and create and publish some content.

Delivery needs no token for public content. Content by ID works right away; paths resolve below a site’s start page, so register a site first (in the editor under Admin → Sites and hosts, or with PUT /authoring/v1/sites/{id}):

curl 'http://127.0.0.1:5080/delivery/v1/route?path=/en/'
curl 'http://127.0.0.1:5080/delivery/v1/content/<id>?locale=en&expand=1'

Every response carries an ETag; send it back in If-None-Match and you get a 304 with no body. See HTTP APIs.

scripts/check runs every suite: engine, Rust SDK, .NET SDK, editor and this website. scripts/check engine (or rust-sdk, dotnet, editor, site) runs one.