By contibuting to this project, you agree to abide by the thoughtbot Code of Conduct.
- Use 4-wide soft tabs.
- Semicolons are preffered at the end of statements (except block statements).
- Curly braces follow Java Style.
- Names for classes are in
PascalCase
, functions/fields incamelCase
, local names insnek_case
. - Prefer double quotes and template strings unless for particularity applied senarios.
- Commit early and often. You can squash it all later when you get ready to push to
origin
. - Sign your commits (
git commit -s
). If you have a GPG key, use that too (git commit -sS
)
Summaries:
- Capitalize commit summaries. They should be a max of 50 characters, no punctuation
- Write commit summaries in the imperative. (e.g.
Fix bug
, notFixed bug
) - Prefix the summary by a 'category' and a colon (e.g.
fix:
,generator:
,grammar:
, etc.)
Descriptons:
- Limit descriptions to 72ish characters per line. Seperate paragraphs with two newlines
- Write your descriptions in the past tense.
Example commit message:
documentation: Add CONTRIBUTING.md
Providing a guideline for contributing can help with maintaining consistency
throughout the repo. I added a CONTRIBUTING.md to further promote that.
Because of this, some things in the source code may need to be changed to
satisfy this, but obviously not our current commit messages because that would
take too long.
Signed-off-by: Sir Goat <[email protected]>
We recommend reading:
- Branch from
develop
or one if it's child branches. - Always pull request into
develop
. - Always squash when merging upstream. (Specify who merged if diff. from PR author)
- Delete merged branches. Consider GCing orphaned commits with
git gc --prune=now --aggressive
. - Branch names on the source repo (i.e. not on forks) should be prefixed by the type of change (
feature
,hotfix
,bugfix
) and a/
. The rest of the name is a very briefkebab-case
name in the imperative mood, e.g.documentation/add-contributing-guidelines
.