For accepting input, if stdin is a tty then prompt rather than forcing the user to specify a flag. Never require a prompt though. The user needs to be able to automate the CLI in a script so allow them to override prompts always.
Before executing the command, display what it looks like, to help the users learn how to use the CLI without the prompt.
E.g (the command following the interactive prompt shown below, huge thanks to Amy, working on MAAS UX for the awesome prototype)
$ maas deploy machine-name os=ubuntu release=18.04