How it works
starter is a template repository. You create your own copy on GitHub, and everything you build lives in that copy: your nodes, your components, your Agent skills. The platform itself runs as Docker images that you pull, not source you compile.
Before you begin
Before you start, you need a PostgreSQL database and a Redis instance. Both can be managed services, such as DigitalOcean, Supabase, or AWS RDS, or run locally for development. The platform does not bundle either one: your databases stay under your own management, backups, and policies. PostgreSQL needs the pgvector extension, which managed providers include by default. Local setups are covered in Troubleshooting below.
Setup asks for four credentials. One comes from unoverse; the rest are yours.
unoverse provides
Your registry token, issued with your license. It authorizes downloading the platform images and activates your installation.
You provide
Your PostgreSQL connection string, your Redis credentials, and your auth providerβs issuer, client ID, and audience. Any OIDC-compatible provider works: Auth0, Okta, Microsoft Entra ID.
Apple Silicon Macs run everything natively. The platform images are multi-arch (amd64 + arm64); no Rosetta needed.
Set up your editor
Everything you author is validated against a schema as you type. A typo, a missing field, or an unknown primitive is underlined in the editor rather than surfacing later as a build error or a component that renders wrong. This works out of the box for.json files. YAML files need one extension:
Install it from your editorβs extensions panel by searching for
redhat.vscode-yaml,
or from the VS Code Marketplace
(Open VSX for Cursor and Windsurf).
Youβll confirm itβs working the first time you author a node (Create Your First Node): delete a required field such as type from its node.yaml and a red underline appears within a second. Undo, and it clears.
Set up the platform
1
Create your repository
One line: the CLI scaffolds your universe:Choose βA universeβ. The wizard asks for your registry access token (from your Unoverse admin) and validates it against the registry before anything downloads: the platform is licensed through that token, so there is nothing to run without it. It then configures the universe end to end: writes your
Create your universe
.env, logs into the registry, and sets up the database. There is no separate setup wizard to run afterwards.Most people donβt need this page at all: authoring happens in a Studio project (the wizardβs default, see Studio). The universe kit is for operators running the full platform.Prefer GitHub?
Prefer GitHub?
The kit is also a template repo: on
unoverse-platform/starter, Use this template β Create a new repository, then clone your copy. Setup still comes from the CLI: npm install -g unoverse, then unoverse init in the clone runs the same configuration the wizard does (token, .env, database).2
Start it
Start everything
unoverse command is the npm package, and it works from anywhere inside the folder.3
Verify
Health check
4
Open Canvas
Studio is separate. It is a tool you install, not a service the platform serves, and it
runs on :4108 whether or not a platform is up. See Studio.
How youβll work
Development is local first. The whole platform runs on your machine in Docker, and it is the same platform that runs in production. The loop:- Build your assets in Studio: components, templates, custom nodes, services, and skills.
- Manage content and availability in Spatial: ingest your content and control which assets your Agents can find.
- Wire them into Agents in Canvas.
- Run and test locally: step through nodes, preview components, talk to your Agent.
- Deploy when youβre happy.
unoverse deployruns the Runbooks against your server.
The two .env files
Your project has two environment files, both at the root and both gitignored:
Each file has a template in the repo: copy it and fill in your values. The production file also names the server to deploy to. At deploy time,
unoverse deploy reads it and runs the platformβs Ansible playbooks against that server, following the Runbooks.
Where your code lives
Not in this repo. This repo operates the universe; everything you author lives in a Studio project: Studio scaffolds it (rx/, prompts/, nodes/ in the project folder), validates it as you work, and publishes it to your universe over the API.
You donβt have to build everything yourself. The marketplace offers the design system and ready-made nodes and services to install into your universe, per item.
Daily workflow
Daily workflow
Troubleshooting
Services not starting
Services not starting
Check the logs for the failing service:
Service logs
Can't reach database server at 127.0.0.1
Can't reach database server at 127.0.0.1
Inside a Docker container, Not needed for managed databases (DigitalOcean, Supabase, and similar).
localhost refers to the container itself, not your machine. If you run a local Postgres, use Dockerβs host alias in your DATABASE_URL:.env
extension vector is not available during db-setup
extension vector is not available during db-setup
Your local Postgres needs the pgvector extension. Managed databases ship with it pre-installed.If you run Postgres in Docker, use the
Install pgvector
pgvector/pgvector:pg16 image instead of plain postgres. Restart Postgres and re-run unoverse init.Redis connection refused
Redis connection refused
For local development, start Redis with Docker:
Local Redis
Still stuck
Still stuck
Diagnose
Next steps
Build your first Agent
Wire a trigger, a model, and a response together in Canvas, and talk to it.
Explore the CLI
Every command for setup, development, design, and deployment.
Create a component
Design a component in Studio and see it render live.

