Jeweler provides a generator of sorts, jeweler. It requires only argument, the name of a repo you want to create. It also takes a few options: --shoulda and --bacon. These control what type of tests are created, with the default being shoulda.

$ jeweler --create-repo the-perfect-gem

Basically, this does:

Creates the the-perfect-gem directory

Seeds it with some basic files:

.gitignore, with the usual suspects predefined

Rakefile, setup with tasks for jeweler, test, rdoc, and rcov

README, with your project name

LICENSE, MIT, with your name prefilled

test/test_helper, setup with shoulda, mocha, and a re-opened Test::Unit::TestCase

test/the_perfect_gem.rb, placeholder failing test

lib/the_perfect_gem.rb, placeholder library file

Makes it a git repo

Sets up git@github.com:johndoe/jeweler.git as the origin git remote

Makes an initial commit

Sets up a new repository on GitHub and pushes to it (omit --create-repo to skip this)