$ cliapp build --cflags "-DDEBUG=1"
The issue is here: https://github.com/visionmedia/commander.js/blob/master/index.js#L547
There's a check that makes sure the next thing on the command line after a required option does not start with -. If it's a required option, though, who cares? Any string after the option itself should be a valid value for the option. I get that it's a validation check to try and account for someone missing a value for a required option, but it's at the expense of valid functionality. I would very much prefer this additional validation be removed for the sake of having better functionality.
improve unit test for #174
allow cflag style option params, unit test, fixes #174