{
  "lexicon": 1,
  "id": "sh.tangled.repo",
  "needsCbor": true,
  "needsType": true,
  "defs": {
    "main": {
      "type": "record",
      "key": "tid",
      "record": {
        "type": "object",
        "required": [
          "name",
          "knot",
          "createdAt"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "name of the repo"
          },
          "knot": {
            "type": "string",
            "description": "knot where the repo was created"
          },
          "spindle": {
            "type": "string",
            "description": "CI runner to send jobs to and receive results from"
          },
          "description": {
            "type": "string",
            "minGraphemes": 1,
            "maxGraphemes": 140
          },
          "website": {
            "type": "string",
            "format": "uri",
            "description": "Any URI related to the repo"
          },
          "topics": {
            "type": "array",
            "description": "Topics related to the repo",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 50
            },
            "maxLength": 50
          },
          "source": {
            "type": "string",
            "format": "uri",
            "description": "source of the repo"
          },
          "labels": {
            "type": "array",
            "description": "List of labels that this repo subscribes to",
            "items": {
              "type": "string",
              "format": "at-uri"
            }
          },
          "repoDid": {
            "type": "string",
            "format": "did",
            "description": "DID of the repo itself, if assigned"
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          }
        }
      }
    }
  }
}
