--name is a persistent flag and is how start, stop, restart, status, logs and update choose an instance. remove takes a positional argument instead, and ignores --name:
$ omnideck remove --json --name desktop
Error: accepts 1 arg(s), received 0
For a scripted interface this is a trap, and it is worst on the one command that destroys things: a caller that builds its arguments uniformly gets an error on a good day, and on a bad day passes a name positionally somewhere that expected a flag.
Suggestion
Accept --name on remove like everything else, keeping the positional form working so nothing that exists today breaks. If only one may stay, the flag is the one that matches the rest of the surface.
--nameis a persistent flag and is howstart,stop,restart,status,logsandupdatechoose an instance.removetakes a positional argument instead, and ignores--name:For a scripted interface this is a trap, and it is worst on the one command that destroys things: a caller that builds its arguments uniformly gets an error on a good day, and on a bad day passes a name positionally somewhere that expected a flag.
Suggestion
Accept
--nameonremovelike everything else, keeping the positional form working so nothing that exists today breaks. If only one may stay, the flag is the one that matches the rest of the surface.