{
  "id": "profanity",
  "name": "Profanity",
  "homepage": "https://profanity-im.github.io/",
  "description": "Profanity is a console based XMPP client inspired by Irssi.",
  "executables": [
    "profanity"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/profanity/profrc",
      "[configHome]/profanity/themes/"
    ],
    "secret": [
      "[xdgData]/profanity/accounts/"
    ]
  },
  "commands": {
    "format": 1,
    "label": "Start Profanity",
    "description": "Launch the XMPP client, optionally auto-connecting an account or starting with startup commands.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": false
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://manpages.debian.org/testing/profanity/profanity.1.en.html",
        "revision": "2026-10-27",
        "evidence": "-a, --account ACCOUNT  Auto connect to an account on startup, ACCOUNT must be an existing account.\n-c, --config  Use an alternative config file.\n-l, --log LEVEL  Set the logging level, LEVEL may be set to DEBUG, INFO (the default), WARN or ERROR.\n-f, --logfile  Specify a different logfile\n-r, --cmd  Specify the commands that should be run right after starting up. This can be given multiple times, e.g.\nprofanity --cmd /foo --cmd \"/sleep 10\" --cmd /quit\n-t, --theme THEME  Specify which theme to use.\n"
      }
    ],
    "field": [
      {
        "id": "account",
        "label": "Auto-connect account",
        "description": "Must be an existing account.",
        "type": "string",
        "option": [
          "--account",
          "-a"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "theme",
        "label": "Theme",
        "type": "string",
        "option": [
          "--theme",
          "-t"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "log",
        "label": "Log level",
        "type": "enum",
        "option": [
          "--log",
          "-l"
        ],
        "choices": [
          {
            "value": "DEBUG",
            "label": "DEBUG"
          },
          {
            "value": "INFO",
            "label": "INFO (default)"
          },
          {
            "value": "WARN",
            "label": "WARN"
          },
          {
            "value": "ERROR",
            "label": "ERROR"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "config",
        "label": "Config file",
        "type": "path",
        "path": {
          "kind": "file",
          "role": "input"
        },
        "option": [
          "--config",
          "-c"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "logfile",
        "label": "Log file",
        "type": "path",
        "path": {
          "kind": "file",
          "role": "output"
        },
        "option": [
          "--logfile",
          "-f"
        ],
        "effect": "overwrite",
        "sources": [
          "man"
        ]
      },
      {
        "id": "cmd",
        "label": "Startup commands",
        "description": "Each entry runs right after startup, e.g. /sleep 10.",
        "type": "string",
        "option": [
          "--cmd",
          "-r"
        ],
        "multiple": true,
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "connect",
        "label": "Connect an account",
        "fields": [
          "account",
          "theme"
        ],
        "required": [
          "account"
        ]
      },
      {
        "id": "debug",
        "label": "Start with debug logging",
        "fields": [
          "log",
          "logfile"
        ],
        "required": [
          "log"
        ],
        "set": {
          "log": [
            "DEBUG"
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "account",
          "theme",
          "log"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "config",
          "logfile",
          "cmd"
        ]
      }
    ]
  }
}
