Seven Habits of Highly Effective Gems

These days, writing a Ruby gem is incredibly easy, but writing a good one isn’t. I recently flew down to San Antonio to give a talk at RubyConf on specific ways that gem authors can make their users and contributors happy. Happy users means more traction for your library, which means more bug reports, more contributions, and, most importantly, more fame for you as the library author.

The habits cover a range of concerns, from documentation (make sure your Quick Start is incredibly short, and your README is incredibly long) to code design (use a layered architecture to enable your users to use your software in ways you didn’t expect) to ease of contribution (use Bundler and Vagrant to give your contributors a turnkey test environment).

After the talk, Austin Ziegler, maintainer of the mime-types and diff-lcs gems, told me that it was a good talk and I only got two things wrong. This number was later revised to three.

Enjoy the whole talk here:


Posted on November 25, 2015 .