🎨 Manifest Creator

Visual tool for creating and testing nostr-post manifests

Manifest Editor

Load Example:

When enabled, published events include an ‘a’ tag so any client can auto-fetch this manifest to render posts correctly. Disable for manifests that only provide a predefined editing experience.
Required Kinds:
1 (Note)

Fields

Post
Media
Links
Tags
Manifest JSON
{
  "id": "kind1-simple-post",
  "version": "1.0.0",
  "requiredKinds": [
    1
  ],
  "fields": [
    {
      "id": "content",
      "type": "string",
      "uiPlugin": "textarea",
      "mapTo": {
        "kind": 1,
        "target": "content"
      },
      "required": true,
      "metadata": {
        "label": "Post",
        "placeholder": "Write something..."
      }
    },
    {
      "id": "media",
      "type": "string",
      "uiPlugin": "media",
      "attachTo": "content",
      "mapTo": {
        "kind": 1,
        "target": "tag",
        "tagName": "r"
      },
      "metadata": {
        "label": "Media",
        "accept": [
          "image/*",
          "video/*"
        ],
        "maxFiles": 4,
        "expandable": true
      }
    },
    {
      "id": "refs",
      "type": "string",
      "uiPlugin": "reference",
      "attachTo": "content",
      "mapTo": {
        "kind": 1,
        "target": "tag",
        "tagName": "r"
      },
      "visibility": {
        "view": "hidden"
      },
      "metadata": {
        "label": "Links",
        "expandable": true
      }
    },
    {
      "id": "tags",
      "type": "string",
      "uiPlugin": "hashtag",
      "attachTo": "content",
      "mapTo": {
        "kind": 1,
        "target": "tag",
        "tagName": "t"
      },
      "metadata": {
        "label": "Tags",
        "expandable": true
      },
      "defaultValue": [
        "test",
        "nostr-post"
      ]
    }
  ],
  "metadata": {
    "name": "Standard Kind 1 Post",
    "description": "Standard kind 1 post/comment with text, media attachments, and hashtags.",
    "tags": [
      "kind1",
      "standard",
      "comment",
      "reply"
    ]
  }
}

🌐 Nostr Manifests (NIP-78)

Publish the current manifest to Nostr relays as a kind 30078 event. Anyone can discover and use it.

Preview NIP-78 Event
{
  "kind": 30078,
  "created_at": 1775224340,
  "tags": [
    [
      "d",
      "nostr-post:kind1-simple-post"
    ],
    [
      "a",
      "30078:<pubkey>:nostr-post:kind1-simple-post"
    ],
    [
      "name",
      "Standard Kind 1 Post"
    ],
    [
      "t",
      "kind1"
    ],
    [
      "t",
      "standard"
    ],
    [
      "t",
      "comment"
    ],
    [
      "t",
      "reply"
    ],
    [
      "t",
      "nostr-post"
    ]
  ],
  "content": "{\"id\":\"kind1-simple-post\",\"version\":\"1.0.0\",\"requiredKinds\":[1],\"fields\":[{\"id\":\"content\",\"type\":\"string\",\"uiPlugin\":\"textarea\",\"mapTo\":{\"kind\":1,\"target\":\"content\"},\"required\":true,\"metadata\":{\"label\":\"Post\",\"placeholder\":\"Write something...\"}},{\"id\":\"media\",\"type\":\"string\",\"uiPlugin\":\"media\",\"attachTo\":\"content\",\"mapTo\":{\"kind\":1,\"target\":\"tag\",\"tagName\":\"r\"},\"metadata\":{\"label\":\"Media\",\"accept\":[\"image/*\",\"video/*\"],\"maxFiles\":4,\"expandable\":true}},{\"id\":\"refs\",\"type\":\"string\",\"uiPlugin\":\"reference\",\"attachTo\":\"content\",\"mapTo\":{\"kind\":1,\"target\":\"tag\",\"tagName\":\"r\"},\"visibility\":{\"view\":\"hidden\"},\"metadata\":{\"label\":\"Links\",\"expandable\":true}},{\"id\":\"tags\",\"type\":\"string\",\"uiPlugin\":\"hashtag\",\"attachTo\":\"content\",\"mapTo\":{\"kind\":1,\"target\":\"tag\",\"tagName\":\"t\"},\"metadata\":{\"label\":\"Tags\",\"expandable\":true},\"defaultValue\":[\"test\",\"nostr-post\"]}],\"metadata\":{\"name\":\"Standard Kind 1 Post\",\"description\":\"Standard kind 1 post/comment with text, media attachments, and hashtags.\",\"tags\":[\"kind1\",\"standard\",\"comment\",\"reply\"]}}",
  "pubkey": "<pubkey>"
}

Preview

Test your manifest in real-time

Composer

Feed (Published events)

Connect a signer to load your feed and enable comments/reactions.