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.
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
On
unoverse-platform/starter, click Use this template β Create a new repository. This gives you a clean, independent copy. Then clone it:Clone your copy
2
Run the setup wizard
Setup wizard
.env file, logs into the registry, and pulls all platform images.Use ./unoverse (with the ./) the first time. After init completes, the CLI installs itself to your PATH and unoverse works from anywhere.3
Start the dev environment
Start everything
4
Set up the database
Database setup
5
Verify
Health check
unoverse doctor for a diagnosis.6
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 db-setup.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.

