The Nine Facets of an Awesome Command-Line App
April 01, 2012
When creating the outline for my book (now officially published and in print!), I decided to organize it around the nine facets of an awesome command-line app. Each chapter focuses on one of these facets. They state that an awesome command-line app should:
- have a clear and concise purpose
- be easy to use
- be helpful
- play well with others
- delight casual users
- make configuration easy for advanced users
- install and distribute painlessly
- be well-tested and as bug free as possible
- be easy to maintain
In this post, I’ll illustrate each of these facets (along with a test of the tenth chapter on color and formatting), via a code walkthrough of a simple command-line app I created for work.