{
  "id": "direwolf",
  "name": "Dire Wolf",
  "homepage": "https://github.com/wb2osz/direwolf",
  "description": "Software soundcard AX.25 packet modem/TNC and APRS encoder",
  "executables": [
    "direwolf"
  ],
  "dotfiles": {
    "paths": [
      "~/direwolf.conf"
    ],
    "secret": [],
    "secret_paths": [
      {
        "file": "~/direwolf.conf",
        "match": {
          "prefix": [
            "IGLOGIN"
          ]
        }
      }
    ]
  },
  "commands": {
    "format": 1,
    "label": "Run Dire Wolf",
    "description": "Run the software TNC with common audio and logging options. Modem-specific, FX.25 and calibration options are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "man",
        "kind": "manual",
        "url": "https://manpages.debian.org/bookworm/direwolf/direwolf.1.en.html",
        "evidence": "direwolf [ options ] [ - | udp:9999 ]\n-c file\nRead configuration file from specified location rather than the default locations.\n-l logdir\nGenerate daily log files in specified directory. Use \".\" for current directory.\n-r n\nAudio sample rate per second for first channel. Default 44100.\n-n n\nNumber of audio channels for first device. 1 or 2. Default 1.\n-b n\nAudio sample size for first channel. 8 or 16. Default 16.\n-B n\nData rate in bits/sec for first channel. Standard values are 300, 1200, 2400, 4800, 9600.\n-d x\nDebug options.\n-q x\nQuiet (suppress output).\n-t n\nText colors. 0=disabled. 1=default.\n-p\nEnable pseudo terminal for KISS protocol.\ndirewolf -n 1 -r 48000 -b 16 udp:7355\n"
      }
    ],
    "field": [
      {
        "id": "input",
        "label": "Audio input",
        "description": "Leave empty to use the sound card from the config file. Use - for stdin or udp:PORT for streamed audio.",
        "type": "string",
        "position": 0,
        "suggestions": [
          {
            "value": "-",
            "label": "Standard input"
          },
          {
            "value": "udp:7355",
            "label": "UDP port 7355"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "config",
        "label": "Configuration file",
        "type": "path",
        "option": [
          "-c"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "logdir",
        "label": "Log directory",
        "description": "Daily log files; use . for the current directory.",
        "type": "path",
        "option": [
          "-l"
        ],
        "path": {
          "kind": "directory",
          "role": "output"
        },
        "sources": [
          "man"
        ]
      },
      {
        "id": "rate",
        "label": "Sample rate",
        "description": "Samples per second for the first channel. Default 44100.",
        "type": "integer",
        "option": [
          "-r"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "channels",
        "label": "Audio channels",
        "type": "enum",
        "option": [
          "-n"
        ],
        "choices": [
          {
            "value": "1",
            "label": "1 (mono)"
          },
          {
            "value": "2",
            "label": "2 (stereo)"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "sample_size",
        "label": "Sample size (bits)",
        "type": "enum",
        "option": [
          "-b"
        ],
        "choices": [
          {
            "value": "8",
            "label": "8-bit"
          },
          {
            "value": "16",
            "label": "16-bit"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "baud",
        "label": "Data rate (bits/sec)",
        "type": "string",
        "option": [
          "-B"
        ],
        "suggestions": [
          {
            "value": "300",
            "label": "300"
          },
          {
            "value": "1200",
            "label": "1200"
          },
          {
            "value": "2400",
            "label": "2400"
          },
          {
            "value": "4800",
            "label": "4800"
          },
          {
            "value": "9600",
            "label": "9600"
          }
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "colors",
        "label": "Text colors",
        "description": "0 disables colors, 1 is the default.",
        "type": "integer",
        "option": [
          "-t"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "quiet",
        "label": "Suppress output",
        "description": "One or more letters: h = heard line, d = decoded packets.",
        "type": "string",
        "option": [
          "-q"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "debug",
        "label": "Debug options",
        "description": "One or more letters, e.g. k for KISS client or i for IGate.",
        "type": "string",
        "option": [
          "-d"
        ],
        "sources": [
          "man"
        ]
      },
      {
        "id": "pty",
        "label": "KISS pseudo terminal",
        "type": "boolean",
        "option": [
          "-p"
        ],
        "sources": [
          "man"
        ]
      }
    ],
    "task": [
      {
        "id": "sdr",
        "label": "Stream audio from stdin or UDP",
        "fields": [
          "input",
          "rate",
          "channels",
          "sample_size"
        ],
        "required": [
          "input"
        ]
      },
      {
        "id": "config",
        "label": "Run with a config file",
        "fields": [
          "config",
          "colors"
        ],
        "required": [
          "config"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "input",
          "config",
          "rate",
          "channels",
          "sample_size"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "baud",
          "colors",
          "quiet",
          "debug",
          "pty",
          "logdir"
        ]
      }
    ]
  }
}
