Since the gem ecosystem keeps changing, and since I don’t write new programs very often, here’s a list of my favorite gems for developing command-line interface tools.
Option parsing gem: slop. (Since micro-optparse looks moribund; see here.) But (looking at programs I’ve written) I also seem to like
trollop, a/k/a optimist. But I also like the fine-grained control of OptionParser.
Debugging output (not the same as logging): pastel
Invoking system functions gem: tty-command. (See also tty-config and tty-file.) But sadly, tty-command (or how I’ve used it) gets me warnings that bellyache about the 2.7 named argument splat problem.
Wrapper for ImageMagick: About a decade ago, I couldn’t get RMagick (rubymagick?) to compile and I’ve never gotten around to checking back. For awhile I used
%x<convert ...> or whatever, but now, if I’m working with images, I’ve sometimes found mini-magick helpful.
Proper Capitalization of Text Strings That Are Titles: titleize.
Parsing Biblical references (e.g., Romans 8:39 and Genesis 12:1-4): pericope.
Plus Kramdown and HAML and SASS (which is no longer written in Ruby).