{
  "id": "cyme",
  "name": "Cyme",
  "homepage": "https://github.com/tuna-f1sh/cyme",
  "description": "List system USB buses and devices. A modern cross-platform lsusb that attempts to maintain compatibility with, but also add new features.",
  "executables": [
    "cyme"
  ],
  "dotfiles": {
    "paths": [
      "[appData]/cyme/cyme.json"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "List USB devices",
    "description": "List USB buses and devices, optionally as a tree, filtered or in JSON. Block selection, sorting and display tweaks are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": true,
      "short_attached": true,
      "short_bundles": true
    },
    "source": [
      {
        "id": "help",
        "kind": "manual",
        "url": "https://raw.githubusercontent.com/tuna-f1sh/cyme/main/doc/cyme.1",
        "revision": "main 2026-10-27",
        "evidence": "-l, --lsusb  Attempt to maintain compatibility with lsusb output\n-t, --tree  Dump USB device hierarchy as a tree\n-d, --vidpid <VID:[PID]>  Show only devices with the specified vendor and product ID numbers (in hexadecimal) in format VID:[PID]\n-s, --show <SHOW>  Show only devices with specified device and/or bus numbers (in decimal) in format [[bus]:][devnum]\n--filter-name <FILTER_NAME>  Filter on string contained in name\n--filter-serial <FILTER_SERIAL>  Filter on string contained in serial\n-v, --verbose  Verbosity level (repeat provides count): 1 prints device configurations; 2 prints interfaces; 3 prints interface endpoints; 4 prints everything and more blocks\n--json\n--mask-serials\n"
      }
    ],
    "field": [
      {
        "id": "tree",
        "label": "Tree view",
        "type": "boolean",
        "option": [
          "--tree",
          "-t"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "lsusb",
        "label": "lsusb-compatible output",
        "type": "boolean",
        "option": [
          "--lsusb",
          "-l"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "vidpid",
        "label": "Vendor:product ID",
        "description": "Hexadecimal, format VID:[PID].",
        "type": "string",
        "option": [
          "--vidpid",
          "-d"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "show",
        "label": "Bus / device number",
        "description": "Decimal, format [[bus]:][devnum].",
        "type": "string",
        "option": [
          "--show",
          "-s"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "filter_name",
        "label": "Name contains",
        "type": "string",
        "option": [
          "--filter-name"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "filter_serial",
        "label": "Serial contains",
        "type": "string",
        "option": [
          "--filter-serial"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "verbose",
        "label": "Verbosity",
        "description": "1 configurations, 2 interfaces, 3 endpoints.",
        "type": "count",
        "option": [
          "--verbose",
          "-v"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "json",
        "label": "JSON output",
        "type": "boolean",
        "option": [
          "--json"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "mask_serials",
        "label": "Mask serial numbers",
        "type": "boolean",
        "option": [
          "--mask-serials"
        ],
        "sources": [
          "help"
        ]
      }
    ],
    "task": [
      {
        "id": "tree",
        "label": "Show device tree",
        "fields": [
          "tree",
          "verbose"
        ],
        "required": [
          "tree"
        ],
        "set": {
          "tree": [
            true
          ]
        }
      },
      {
        "id": "json",
        "label": "Export as JSON",
        "fields": [
          "json",
          "mask_serials"
        ],
        "required": [
          "json"
        ],
        "set": {
          "json": [
            true
          ]
        }
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "tree",
          "lsusb",
          "verbose",
          "json"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "vidpid",
          "show",
          "filter_name",
          "filter_serial",
          "mask_serials"
        ]
      }
    ]
  }
}
