at.happyproto.registry.project
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"author": {
"properties": {
"email": {
"maxLength": 320,
"type": "string"
},
"name": {
"maxGraphemes": 128,
"maxLength": 1280,
"type": "string"
},
"url": {
"format": "uri",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"contact": {
"description": "A security contact. It must carry a url, an email, or both.",
"properties": {
"email": {
"maxLength": 320,
"type": "string"
},
"url": {
"format": "uri",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
},
"main": {
"description": "The HappyView facts about a software.release.project that make it a plugin. The record key is the project's name, and the record lives in the same repo as the project. The registry indexes a project's releases only while this record exists and is valid.",
"key": "any",
"record": {
"properties": {
"authors": {
"items": {
"ref": "#author",
"type": "ref"
},
"maxLength": 20,
"minLength": 1,
"type": "array"
},
"keywords": {
"items": {
"maxGraphemes": 32,
"maxLength": 320,
"type": "string"
},
"maxLength": 20,
"type": "array"
},
"pluginType": {
"description": "What the plugin is. Every release must be of this type.",
"knownValues": [
"auth",
"library",
"interpreter"
],
"type": "string"
},
"project": {
"description": "The software.release.project this describes: the one in the same repo, under the same record key.",
"format": "at-uri",
"type": "string"
},
"publication": {
"description": "The site.standard.publication that holds the plugin's display name, description and icon, in the same repo under the same record key. Pinned by CID, so a change to the publication takes effect only when this record is updated to point at it.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"security": {
"description": "Where to report a vulnerability. At least one is required, because a plugin runs inside an operator's HappyView.",
"items": {
"ref": "#contact",
"type": "ref"
},
"maxLength": 20,
"minLength": 1,
"type": "array"
}
},
"required": [
"project",
"publication",
"pluginType",
"authors",
"security"
],
"type": "object"
},
"type": "record"
}
},
"id": "at.happyproto.registry.project",
"lexicon": 1
}
Metadata
- DID
-
did:plc:mo7vq4jbioxwafy5zkcc3eux - CID
-
bafyreicvbaejdmkr5gasemw7akr7z5ygfxa6fzdk7jw36kpmo65gwgaamy - Indexed At
- 2026-10-26 21:34 UTC
- AT-URI
-
at://did:plc:mo7vq4jbioxwafy5zkcc3eux/com.atproto.lexicon.schema/at.happyproto.registry.project
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
at.happyproto.plugin.profile record
A HappyView plugin package, in its publisher's repo. The record key is the package slug, so the slug is immutable: changing it means a different package.
-
at.happyproto.registry.putProject procedure
Create or update a plugin project in the caller's repo. The first call writes the site.standard.publication, the at.happyproto.registry.project and the software.release.project, in that order, so each is indexed after w…
-
The version's changelog, from the registry's copy of its site.standard.document.
-
Plugin package profile record. EXPERIMENTAL: this NSID is part of the experimental phase of the EmDash plugin registry. The stable namespace target is com.emdashcms.package.profile.
-
at.happyproto.plugin.release record
One version of a package. The record key is '<slug>:<version>'. A release at a given version is never modified: a registry that later sees a different CID at this key keeps the first and flags the conflict.