Want to show Sinatra some love? Help out by contributing!
Find a bug?
Log it in lighthouse by creating a new ticket or send a note to the mailing list. Be sure to include all relevant information, like the versions of Sinatra and Ruby you're using. A gist of the code that caused the issue as well as any error messages are also very helpful.
The Sinatra mailing list has over 250 subscribers, many of which are happy to help out newbies or talk about potential feature additions. You can also drop by the #sinatra channel on irc.freenode.net.
Have a patch?
Bugs and feature requests that include patches are much more likely to get attention. Here are some guidelines that will help ensure your patch can be applied as quickly as possible:
Write unit tests: If you add or modify functionality, it must include unit tests. If you don't write tests, we have to, and this can hold up acceptance of the patch.
README: If the patch adds or modifies a major feature, modify the
README.rdocfile to reflect that. Again, if you don't update the
README, we have to, and this holds up acceptance.
Push it: Once you're ready, push your changes to a topic branch and add a note to the ticket with the URL to your branch. Or, say something like, "you can find the patch on johndoe/foobranch".
NOTE: we will take whatever we can get. If you prefer to attach diffs in emails to the mailing list, that's fine; but do know that someone will need to take the diff through the process described above and this can hold things up considerably.
Want to write docs?
The process for contributing to Sinatra's website or documentation is the same as contributing code. We use git for versions control and lighthouse to track patch requests.
The sinatra.github.com repo is where the website sources are managed. There are almost always people in
#sinatrathat are happy to discuss, apply, and publish website patches.
Looking for something to do?
If you'd like to help out but aren't sure how, take a look at the High Priority / Needs Owner ticket bin. This is a list of issues planned for the next release that do not currently have an assignee. If you find something that looks interesting, leave a comment on the ticket noting that you're investigating (a simple "Taking..." is fine). Once you've worked a few issues, someone will add you as an assignee.