GShell is a framework for building richcommand-line applications. The core of GShell provides the basic features needed by most commands, such as command-line argument/option processing, input/output redirection, preferences handling, ANSI support and a whole lot more.
Size matters when considering a library or framework to be used for the building blocks of an application and for this reason, the core of GShell strives to stay as small as possible, current weighing in at around 1.5 megabytes. Of course if you want some of the more fancy bits, like BSF scripting or remote shell support then things get a wee bit fatter obviously. But the beauty of GShell is you can just include the commands you want and omit those you don't, no trouble no fuss, and the framework dependencies can be kept as slim as desired.
GShell can be used to implement applications similar to cvs or svn or can be used as the bootstrap launcher for much more complex applications, like Apache Geronimo.
Features at a Glance
Dynamic command/plugin discovery
Rich JLine console for line editing, history, input masking and tab-completion