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 }
[[commands.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
-t, --tree Dump USB device hierarchy as a tree
-d, --vidpid <VID:[PID]> Show only devices with the specified vendor and product ID numbers (in hexadecimal) in format VID:[PID]
-s, --show <SHOW> Show only devices with specified device and/or bus numbers (in decimal) in format [[bus]:][devnum]
--filter-name <FILTER_NAME> Filter on string contained in name
--filter-serial <FILTER_SERIAL> Filter on string contained in serial
-v, --verbose Verbosity level (repeat provides count): 1 prints device configurations; 2 prints interfaces; 3 prints interface endpoints; 4 prints everything and more blocks
--json
--mask-serials
"""
[[commands.field]]
id = "tree"
label = "Tree view"
type = "boolean"
option = ["--tree", "-t"]
sources = ["help"]
[[commands.field]]
id = "lsusb"
label = "lsusb-compatible output"
type = "boolean"
option = ["--lsusb", "-l"]
sources = ["help"]
[[commands.field]]
id = "vidpid"
label = "Vendor:product ID"
description = "Hexadecimal, format VID:[PID]."
type = "string"
option = ["--vidpid", "-d"]
sources = ["help"]
[[commands.field]]
id = "show"
label = "Bus / device number"
description = "Decimal, format [[bus]:][devnum]."
type = "string"
option = ["--show", "-s"]
sources = ["help"]
[[commands.field]]
id = "filter_name"
label = "Name contains"
type = "string"
option = ["--filter-name"]
sources = ["help"]
[[commands.field]]
id = "filter_serial"
label = "Serial contains"
type = "string"
option = ["--filter-serial"]
sources = ["help"]
[[commands.field]]
id = "verbose"
label = "Verbosity"
description = "1 configurations, 2 interfaces, 3 endpoints."
type = "count"
option = ["--verbose", "-v"]
sources = ["help"]
[[commands.field]]
id = "json"
label = "JSON output"
type = "boolean"
option = ["--json"]
sources = ["help"]
[[commands.field]]
id = "mask_serials"
label = "Mask serial numbers"
type = "boolean"
option = ["--mask-serials"]
sources = ["help"]
[[commands.task]]
id = "tree"
label = "Show device tree"
fields = ["tree", "verbose"]
required = ["tree"]
set = { tree = [true] }
[[commands.task]]
id = "json"
label = "Export as JSON"
fields = ["json", "mask_serials"]
required = ["json"]
set = { json = [true] }
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["tree", "lsusb", "verbose", "json"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["vidpid", "show", "filter_name", "filter_serial", "mask_serials"]