com.pipobscure.bundle.listing

pipobscure.com

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A bundle the repository's owner makes available under a name: the record key, which is also what it installs as. It is an app, or a plugin for one, as its subject says. The record says only where the bundle is fetched from — a url, or a domain whose 'nzip:' TXT record names one, exactly one of the two. It vouches for nothing, and whatever is fetched is verified like any other download.",
      "key": "any",
      "record": {
        "properties": {
          "createdAt": {
            "description": "When the bundle was first listed, by the publisher's clock.",
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "description": "What the bundle is, in a sentence or two.",
            "maxGraphemes": 300,
            "maxLength": 3000,
            "type": "string"
          },
          "domain": {
            "description": "A domain whose 'nzip:<url>' TXT record says where the bundle is fetched from, so the publisher manages the URL in DNS: lowercase, no trailing dot. Exactly one of url and domain.",
            "maxLength": 253,
            "type": "string"
          },
          "subject": {
            "description": "For an app: 'sha256:aa2e2af5c7e057ae771b9c28543044546b9107216418fbb511d1353fd55c1169', the sha256 of this lexicon's NSID, the same in every app's listing, so that a backlink index can enumerate every app listed on the network. For a plugin: the at:// address of the listing of the app it is for, so that the backlink index finds an app's plugins, and never lists them among apps.",
            "format": "uri",
            "maxLength": 2048,
            "type": "string"
          },
          "title": {
            "description": "A display name; the record key stands in when it is absent.",
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "url": {
            "description": "Where the bundle is fetched from: an https URL, expected to stay the same across releases. Exactly one of url and domain.",
            "format": "uri",
            "maxLength": 2048,
            "type": "string"
          }
        },
        "required": [
          "subject",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "com.pipobscure.bundle.listing",
  "lexicon": 1
}

Validate Record

Validate a record against com.pipobscure.bundle.listing

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:rwypz6edxmzyhob2k3rsl2fw
CID
bafyreie5d6fvgf2hzbh7rfk2ilhxjfvwv66stvhebo6ozci5ozkw33xv34
Indexed At
2026-10-19 11:42 UTC
AT-URI
at://did:plc:rwypz6edxmzyhob2k3rsl2fw/com.atproto.lexicon.schema/com.pipobscure.bundle.listing

Similar Lexicons

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

  • A set of listed bundles the repository's owner makes available to install together, under a name: the record key. Installing the suite installs each member as it would be installed by itself, and an update follows the s…

  • com.emdashcms.experimental.package.release recordnot from the namespace authority

    Plugin package release record. EXPERIMENTAL: this NSID is part of the experimental phase of the EmDash plugin registry. The stable namespace target is com.emdashcms.package.release.

  • A statement by the repository's owner about a bundle — that they vouch for it, or that it is bad — identified by its whole-file hash — the hash a bundle signature covers — or about a suite, identified by the has…

Lexicon Garden

@