{
  "name": "generate",
  "kind": "bundled",
  "title": "Generate",
  "description": "UUIDs, passwords, passphrases, random numbers, hashes, encodings, lorem ipsum, colours and QR codes, and a JWT taken apart. Every value copies on Enter.",
  "version": "0.1.0",
  "icon": {
    "tile": {
      "glyph": "󰝮",
      "bg": "amber"
    }
  },
  "author": "pal",
  "spec": "github:zcag/pal/extensions/generate@v0.9.1",
  "source": "https://github.com/zcag/pal/tree/HEAD/extensions/generate",
  "commit": "63287e180ce349dac3aa87c68ce4c80bc42ad409",
  "manifest": {
    "name": "generate",
    "title": "Generate",
    "description": "UUIDs, passwords, passphrases, random numbers, hashes, encodings, lorem ipsum, colours and QR codes, and a JWT taken apart. Every value copies on Enter.",
    "version": "0.1.0",
    "icon": {
      "tile": {
        "glyph": "󰝮",
        "bg": "amber"
      }
    },
    "author": "pal",
    "repo": "bundled",
    "license": "MIT",
    "settings": [
      {
        "kind": "number",
        "id": "password_length",
        "label": "Password length",
        "description": "Characters in a generated password; `password 32` in the panel overrides it for one listing.",
        "min": 4,
        "max": 256,
        "unit": "characters",
        "default": 20
      },
      {
        "kind": "select",
        "id": "password_charset",
        "label": "Password characters",
        "description": "What a password is drawn from; a word after `password` (`password 16 alnum`) overrides it for one listing.",
        "options": [
          {
            "id": "full",
            "title": "Letters, digits and symbols"
          },
          {
            "id": "alnum",
            "title": "Letters and digits"
          },
          {
            "id": "letters",
            "title": "Letters only"
          },
          {
            "id": "digits",
            "title": "Digits only (a PIN)"
          }
        ],
        "default": "full"
      },
      {
        "kind": "number",
        "id": "passphrase_words",
        "label": "Passphrase words",
        "description": "Words in a passphrase, from a list of 2551 common five-letter words (about 11 bits each); `passphrase 7` overrides it for one listing.",
        "min": 2,
        "max": 20,
        "unit": "words",
        "default": 5
      },
      {
        "kind": "text",
        "id": "passphrase_separator",
        "label": "Passphrase separator",
        "description": "What goes between the words.",
        "placeholder": "-",
        "default": "-"
      }
    ],
    "store": {
      "tagline": "UUIDs, passwords, hashes, base64, lorem ipsum, QR codes and JWTs",
      "category": "developer",
      "features": [
        "A fresh value of everything before you type: UUID v4 and v7, ULID, Nano ID, a password, a passphrase, random bytes, lorem ipsum, a colour",
        "A word and a number narrow it: `password 32 alnum`, `passphrase 7`, `number 1-6`, `lorem 3 paragraphs`",
        "Hash or encode the text you type, or the clipboard: `sha256`, `md5`, `base64`, `url`, `hex`, `decode`",
        "`qr \u003ctext\u003e` draws a QR code; `cmd+c` copies it as SVG",
        "`jwt \u003ctoken\u003e` shows the header, the payload and when it expires (the signature is not checked)",
        "`enter` copies, `cmd+enter` pastes into the app in front, `cmd+r` makes new values"
      ],
      "permissions": [
        "accessibility"
      ],
      "platforms": [
        "macos",
        "linux"
      ],
      "screenshots": [
        {
          "file": "1-everything.png",
          "caption": "The empty query: a fresh value of every generator, the secrets with their strength and entropy"
        },
        {
          "file": "2-hash.png",
          "caption": "hash of typed text: all four digests, and Copy all on cmd+shift+c"
        },
        {
          "file": "3-qr.png",
          "caption": "qr of a link: the code on the row and large in the detail pane"
        },
        {
          "file": "4-jwt.png",
          "caption": "jwt: the header, the payload with its expiry, the times, and a reminder that nothing is verified"
        }
      ],
      "actions": [
        {
          "title": "Copy",
          "description": "The value onto the clipboard.",
          "keys": "enter"
        },
        {
          "title": "Paste",
          "description": "Hides, then pastes the value into the app in front.",
          "keys": "cmd+enter"
        },
        {
          "title": "Copy all",
          "description": "Every row of the group (all hashes, all encodings, the JWT's header and payload) as lines.",
          "keys": "cmd+shift+c"
        },
        {
          "title": "Open in Colour Picker",
          "description": "A random colour in the Colors palette's picker.",
          "keys": "cmd+o"
        },
        {
          "title": "Show QR code",
          "description": "The code large, on the QR row.",
          "keys": "enter"
        },
        {
          "title": "Copy SVG",
          "description": "The QR code as SVG markup.",
          "keys": "cmd+c"
        }
      ]
    },
    "palettes": {
      "generate": {
        "title": "Generate",
        "kind": "input",
        "description": "Type nothing for a value of everything, a mode word to narrow it, or a mode and text to hash, encode, decode, draw or take apart.",
        "keys": [
          {
            "keys": "enter",
            "title": "Copy the value (show the QR code on its row)"
          },
          {
            "keys": "cmd+enter",
            "title": "Paste the value into the app in front"
          },
          {
            "keys": "cmd+shift+c",
            "title": "Copy the whole group"
          },
          {
            "keys": "cmd+o",
            "title": "Open a colour in the Colour Picker"
          },
          {
            "keys": "cmd+c",
            "title": "Copy the QR code as SVG"
          }
        ]
      }
    }
  },
  "playable": false,
  "updated_at": "2026-09-30T01:45:08Z",
  "url": "https://pal.cagdas.io/extensions/generate",
  "tagline": "UUIDs, passwords, hashes, base64, lorem ipsum, QR codes and JWTs",
  "category": "developer",
  "screenshots": [
    "https://pal.cagdas.io/extensions/generate/screenshots/1-everything-dark.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/1-everything.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/2-hash-dark.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/2-hash.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/3-qr-dark.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/3-qr.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/4-jwt-dark.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/4-jwt.png"
  ],
  "panel_screenshots": [
    "https://pal.cagdas.io/extensions/generate/screenshots/1-everything.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/2-hash.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/3-qr.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/4-jwt.png"
  ],
  "bar_screenshots": [],
  "panel_screenshots_dark": [
    "https://pal.cagdas.io/extensions/generate/screenshots/1-everything-dark.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/2-hash-dark.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/3-qr-dark.png",
    "https://pal.cagdas.io/extensions/generate/screenshots/4-jwt-dark.png"
  ],
  "bar_screenshots_dark": [],
  "has_bar": false,
  "bar_items": [],
  "has_links": false,
  "links": [],
  "multi": false,
  "has_readme": true
}
