unoverse create makes one (studio).
You also need to be an admin on the universe, because only an admin can change where an orgβs
work comes from.
What you set up
A universe pulls an orgβs work from Git. Nothing is ever pushed into it. Connecting takes three things, and the universe makes the two secret ones for you.
The webhook is optional. Without it, the universe still checks the repo every five minutes.
Connect it
1
Open the org's Source tab
In your universe, open Organisations, choose the org, then the Source tab.Check the address bar first. The universe you connect is the one that pulls, so connect the
universe whose work you want to update.
2
Enter the repo
Enter the repoβs SSH address, such as
git@github.com:acme/acme.git. Use the repo made for
this org: a repo whose unoverse.yaml declares a different org is refused.Under This universe follows, choose A branch (usually main) or Release tags. A
production universe usually follows release tags, and the highest version wins. Press
Connect.3
Copy the key and the secret
The tab now shows a Public key, a Payload URL and a Secret. Use each Copy
button rather than reading them off the screen: one misread character makes a key that fails
without saying why.The secret is shown once. If you lose it, Change key makes a new key and a new secret,
and both must then be replaced in the repo.
4
Add the deploy key to the repo
On GitHub, open the repoβs Settings, then Deploy keys, then Add deploy key. Paste
the public key and leave Allow write access off.A new GitHub organisation may block deploy keys. If GitHub says they are disabled, an owner
allows them in the organisationβs settings first.
5
Add the webhook
In the repoβs Settings, open Webhooks, then Add webhook. Paste the payload URL and
the secret, set the content type to
application/json, and choose push events only.GitHub sends a test call at once. A green tick on it means the universe accepted the secret.6
Sync
Press Sync now. The universe fetches the commit it follows, checks it, and applies it.
History records every sync.
Other Git hosts
The steps are the same, and only where the secret goes changes.Test on your own machine
A universe running on your laptop can follow a folder instead of a Git host. You commit, and the universe syncs that commit within a second, with no push, no key and no webhook. On the orgβs Source tab, enter the folderβs full path as the repo, such as/Users/you/orgs/acme. A path starting with ~ is refused. The universe reads commits, not
unsaved edits, so commit to try a change.
A deployed universe refuses a folder. Use a Git host for every universe other than your own.
What each result means
History lists the latest syncs, newest first, with Show all for the rest. A refused sync applies nothing, and the version already live keeps serving.
On GitHub, a webhook delivery marked
401 means the secret in the repo does not match the
universeβs. Copy it again, or press Change key and replace both.
Next steps
Choose your environments
Decide which universe follows which branch, from dev to production.
Build in studio
Author the components, apps and nodes your universe pulls.

