dev.roe.project

danielroe.dev

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A project on the /projects page, belonging to a dev.roe.projectCategory.",
      "key": "tid",
      "record": {
        "properties": {
          "category": {
            "description": "Strong-ref to the parent dev.roe.projectCategory record.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "maxGraphemes": 2500,
            "maxLength": 25000,
            "type": "string"
          },
          "icon": {
            "description": "UnoCSS icon class, e.g. `i-ri:rocket-line`. Used when there is no image.",
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "images": {
            "description": "Visual assets for the project. The site renders the first `purposeScreenshot`, falling back to the first image of any purpose.",
            "items": {
              "ref": "community.lexicon.app.defs#image",
              "type": "ref"
            },
            "maxLength": 8,
            "type": "array"
          },
          "links": {
            "description": "Relevant destinations for the project. The site links the card at the first `linkRoleWebsite`, falling back to the first link of any role.",
            "items": {
              "ref": "community.lexicon.app.defs#link",
              "type": "ref"
            },
            "maxLength": 12,
            "type": "array"
          },
          "name": {
            "maxGraphemes": 256,
            "maxLength": 2560,
            "type": "string"
          },
          "order": {
            "default": 100,
            "description": "Lower values render first within the category. Defaults to 100 in the editor.",
            "type": "integer"
          },
          "status": {
            "description": "Release or maintenance status. `unmaintained` and `discontinued` render the card as archived.",
            "ref": "community.lexicon.app.defs#status",
            "type": "ref"
          }
        },
        "required": [
          "category",
          "name",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "dev.roe.project",
  "lexicon": 1
}

Validate Record

Validate a record against dev.roe.project

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:jbeaa5kdaladzwq3r7f5xgwe
CID
bafyreiaposgpxtlalba2acaelvck4dby4ex5bh4ipqkw6fjoqgxzo66rfu
Indexed At
2026-08-26 08:57 UTC
AT-URI
at://did:plc:jbeaa5kdaladzwq3r7f5xgwe/com.atproto.lexicon.schema/dev.roe.project

Referenced Schemas (3)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A project shown on redstar071.dev. The record key is the project's slug, and the site falls back to content/projects/*.yml when no records are readable.

  • A category on the /projects page. Projects belong to a category via dev.roe.project.category.

  • A project record containing project information and metadata

  • Reference to a project. Identified by a handle and enriched with optional human-friendly metadata, links and visuals.

  • A wips.social project owned by the repository DID. The project's AT URI is its durable identifier. Protocol ceilings stay generous while keeping worst-case DAG-CBOR size comfortably below the informal 1 MiB network reco…

Lexicon Garden

@