Generally, Finch follows a standard fork and pull model for contributions via GitHub pull requests. Thus, the contributing process looks as follows:
Finch follows the Effective Scala 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
Finch uses ScalaTest with the following settings:
- Every test should be a
FlatSpec
withMatchers
mixed in - An assertion should be done with
x shouldBe y
- Exceptions should be intercepted with
an [Exception] should be thrownBy x
Write clean and simple docs in the docs.md
file.
- PR should be submitted from a separate branch (use
git checkout -b "fix-123"
) - PR should contain only one commit (use
git commit --amend
andgit --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
)