mirror of
https://github.com/sinatra/sinatra
synced 2023-03-27 23:18:01 -04:00
Add contributing guide
This is essentially a straight copy from the documentation, but I updated the list of available languages.
This commit is contained in:
parent
f763e62819
commit
2ea4612d08
1 changed files with 100 additions and 0 deletions
100
CONTRIBUTING.md
Normal file
100
CONTRIBUTING.md
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
# Contribute
|
||||||
|
|
||||||
|
Want to show Sinatra some love? Help out by contributing!
|
||||||
|
|
||||||
|
## Find a bug?
|
||||||
|
|
||||||
|
Log it in our [issue tracker][ghi] or send a
|
||||||
|
note to the [mailing list][ml].
|
||||||
|
Be sure to include all relevant information, like the versions of Sinatra and
|
||||||
|
Ruby you're using. A [gist](http://gist.github.com/) of the code that caused
|
||||||
|
the issue as well as any error messages are also very helpful.
|
||||||
|
|
||||||
|
## Need help?
|
||||||
|
|
||||||
|
The [Sinatra mailing list][ml] has over 900 subscribers, many of which are happy
|
||||||
|
to help out newbies or talk about potential feature additions. You can also drop by
|
||||||
|
the [#sinatra](irc://chat.freenode.net/#sinatra) channel on
|
||||||
|
[irc.freenode.net](http://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:
|
||||||
|
|
||||||
|
1. **Use [Git](http://git-scm.com) and [GitHub](http://github.com):**
|
||||||
|
The easiest way to get setup is to fork the
|
||||||
|
[sinatra/sinatra repo](http://github.com/sinatra/sinatra/).
|
||||||
|
Or, the [sinatra.github.com repo](http://github.com/sinatra/sinatra.github.com/),
|
||||||
|
if the patch is doc related.
|
||||||
|
|
||||||
|
2. **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.
|
||||||
|
|
||||||
|
3. **Mind the `README`:** If the patch adds or modifies a major feature,
|
||||||
|
modify the `README.md` file to reflect that. Again, if you don't
|
||||||
|
update the `README`, we have to, and this holds up acceptance.
|
||||||
|
|
||||||
|
4. **Update the Changelog (`CHANGES`):** The changelog helps give an
|
||||||
|
overview of the changes that go into each release, and gives credit
|
||||||
|
where credit is due. We make sure that the Changelog is up to date
|
||||||
|
before each release, and we always appreciate it when people make
|
||||||
|
it easier to get the release out the door.
|
||||||
|
|
||||||
|
5. **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". We also
|
||||||
|
gladly accept GitHub [pull requests](http://help.github.com/pull-requests/).
|
||||||
|
|
||||||
|
__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, documentation or the book
|
||||||
|
is the same as contributing code. We use git for versions control and
|
||||||
|
GitHub to track patch requests.
|
||||||
|
|
||||||
|
* [The sinatra.github.com repo](http://github.com/sinatra/sinatra.github.com/)
|
||||||
|
is where the website sources are managed. There are almost always people in
|
||||||
|
`#sinatra` that are happy to discuss, apply, and publish website patches.
|
||||||
|
|
||||||
|
* [The Book](http://sinatra-book.gittr.com/) has its own [git
|
||||||
|
repository](http://github.com/sinatra/sinatra-book/) and build process but is
|
||||||
|
managed the same as the website and project codebase.
|
||||||
|
|
||||||
|
* [Sinatra Recipes](http://recipes.sinatrarb.com/) is a community
|
||||||
|
project where anyone is free to contribute ideas, recipes and tutorials. Which
|
||||||
|
also has its own [git
|
||||||
|
repository](http://github.com/sinatra/sinatra-recipes).
|
||||||
|
|
||||||
|
* [The Introduction](http://www.sinatrarb.com/intro.html) is generated from
|
||||||
|
Sinatra's [README file](http://github.com/sinatra/sinatra/blob/master/README.md).
|
||||||
|
|
||||||
|
* If you want to help translating the documentation, the README is already available in
|
||||||
|
[Japanese](http://github.com/sinatra/sinatra/blob/master/README.ja.md),
|
||||||
|
[German](http://github.com/sinatra/sinatra/blob/master/README.de.md),
|
||||||
|
[Chinese](https://github.com/sinatra/sinatra/blob/master/README.zh.md),
|
||||||
|
[Russian](https://github.com/sinatra/sinatra/blob/master/README.ru.md),
|
||||||
|
[European](https://github.com/sinatra/sinatra/blob/master/README.pt-pt.md) and
|
||||||
|
[Brazillian](https://github.com/sinatra/sinatra/blob/master/README.pt-br.md) Portugese,
|
||||||
|
[French](https://github.com/sinatra/sinatra/blob/master/README.fr.md),
|
||||||
|
[Spanish](https://github.com/sinatra/sinatra/blob/master/README.es.md),
|
||||||
|
[Korean](https://github.com/sinatra/sinatra/blob/master/README.ko.md), and
|
||||||
|
[Hungarian](https://github.com/sinatra/sinatra/blob/master/README.hu.md).
|
||||||
|
The translations tend to fall behind the English version. Translations into other
|
||||||
|
languages would also be appreciated.
|
||||||
|
|
||||||
|
## Looking for something to do?
|
||||||
|
|
||||||
|
If you'd like to help out but aren't sure how, pick something that looks
|
||||||
|
interesting from the [issues][ghi] list and hack on. Make sure to leave a
|
||||||
|
comment on the ticket noting that you're investigating (a simple "Taking..."
|
||||||
|
is fine).
|
||||||
|
|
||||||
|
[ghi]: http://github.com/sinatra/sinatra/issues
|
||||||
|
[ml]: http://groups.google.com/group/sinatrarb/topics "Sinatra Mailing List"
|
Loading…
Reference in a new issue