{
  "id": "znc",
  "name": "ZNC",
  "homepage": "https://znc.in/",
  "description": "An advanced IRC bouncer.",
  "executables": [
    "znc"
  ],
  "dotfiles": {
    "paths": [
      "~/.znc/configs/znc.conf"
    ],
    "exclude": [],
    "secret": [
      "~/.znc/znc.pem"
    ],
    "secret_paths": [
      {
        "file": "~/.znc/configs/znc.conf",
        "match": {
          "prefix": [
            "Pass",
            "Server"
          ]
        }
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Run ZNC",
    "description": "Start the ZNC IRC bouncer, or run its one-off setup actions (new config, password hash, certificate).",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": true
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://github.com/znc/znc/blob/master/man/znc.1",
        "evidence": "-n, --no-color  Don't use any color escape sequences.\n-f, --foreground  Don't fork the ZNC process into the background.\n-D, --debug  Print debug output to the console. Implies --foreground.\n-d DATADIR, --datadir=DATADIR  Specify another datadir.\n-c, --makeconf  Interactively create a new configuration.\n-s, --makepass  Hash a password for use in znc.conf.\n-p, --makepem  Generate znc.pem.\n-r, --allow-root  Don't complain if ZNC is run with root privileges.\n"
      }
    ],
    "field": [
      {
        "id": "datadir",
        "label": "Data directory",
        "type": "path",
        "path": {
          "kind": "directory",
          "role": "input"
        },
        "option": [
          "--datadir",
          "-d"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "foreground",
        "label": "Stay in foreground",
        "type": "boolean",
        "option": [
          "--foreground",
          "-f"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "debug",
        "label": "Debug output",
        "type": "boolean",
        "option": [
          "--debug",
          "-D"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "no_color",
        "label": "No color escapes",
        "type": "boolean",
        "option": [
          "--no-color",
          "-n"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "allow_root",
        "label": "Allow running as root",
        "type": "boolean",
        "option": [
          "--allow-root",
          "-r"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "makeconf",
        "label": "Create a new configuration interactively",
        "type": "boolean",
        "option": [
          "--makeconf",
          "-c"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "makepass",
        "label": "Hash a password",
        "type": "boolean",
        "option": [
          "--makepass",
          "-s"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "makepem",
        "label": "Generate znc.pem",
        "type": "boolean",
        "option": [
          "--makepem",
          "-p"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "start",
        "label": "Start in the foreground",
        "fields": [
          "datadir",
          "foreground",
          "debug",
          "no_color"
        ],
        "required": [],
        "set": {
          "foreground": [
            true
          ]
        }
      },
      {
        "id": "makeconf",
        "label": "Create configuration",
        "fields": [
          "datadir",
          "makeconf"
        ],
        "required": [
          "makeconf"
        ],
        "set": {
          "makeconf": [
            true
          ]
        }
      },
      {
        "id": "makepass",
        "label": "Hash a password",
        "fields": [
          "makepass"
        ],
        "required": [
          "makepass"
        ],
        "set": {
          "makepass": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "datadir",
          "foreground",
          "debug",
          "makeconf",
          "makepass",
          "makepem"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "no_color",
          "allow_root"
        ]
      }
    ]
  }
}
