Ruby is a fantastic language for writing command line tools. String interpolation and regex are great on it, easy to use OO principles as well as functional principals, etc. Definitely going to be writing wrappers over some of my favorite unix commands with this!
A great toolkit -- there's a bunch of goodies here, but tty-table is amazing, from the sensible API to the configurable ASCII to Unicode renderer. It compares favorably with Hirb, the only other library I know of that draws console tables and supports Unicode box drawing characters.
The progress bar gem looks pretty nice. I've been using the similar <a href="https://github.com/toy/progress" rel="nofollow">https://github.com/toy/progress</a> for a long time and it's super useful.<p>One thing I prefer about progress is that the default config includes an ETA, which is generally the thing I care most about. It's interface is also a little nicer. It's really nice to have an estimate on when a script might complete, so I know if I have to optimize it or if I can just leave it running for a while.
I wonder how easy it is to port all those libraries to mruby's mrbgems, so we can easily pack the Ruby-based CLI program as a single binary to get Go-like benefits.
What does everyone suggest for command-line options parsing? This seems to be missing from the gemset and I've never found any of the existing solutions to be very intuitive.
Looks promising -- definitely a lot of work went into it. The closest other gem I know of is Ruby ANSI (<a href="http://rubyworks.github.io/ansi/#" rel="nofollow">http://rubyworks.github.io/ansi/#</a>)
Not sure if it's welche here, but I wrote a Seminar lib for PHP:<p><a href="https://github.com/grothkopp/PHPCliWrapper" rel="nofollow">https://github.com/grothkopp/PHPCliWrapper</a>
Ruby apps are by far the most time consuming to configure and install. Nothing is simple. Nothing just works.<p>The whole idea of exposing end users to your apps's depencies and compilation is a broken user hostile model. The potential rabbit hole of versions incompatibilities and mismatches is a time sink that cannot be justified.<p>Go is by far the simplest hassle free deploy followed by PHP and Python. For a unix command line tool that seeks a userbase beyond Ruby users Go or Python would be the most user friendly choice.