is-pinoy.dev logois-pinoy.dev

JSON Format

Complete reference for the subdomain JSON file format.

Each subdomain is described by a single JSON file at subdomains/<your-subdomain>.json in the domains repository.

Full example

{
  "$schema": "https://raw.githubusercontent.com/is-pinoy-dev/domains/main/schemas/v1/subdomain.schema.json",
  "subdomain": "",
  "owner": {
    "github": "your-github-username",
    "email": "you@example.com"
  },
  "records": {
    "CNAME": {
      "value": "xxxxxxxxxxxxxxxx.vercel-dns-017.com."
    }
  }
}

Field reference

$schema

"$schema": "https://raw.githubusercontent.com/is-pinoy-dev/domains/main/schemas/v1/subdomain.schema.json"

Optional but recommended. Adding this field enables JSON schema validation in editors like VS Code — you'll see inline errors as you type.


subdomain

"subdomain": ""

Required. The name you want before .is-pinoy.dev. Must:

  • Match the filename exactly (e.g. .json"subdomain": "")
  • Be lowercase alphanumeric with hyphens only
  • Be between 1 and 63 characters

See Naming Rules for the full character rules.


owner.github

"owner": {
  "github": "your-github-username"
}

Required. Must exactly match the GitHub username of the account opening the pull request. CI will reject the PR if these don't match.

This is case-sensitive. JuanDeLaCruz and juandelacruz are different values. Use your username exactly as it appears on GitHub.


owner.email

"owner": {
  "github": "your-github-username",
  "email": "you@example.com"
}

Optional. Used by maintainers to contact you if there's an issue with your subdomain. Never exposed publicly.


records

"records": {
  "CNAME": {
    "value": "yoursite.vercel.app."
  }
}

Required. Must contain at least one valid record. Supported keys: CNAME, A, TXT. See Supported Records for details on each type.

Common mistakes

MistakeExample of wrong valueCorrect value
Filename doesn't match subdomain fieldFile: juan.json, field: "subdomain": "juan-dev"File and field must both be juan or both juan-dev
owner.github is wrong casing"github": "JuanDeLaCruz" when GitHub username is juandelacruzMatch exactly as shown on GitHub
Missing trailing dot on CNAME"value": "yoursite.vercel.app""value": "yoursite.vercel.app."
email field in wrong place"email": "..." at top levelMust be inside "owner": {}

On this page