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] # Cyme's official documentation names cyme.json under $XDG_CONFIG_HOME/cyme # on Linux, ~/Library/Application Support/cyme on macOS and roaming app data # on Windows; [appData] is the catalog's platform-native spelling of that # location. https://docs.rs/crate/cyme/latest#config 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 Show only devices with the specified vendor and product ID numbers (in hexadecimal) in format VID:[PID] -s, --show Show only devices with specified device and/or bus numbers (in decimal) in format [[bus]:][devnum] --filter-name Filter on string contained in name --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"]