I recently submitted my first patch to Rubinius and was quite amazed at how simple it was. If you're looking for a cool Ruby project to contribute to, Rubinius is the one.
Fork the project and git clone your fork.
Build the project and run the tests.
If anything goes wrong, head to the internets! Alternatively, check out #rubinius on Freenode.
There is a list of specs that fail when run under 1.9.2, which is a great place to find stuff to work on.
To get a list of these specs, run the following command:
bin/mspec tag --list fails -tx19 :ci_files
- Find a failing spec that looks interesting.
Run the tests for that method.
For example, my first patch involved Kernel#puts. To run the specs I ran the following command:
Notice how I'm executing rake build first? You have to do a build before running any tests if you've changed any code.
rake build && ./bin/mspec -tx19 spec/ruby/core/kernel/puts_spec.rb
- Fix the code! This part will obviously be different depending on the code you're changing, so if you're having problems check out #rubinius on Freenode.
Mark the failing test as passing:
This command should run the tests, and remove and tests that are passing.
./bin/mspec tag --del fails -tx19 core/kernel/puts
Do a full `rake` before pushing your code to make sure you haven't broken anything else.