software.release.project

A software project. The record key is the project name itself, making duplicate names per repo impossible and enabling AppView-free resolution. Name grammar (normative prose): 1 to 64 lowercase ASCII alphanumerics and interior hyphens only, no dots or colons, no leading or trailing hyphen.

Details · record, key any
Kindrecord
Record keyany
Authorityrelease.software
Indexed
cid bafyreiek76xdaoigttqim6vqqnh7mlplbvhe2xmvm757km5xmq6ahszgwe

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A software project. The record key is the project name itself, making duplicate names per repo impossible and enabling AppView-free resolution. Name grammar (normative prose): 1 to 64 lowercase ASCII alphanumerics and interior hyphens only, no dots or colons, no leading or trailing hyphen.",
      "key": "any",
      "record": {
        "properties": {
          "name": {
            "description": "Machine name of the project. MUST equal the record key. Serves as URL segment, uniqueness key, display fallback, and install token.",
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "parent": {
            "description": "An AT URI to a software.release.project that this project either derives or descends from.",
            "format": "at-uri",
            "type": "string"
          },
          "renamedTo": {
            "description": "When set, this project has been renamed: the record persists as a permanent alias to the successor software.release.project. Record keys are immutable, so rename is never an in-place edit and an old name is never reusable.",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "software.release.project",
  "lexicon": 1
}