id = "weechat" name = "WeeChat" homepage = "https://weechat.org/" description = "A fast, light and extensible chat client." executables = ["weechat"] [dotfiles] # https://weechat.org/files/doc/weechat/devel/weechat_user.en.html documents # the XDG config directory and its *.conf files, including user themes. Keep # logs, script data and runtime sockets out of the entry. 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/", ] # The same guide labels sec.conf highly sensitive; it stores secured server # credentials and must not be shared in plaintext. 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 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 Load only these plugins at startup (see /help weechat.plugin.autoload). -r, --run-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"]