Mr Bones 2.1.0 (Palimpsest)


Mr Bones version 2.1.0
by Tim P.
(the “Palimpsest” release)


Mr Bones is a handy tool that builds a skeleton for your new Ruby
The skeleton contains some starter code and a collection of rake tasks
ease the management and deployment of your source code. Mr Bones is not
viral – all the code your project needs is included in the skeleton (no
gem dependency required).


With my Mr Bones projects, I found myself constantly updating the tasks
as new
versions of Mr Bones were released. This quickly became annoying. Why
not use
the tasks from the Mr Bones gem and only copy those tasks to my own
when they are packaged and released? That is the goal of this release of

Version 2.1.0 of Mr Bones allows your projects to use the rake tasks
in the Mr Bones gem but still remain independent from Mr Bones when
deployed. This is accomplished by copying the rake tasks into your
only when it is packaged into a gem (or zip file or tarball).

You still have the option of copy the tasks to your local project when
it is
created. Or you can add tasks to your project at a later time.

So, if you have an exsiting project and you want to use the Mr Bones
simply delete your “tasks” folder and put the following at the top of

require ‘bones’
rescue LoadError
load ‘tasks/setup.rb’ # this line should already be there

  • 1 major enhancement
    • tasks can be used from the bones gem without having to create a
      “tasks” folder in each project you create
  • 2 minor enhancements
    • revmoved SVN $Id$ turds
    • Mr Bones is now included by default as a development dependency
  • 1 bug fix
    • changed the namespacing for the facets ANSICode class


  • sudo gem install bones


To create a new “Get Fuzzy” project:

bones get_fuzzy

If you ever get confused about what Mr Bones can do:

bones --help


Mr Bones provides the following rake tasks:

ann # Alias to ann:announcement
ann:announcement # Create an announcement file
ann:email # Send an email announcement
bones:debug # Show the PROJ open struct
clean # Remove any temporary products.
clobber # Remove any generated file.
doc # Alias to doc:rdoc
doc:rdoc # Build the rdoc HTML Files
doc:release # Publish RDoc to RubyForge
doc:rerdoc # Force a rebuild of the RDOC files
doc:ri # Generate ri locally for testing
gem # Alias to gem:package
gem:cleanup # Cleanup the gem
gem:debug # Show information about the gem
gem:install # Install the gem
gem:package # Build all the packages
gem:reinstall # Reinstall the gem
gem:release # Package and upload to RubyForge
gem:repackage # Force a rebuild of the package files
gem:uninstall # Uninstall the gem
git:create_tag # Create a new tag in the Git repository
git:show_tags # Show tags from the Git repository
manifest # Alias to manifest:check
manifest:check # Verify the manifest
manifest:create # Create a new manifest
notes # Enumerate all annotations
notes:fixme # Enumerate all FIXME annotations
notes:optimize # Enumerate all OPTIMIZE annotations
notes:todo # Enumerate all TODO annotations
spec # Alias to spec:run
spec:rcov # Run all specs with RCov
spec:run # Run all specs with basic output
spec:specdoc # Run all specs with text output
spec:verify # Verify that rcov coverage is at least 90.0%
test # Alias to test:run
test:rcov # Run rcov on the unit tests
test:run # Run tests for run

The rake tasks in the Mr Bones framework can be found in the “tasks”
directory. Add your own tasks there when you need more functionality.


Mr Bones does not have any “requirements”, but if you do not have the
following gems installed you will not get all that Mr Bones has to

  • rubyforge - for easy gem publishing to
  • rcov - for code coverage testing
  • rspec - if that’s the way you roll
  • facets - for pretty colors


A hen will lay one egg every 24 to 48 hours.