diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..f83a51559 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,34 @@ +Generally, Finch follows a standard [fork and pull][0] model for contributions via GitHub pull requests. Thus, the +_contributing process_ looks as follows: + +1. [Write code](#write-code) +2. [Write tests](#write-tests) +3. [Write docs](#write-docs) +4. [Submit a PR](#submit-a-pr) + +## Write Code +Finch follows the [Effective Scala][1] code style guide. When in doubt, look around the codebase and see how it's done +elsewhere. + +* Code and comments should be formatted to a width no greater than 120 columns +* Files should be exempt of trailing spaces + +## Write Tests +Finch uses [ScalaTest][2] with the following settings: + +* Every test should be a `FlatSpec` with `Matchers` mixed in +* An assertion should be done with `x shouldBe y` +* Exceptions should be intercepted with `an [Exception] should be thrownBy x` + +## Write Docs +Write clean and simple docs in the `docs.md` file. + +## Submit a PR +* PR should be submitted from a separate branch (use `git checkout -b "fix-123"`) +* PR should contain only one commit (use `git commit --amend` and `git --force push`) +* PR should not decrease the code coverage more than by 1% +* PR's commit message should use present tense and be capitalized properly (i.e., `Fix #123: Add tests for RequestReader`) + +[0]: https://help.github.com/articles/using-pull-requests/ +[1]: http://twitter.github.io/effectivescala/ +[2]: http://www.scalatest.org/ diff --git a/README.md b/README.md index 8005c8017..488927469 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ Documentation Contacts -------- -* Use a Gitter room for questions like _"How do I ..."_ [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/finagle/finch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +* Most of the discussions and announcements are happen at [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/finagle/finch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Adopters -------- @@ -71,6 +71,16 @@ Adopters * [Sabre Labs](http://sabrelabs.com) * *Submit a pull-request to include your company/project into the list* +Contributing +------------ + +There are plenty of ways to contribute into Finch: + +* Give it a star +* Join the [Gitter](https://gitter.im/finagle/finch) room and leave a feedback or help with answering users' questions +* [Submit a PR](CONTRIBUTING.md) +* Be cool and wear a [Finch T-Shirt](http://www.redbubble.com/people/vkostyukov/works/13277123-finch-io-rest-api-with-finagle?p=t-shirt) + License -------