This module makes it very easy to have a working prototype shell application running within a few minutes.
My only nitpicks are that it expects methods to have names that match their commands (e.g. run_command) rather than using an initialization method, and that the the summary/help/execution functions for each command are separate functions. But these are minor.
There's a few other things I'd like, such as password input methods (esp. one that works with Term::ReadLine::Perl), and better documentation on how/where to save data for my method in a way that won't interfere with the internals of Term::Shell.