{
  "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
    },
    "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\nDisable auto-connect to servers when WeeChat is starting.\n-d, --dir <path>\nForce a single directory for all WeeChat files (directory is created if not found).\n-t, --temp-dir\nCreate a temporary WeeChat home directory and delete it on exit (incompatible with option \"-d\").\n-p, --no-plugin\nDisable plugins auto-load.\n-P, --plugins <plugins>\nLoad only these plugins at startup (see /help weechat.plugin.autoload).\n-r, --run-command <command>\nRun command(s) after startup; many commands can be separated by semicolons, this option can be given multiple times.\n-s, --no-script\nDisable scripts auto-load.\n--upgrade\nUpgrade WeeChat using session files generated with command /upgrade -quit.\n"
      }
    ],
    "field": [
      {
        "id": "no_connect",
        "label": "Do not auto-connect to servers",
        "type": "boolean",
        "option": [
          "--no-connect",
          "-a"
        ],
        "sources": [
          "manpage"
        ]
      },
      {
        "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"
        ]
      },
      {
        "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"
        ]
      },
      {
        "id": "no_plugin",
        "label": "Disable plugin auto-load",
        "type": "boolean",
        "option": [
          "--no-plugin",
          "-p"
        ],
        "sources": [
          "manpage"
        ]
      },
      {
        "id": "plugins",
        "label": "Load only these plugins",
        "description": "Plugin list for startup, replacing weechat.plugin.autoload.",
        "type": "string",
        "option": [
          "--plugins",
          "-P"
        ],
        "sources": [
          "manpage"
        ]
      },
      {
        "id": "no_script",
        "label": "Disable script auto-load",
        "type": "boolean",
        "option": [
          "--no-script",
          "-s"
        ],
        "sources": [
          "manpage"
        ]
      },
      {
        "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"
        ]
      },
      {
        "id": "upgrade",
        "label": "Upgrade from session files",
        "description": "Use with session files generated by /upgrade -quit.",
        "type": "boolean",
        "option": [
          "--upgrade"
        ],
        "sources": [
          "manpage"
        ]
      }
    ],
    "task": [
      {
        "id": "start",
        "label": "Start normally",
        "fields": [],
        "required": []
      },
      {
        "id": "offline",
        "label": "Start without connecting",
        "fields": [
          "no_connect"
        ],
        "required": [
          "no_connect"
        ],
        "set": {
          "no_connect": [
            true
          ]
        }
      },
      {
        "id": "sandbox",
        "label": "Throwaway session",
        "fields": [
          "temp_dir",
          "no_connect",
          "no_script"
        ],
        "required": [
          "temp_dir"
        ],
        "set": {
          "temp_dir": [
            true
          ],
          "no_connect": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "no_connect",
          "dir",
          "temp_dir",
          "run_command"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "no_plugin",
          "plugins",
          "no_script",
          "upgrade"
        ]
      }
    ]
  }
}
