--- layout: page title: Contributing ---
# "How To Contribute":#contributing # "Building From Source":#building # "Documentation":#doc # "Open Issues":#open
By all means. h3(#contributing). How To Contribute Pick on an "open issue":http://github.com/assaf/vanity/issues, "experimental feature":experimental.html, suggestion from the "Google Group":http://groups.google.com/group/vanity-talk, or whatever you feel like contributing. To contribute new code/changes: # "Fork the project":http://github.com/assaf/vanity # Please use a topic branch to make your changes, it's easier to test them that way # Fix, patch, enhance, document, improve, sprinkle pixie dust # Tests. Please. Run @rake@ and if possible CI (see below) # Send a pull request on GitHub Bonus points for helping improve the documentation, writing some examples, and adding more test coverage. h3(#building). Building From Source Vanity is tested against multiple Ruby implementations, and a variety of database engines. To make life easier, we use "RVM":http://rvm.beginrescueend.com/ and "Bundler":http://gembundler.com/ to set up the test/development environment. To test Vanity for the first time under whichever Ruby implementation you're currently using:
$ rake test:setup
$ rake
To test Vanity with specific database adapter:
$ rake DB=redis
$ rake DB=mongodb
$ rake DB=mysql
Before making a release, we run the full test suite against multiple Ruby VMs and using multiple database adapters. Doing this on your own is easier than it sounds: # "Fork the project":http://github.com/assaf/vanity # Go to "Travis CI":http://travis-ci.org/, setup a new account if you don't already have one # "In your profile page":http://travis-ci.org/profile, tell Travis to build your fork # @git push@ your changes into your fork and "watch Travis":http://travis-ci.org/ run the tests To package Vanity as a gem and install on your machine:
$ rake install
h3(#doc). Documentation Documentation is written in "Textile":http://redcloth.org/textile/writing-paragraph-text/, and converted to HTML using "Jekyll":http://jekyllrb.com/. API reference is "RDoc":http://rdoc.sourceforge.net/doc/index.html, converted to HTML using "Yardoc":http://yardoc.org/. To build and view documentation:
$ rake docs
$ open html/index.html
To clean up after yourself:
$ rake clobber
h3(#open). Open Issues