@cli.argument('builds',nargs='*',arg_only=True,help="List of builds in form <keyboard>:<keymap> to compile in parallel. Specifying this overrides all other target search options.")
@cli.argument('-t','--no-temp',arg_only=True,action='store_true',help="Remove temporary files during build.")
@cli.argument('-j','--parallel',type=int,default=1,help="Set the number of parallel make jobs; 0 means unlimited.")
@cli.argument('-c','--clean',arg_only=True,action='store_true',help="Remove object files before compiling.")
@cli.argument('-n','--dry-run',arg_only=True,action='store_true',help="Don't actually build, just show the commands to be run.")
@cli.argument(
'-f',
'--filter',
arg_only=True,
action='append',
default=[],
help=# noqa: `format-python` and `pytest` don't agree here.
"Filter the list of keyboards based on the supplied value in rules.mk. Matches info.json structure, and accepts the formats 'features.rgblight=true' or 'exists(matrix_pins.direct)'. May be passed multiple times, all filters need to match. Value may include wildcards such as '*' and '?'."# noqa: `format-python` and `pytest` don't agree here.
)
@cli.argument('-km','--keymap',type=str,default='default',help="The keymap name to build. Default is 'default'.")
@cli.argument('-e','--env',arg_only=True,action='append',default=[],help="Set a variable to be passed to make. May be passed multiple times.")
@cli.subcommand('Compile QMK Firmware for all keyboards.',hidden=Falseifcli.config.user.developerelseTrue)