id = "profanity" name = "Profanity" homepage = "https://profanity-im.github.io/" description = "Profanity is a console based XMPP client inspired by Irssi." executables = ["profanity"] [dotfiles] # The official guide places profrc and themes under $XDG_CONFIG_HOME, while # account credentials live under $XDG_DATA_HOME. The named roots preserve # those variables instead of assuming ~/.config or ~/.local/share. # https://profanity-im.github.io/guide/070/files.html 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 } [[commands.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. -c, --config Use an alternative config file. -l, --log LEVEL Set the logging level, LEVEL may be set to DEBUG, INFO (the default), WARN or ERROR. -f, --logfile Specify a different logfile -r, --cmd Specify the commands that should be run right after starting up. This can be given multiple times, e.g. profanity --cmd /foo --cmd "/sleep 10" --cmd /quit -t, --theme THEME Specify which theme to use. """ [[commands.field]] id = "account" label = "Auto-connect account" description = "Must be an existing account." type = "string" option = ["--account", "-a"] sources = ["man"] [[commands.field]] id = "theme" label = "Theme" type = "string" option = ["--theme", "-t"] sources = ["man"] [[commands.field]] 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"] [[commands.field]] id = "config" label = "Config file" type = "path" path = { kind = "file", role = "input" } option = ["--config", "-c"] sources = ["man"] [[commands.field]] id = "logfile" label = "Log file" type = "path" path = { kind = "file", role = "output" } option = ["--logfile", "-f"] effect = "overwrite" sources = ["man"] [[commands.field]] 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"] [[commands.task]] id = "connect" label = "Connect an account" fields = ["account", "theme"] required = ["account"] [[commands.task]] id = "debug" label = "Start with debug logging" fields = ["log", "logfile"] required = ["log"] set = { log = ["DEBUG"] } [[commands.group]] id = "basic" label = "Basic" fields = ["account", "theme", "log"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["config", "logfile", "cmd"]