Lately I've been working on tools development on my new company: raylib technologies.
All tools have a GUI but most of them are primary intended to work from command line to process data, so, I was investigating "standard" command line designs.
Surprisingly, there is not a clear standard and lots of command lines out there are difficult to read and understand, not to mention that most GUI tools lack a proper command line. I analyzed several tools, in my opinion, with a quite good CLI, to design my own standard for my tools suite.
I focused on arguments-options-parameters passing style but also information organization when shown to the user (spacing, indentation...). Here it is an infography with my investigation:
rFXGen tool is my testing tool for command line implementation.
There are some things that still do not convince me, like the parameters passing for --format option:
-f, --format <sample_rate> <sample_size> <channels> : Format output wave.
Any feedback on command line design is very welcome!