Airline is a Java library that makes it easy to build powerful command line applications. It supports both
single commands, and multi-command git
style CLIs. It is designed to minimise boilerplate
code, being predominantly annotation driven, thus allowing developers to focus on application logic, not on
how they parse their command line arguments.
I first encountered the original version of Airline in use in a competitors product around 2012, and quickly started experimenting with using it in my employers products as it provided such a nice command line user experience, and was much nicer for developers. However, there were some deficiencies which the original authors were not willing to accept PRs for as they had moved onto other projects. Therefore I forked this library and have been maintaining my own substantially enhanced fork since 2014.
An extensive user guide is available on the Airline website.
I've also previously run a workshop session on this - Building a Killer Command Line Application with Airline - that is also available on the project website.
Airline is a Java library distributed with Maven, follow the User Guide for how to obtain and use the library.
Source Code for the library may be obtained from the GitHub repository.