We will do all that we can to keep the productivity of ourselves, and others, as high as possible -- Uncle Bob
These guidelines are based on Building a strong community Github documentation and intend to promote a better collaboration.
- Issue & Pull Request Template
- Git Commit Messages
- Milestone
- Label
- CHANGELOG
- CONTRIBUTING.md
- Resources
Issue and pull request templates should drive reporters to give all the necessary information to help reviewers.
Import the pull request template and issue template into .github
folder in your repository root directory.
Multiple issue templates are prefered over single issue templates in order to specify required information for each type of issue.
Import the following issue templates into .github/ISSUE_TEMPLATE/
folder in your repository root directory:
Issue and pull request templates should contains title (h2) and description using html comment.
Preferred:
## Description
<!-- A clear and concise description of what the bug is. -->
## How to reproduce it
<!-- Steps to reproduce the behavior. -->
...
Not Preferred:
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
...
Templates should promote a high contribution quality by referring contributing guidelines.
Preferred:
> Please fill out this template when filing an issue. It is based on [Excelsior Family Github guidelines](https://github.com/ExcelsiorFamily/github-guidelines).
>
> This template intends to describe a bug report. If you are describing a non existing feature, please use the [feature request template](https://github.com/ExcelsiorFamily/github-guidelines/issues/new?template=feature-request.md).
* [ ] I've read, understood, and done my best to follow the [CONTRIBUTING guidelines](/CONTRIBUTING.md).
## Description
<!-- A clear and concise description of what the bug is. -->
## How to reproduce it
<!-- Steps to reproduce the behavior. -->
...
Not Preferred:
## Description
<!-- A clear and concise description of what the bug is. -->
## How to reproduce it
<!-- Steps to reproduce the behavior. -->
...
Git commit messages should help reviewers to do better reviews.
Short commit messages should help reviewers to quickly understand what has been done. It should be short, clear and written at the present tense and imperative mood.
Preferred:
- Add get user feature.
- Update navigation storyboard.
Not Preferred:
- Added get user feature.
- Updates navigation storyboard.
Referencing issue in git commit messages should help anyone to track progress on a specific issue. Git commit messages should always reference issues at the end.
Preferred:
- Improve cache management. Related to #42.
- Remove unused ViewController method. Related to #1024.
Not Preferred:
- Improve cache management.
- #1024 Remove unused ViewController method.
Emojis should help reviewers to quickly and visually identify the nature of the commit. For clear visual identification start the commit message with an applicable emoji:
- 🎨
:art:
when improving the format/structure of the code - 🐎
:racehorse:
when improving performance - 🚱
:non-potable_water:
when plugging memory leaks - 📝
:memo:
when writing docs - 🐛
:bug:
when fixing a bug - 🔥
:fire:
when removing code or files - 💚
:green_heart:
when fixing the CI build - ✅
:white_check_mark:
when adding tests - 🔒
:lock:
when dealing with security - ⬆️
:arrow_up:
when upgrading dependencies - ⬇️
:arrow_down:
when downgrading dependencies - 👕
:shirt:
when removing linter warnings