Interesting article about design of command line applications: https://medium.com/@jdxcode/12-factor-cli-apps-dd3c227a0e46
UX for Command Line Tools: https://blog.prototypr.io/ux-for-command-line-tools-4630eb0b3c9b
What shells support command line completion: https://en.wikipedia.org/wiki/Comparison_of_command_shells
Bash builtins for command line completion: https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html#Programmable-Completion-Builtins