{
  "version": 2,
  "name": "Clipboard Tools",
  "description": "Generate values and transform whatever is on your clipboard: UUIDs, passwords, dates, case changes, Base64, URL encoding and JSON formatting.",
  "categories": [
    {
      "id": "clipboard-tools",
      "name": "Clipboard Tools",
      "sortOrder": 0,
      "iconSymbolName": "doc.on.clipboard",
      "showAtTopLevel": false,
      "items": [
        {
          "id": "clip-uuid",
          "title": "Copy New UUID",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "uuidgen | tr -d '\\n'",
            "runInBackground": true,
            "showNotification": true,
            "copyToClipboard": true,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "number"
        },
        {
          "id": "clip-password",
          "title": "Copy Random Password",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "LC_ALL=C tr -dc 'A-Za-z0-9!@#%^*_-' </dev/urandom | head -c 20",
            "runInBackground": true,
            "showNotification": true,
            "copyToClipboard": true,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "key"
        },
        {
          "id": "clip-timestamp",
          "title": "Copy Unix Timestamp",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "date +%s",
            "runInBackground": true,
            "showNotification": true,
            "copyToClipboard": true,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "clock"
        },
        {
          "id": "clip-iso-date",
          "title": "Copy ISO Date",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "date -u +%Y-%m-%dT%H:%M:%SZ",
            "runInBackground": true,
            "showNotification": true,
            "copyToClipboard": true,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "calendar"
        },
        {
          "id": "clip-sep-1",
          "title": "",
          "isEnabled": true,
          "isSeparator": true,
          "command": {
            "type": "Shell Command",
            "value": "",
            "runInBackground": true,
            "showNotification": false,
            "copyToClipboard": false,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false
        },
        {
          "id": "clip-plain-text",
          "title": "Clipboard to Plain Text",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "pbpaste | pbcopy",
            "runInBackground": true,
            "showNotification": false,
            "copyToClipboard": false,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "textformat"
        },
        {
          "id": "clip-uppercase",
          "title": "Uppercase Clipboard",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "pbpaste | tr '[:lower:]' '[:upper:]' | pbcopy",
            "runInBackground": true,
            "showNotification": false,
            "copyToClipboard": false,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "textformat.size.larger"
        },
        {
          "id": "clip-lowercase",
          "title": "Lowercase Clipboard",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "pbpaste | tr '[:upper:]' '[:lower:]' | pbcopy",
            "runInBackground": true,
            "showNotification": false,
            "copyToClipboard": false,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "textformat.size.smaller"
        },
        {
          "id": "clip-trim",
          "title": "Trim Whitespace",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "pbpaste | sed -E 's/^[[:space:]]+|[[:space:]]+$//g' | pbcopy",
            "runInBackground": true,
            "showNotification": false,
            "copyToClipboard": false,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "scissors"
        },
        {
          "id": "clip-word-count",
          "title": "Word Count",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "echo \"$(pbpaste | wc -w | tr -d ' ') words, $(pbpaste | wc -m | tr -d ' ') characters\"",
            "runInBackground": true,
            "showNotification": true,
            "copyToClipboard": false,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "textformat.123"
        },
        {
          "id": "clip-sep-2",
          "title": "",
          "isEnabled": true,
          "isSeparator": true,
          "command": {
            "type": "Shell Command",
            "value": "",
            "runInBackground": true,
            "showNotification": false,
            "copyToClipboard": false,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false
        },
        {
          "id": "clip-base64-encode",
          "title": "Base64 Encode",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "pbpaste | base64 | tr -d '\\n' | pbcopy",
            "runInBackground": true,
            "showNotification": false,
            "copyToClipboard": false,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "lock"
        },
        {
          "id": "clip-base64-decode",
          "title": "Base64 Decode",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "pbpaste | base64 -d | pbcopy",
            "runInBackground": true,
            "showNotification": false,
            "copyToClipboard": false,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "lock.open"
        },
        {
          "id": "clip-url-encode",
          "title": "URL Encode",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "pbpaste | perl -pe 's/([^A-Za-z0-9\\-_.~\\n])/sprintf(\"%%%02X\", ord($1))/ge' | pbcopy",
            "runInBackground": true,
            "showNotification": false,
            "copyToClipboard": false,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "link"
        },
        {
          "id": "clip-json-pretty",
          "title": "Pretty-Print JSON",
          "isEnabled": true,
          "command": {
            "type": "Shell Command",
            "value": "pbpaste | plutil -convert json -r -o - - | pbcopy",
            "runInBackground": true,
            "showNotification": true,
            "copyToClipboard": false,
            "openInTerminal": false
          },
          "confirmBeforeRunning": false,
          "isSeparator": false,
          "iconSymbolName": "curlybraces"
        }
      ]
    }
  ]
}
