# io.atcr.repo.page

> Repository page metadata including description and avatar. Users can edit this directly in their PDS to customize their repository page.

- Kind: record
- Record key: any
- Authority: repo.atcr.io
- Lexicon: 1
- Published by [did:web:lexicon.atcr.io](https://lexicon.garden/identity/did:web:lexicon.atcr.io), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:web:lexicon.atcr.io/io.atcr.repo.page)
- [Schema JSON](https://lexicon.garden/lexicon/did:web:lexicon.atcr.io/io.atcr.repo.page/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:web:lexicon.atcr.io/io.atcr.repo.page/analytics)

## Record (`io.atcr.repo.page`)

Type: record · key any

### Properties

- `avatar` (blob): Repository avatar/icon image.
  - Constraints: maxSize: 3000000, accept: image/png, image/jpeg, image/webp
- `createdAt` (string · datetime, required): Record creation timestamp
- `description` (string): Markdown README/description content for the repository page.
  - Constraints: maxLength: 100000
- `repository` (string, required): The name of the repository (e.g., 'myapp'). Must match the rkey.
  - Constraints: maxLength: 256
- `updatedAt` (string · datetime, required): Record last updated timestamp
- `userEdited` (boolean): Whether the description was manually edited by the user. When true, auto-population from manifest annotations is skipped on push.

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Repository page metadata including description and avatar. Users can edit this directly in their PDS to customize their repository page.",
      "key": "any",
      "record": {
        "properties": {
          "avatar": {
            "accept": [
              "image/png",
              "image/jpeg",
              "image/webp"
            ],
            "description": "Repository avatar/icon image.",
            "maxSize": 3000000,
            "type": "blob"
          },
          "createdAt": {
            "description": "Record creation timestamp",
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "description": "Markdown README/description content for the repository page.",
            "maxLength": 100000,
            "type": "string"
          },
          "repository": {
            "description": "The name of the repository (e.g., 'myapp'). Must match the rkey.",
            "maxLength": 256,
            "type": "string"
          },
          "updatedAt": {
            "description": "Record last updated timestamp",
            "format": "datetime",
            "type": "string"
          },
          "userEdited": {
            "description": "Whether the description was manually edited by the user. When true, auto-population from manifest annotations is skipped on push.",
            "type": "boolean"
          }
        },
        "required": [
          "repository",
          "createdAt",
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "io.atcr.repo.page",
  "lexicon": 1
}
```
