Quickstart

Claim a name and get it working

Start to finish, no other page required.

1. Sign in

Go to runs-on.dev and click Sign in with GitHub. This starts an OAuth flow and sets a signed session cookie, nothing more.

2. Pick a name

Type a name into the field on the home page. Availability is checked as you type. A name is 2 to 32 characters, lowercase letters, numbers, and internal hyphens only, never a leading or trailing hyphen.

Claiming also requires your GitHub account to be at least 30 days old with at least one public repository, and one name per account. Both are checked at claim time, not just in the form.

3. Claim it

Click Claim it. This writes domains/<name>.json straight to the public registry, no pull request needed for the claim itself. The write only succeeds if the file does not already exist, so two people racing for the same name never both win.

domains/you.json

{
  "name": "you",
  "owner": { "github": "you" },
  "claimedAt": "2026-01-01T00:00:00.000Z",
  "records": {}
}

you.runs-on.dev resolves immediately after this, over HTTPS, serving a profile card built from your GitHub account. There is nothing left to provision, since a wildcard DNS record already points every name at the app.

4. Point it somewhere (the fastest way)

The profile card is fine to leave as is. If you want the name to go somewhere else, the fastest path needs no hosting at all: a URL record, which the app itself redirects.

  1. Fork the registry.
  2. Edit domains/you.json, replacing "records": {} with:

domains/you.json

"records": { "URL": "https://github.com/you" }
  1. Open a pull request. CI validates it against the schema; once merged, it takes effect within the page's 30-second cache window. No DNS to wait on, because a URL record has none.

Want it pointed at your own site instead? Same two steps, a different record. See the guides for your host, or the full record reference for every field and rule.