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 }
[[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"]