id = "weechat"
name = "WeeChat"
homepage = "https://weechat.org/"
description = "A fast, light and extensible chat client."
executables = ["weechat"]
[dotfiles]
paths = [
"[configHome]/weechat/weechat.conf",
"[configHome]/weechat/plugins.conf",
"[configHome]/weechat/alias.conf",
"[configHome]/weechat/themes/",
]
exclude = [
"[xdgData]/weechat/logs/",
"[xdgData]/weechat/xfer/",
"[xdgData]/weechat/scripts/",
"[cacheHome]/weechat/",
]
secret = ["[configHome]/weechat/sec.conf"]
side_effect = false
[commands]
format = 1
label = "Start WeeChat"
description = "Start the WeeChat client with common startup switches. Debug options and plugin:option arguments are not covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = true, short_bundles = false }
[[commands.source]]
id = "manpage"
kind = "manual"
url = "https://manpages.debian.org/unstable/weechat-curses/weechat.1.en.html"
revision = "2026-10-27"
evidence = """
-a, --no-connect
Disable auto-connect to servers when WeeChat is starting.
-d, --dir <path>
Force a single directory for all WeeChat files (directory is created if not found).
-t, --temp-dir
Create a temporary WeeChat home directory and delete it on exit (incompatible with option "-d").
-p, --no-plugin
Disable plugins auto-load.
-P, --plugins <plugins>
Load only these plugins at startup (see /help weechat.plugin.autoload).
-r, --run-command <command>
Run command(s) after startup; many commands can be separated by semicolons, this option can be given multiple times.
-s, --no-script
Disable scripts auto-load.
--upgrade
Upgrade WeeChat using session files generated with command /upgrade -quit.
"""
[[commands.field]]
id = "no_connect"
label = "Do not auto-connect to servers"
type = "boolean"
option = ["--no-connect", "-a"]
sources = ["manpage"]
[[commands.field]]
id = "dir"
label = "WeeChat home directory"
description = "Single directory for all WeeChat files; created if missing."
type = "path"
path = { kind = "directory", role = "input" }
option = ["--dir", "-d"]
sources = ["manpage"]
[[commands.field]]
id = "temp_dir"
label = "Temporary home directory"
description = "Deleted on exit; cannot be combined with a home directory."
type = "boolean"
option = ["--temp-dir", "-t"]
sources = ["manpage"]
[[commands.field]]
id = "no_plugin"
label = "Disable plugin auto-load"
type = "boolean"
option = ["--no-plugin", "-p"]
sources = ["manpage"]
[[commands.field]]
id = "plugins"
label = "Load only these plugins"
description = "Plugin list for startup, replacing weechat.plugin.autoload."
type = "string"
option = ["--plugins", "-P"]
sources = ["manpage"]
[[commands.field]]
id = "no_script"
label = "Disable script auto-load"
type = "boolean"
option = ["--no-script", "-s"]
sources = ["manpage"]
[[commands.field]]
id = "run_command"
label = "Command to run after startup"
description = "Several commands may be separated by semicolons."
type = "string"
option = ["--run-command", "-r"]
multiple = true
sources = ["manpage"]
[[commands.field]]
id = "upgrade"
label = "Upgrade from session files"
description = "Use with session files generated by /upgrade -quit."
type = "boolean"
option = ["--upgrade"]
sources = ["manpage"]
[[commands.task]]
id = "start"
label = "Start normally"
fields = []
required = []
[[commands.task]]
id = "offline"
label = "Start without connecting"
fields = ["no_connect"]
required = ["no_connect"]
set = { no_connect = [true] }
[[commands.task]]
id = "sandbox"
label = "Throwaway session"
fields = ["temp_dir", "no_connect", "no_script"]
required = ["temp_dir"]
set = { temp_dir = [true], no_connect = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["no_connect", "dir", "temp_dir", "run_command"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["no_plugin", "plugins", "no_script", "upgrade"]