dotfiles/CONTRIBUTING.md

150 lines
4.2 KiB
Markdown

# Contributing
- [Code Of Conduct](#code-of-conduct)
- [Submission Guidelines](#submission-guidelines)
- [Commit Message Guidelines](#commit-message-guidelines)
## Code Of Conduct
As contributors and maintainers of the project, we pledge to respect everyone who contributes by posting issues,
updating documentation, submitting pull requests, providing feedback in comments and any other associated project
activities.
### Principles
- Be constructive
- Be positive
- Be respectful
- Be courtesy
- Be honest
- Be trustworthy
- Never resort to personal attacks
- Never troll
- Never publicly or privately harass
- Never insult
### Violations
If a community member associated to the project violates this code of conduct, the maintainers of the project may take
appropriate actions as deemed necessary. Such actions maybe but not limited to, removing issues, comments, public
relations and/or blocking accounts.
### Feedback
If you are subject to or witness of unacceptable behavior or have any other
concerns, please contact us.
## Submission Guidelines
### Submitting An Issue
- All issues must be submitted using GitLab issues.
- Search first before creating an issue.
- Preview the issue to ensure it is rendering as intended.
- Be as descriptive as possible.
- Provide steps required to re-produce.
- Utilize the provided form fields.
- Attach necessary reference documents (error messages, screenshots, sample
data, logs, etc.).
- **Do Not** submit or reply to an issue outside of GitLab.
- **Do Not** submit multiple issues within one submission.
- **Do Not** duplicate an issue.
### Commenting On A Issue
- **Do Not** comment on a issue outside of GitLab.
- Stay on topic per the issue description.
### Issue Closure
Valid reasons for closing an issue:
- Duplicate issue.
- A reference to the duplicate must be added before closure.
- Lacks enough information to re-produce.
- No longer relevant.
- Off topic.
- Resolved.
- Multiple issues within the submission.
- Will not be resolved.
- Provide a reason that this issue will not be resolved.
### Issue Re-Opening
- Reasons for re-opening:
- Issue has not been resolved.
- A detailed comment is required.
- **Do Not** re-open an issue that was closed more than 2 months ago. Instead
Create a new issue.
## Commit Message Guidelines
Git commit messages must adhere to a specific format. This is done to ensure
good communication, consistency and readability.
### Commit Message Format
Each commit message consists of three properties as shown below.
Property | Sub-Property | Character Limit | Mandatory
---------|---------------|-----------------|----------
header | type, subject | 100 | True
body | | 100 | False
footer | | 100 | False
Structure
```
<type>: <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
```
#### Type
Use one of the following applicable type.
- build
- Changes that affect the build system or external dependencies.
- ci
- Changes continuous integration (CI) configuration files and scripts.
- docs
- Documentation only changes.
- feat
- A new feature.
- fix
- A bug fix.
- perf
- A code change that improves performance.
- refactor
- A code change that neither fixes a bug nor adds a feature.
- revert
- When commit reverts a previous commit.
- style
- Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.).
- test
- Adding or modifying tests.
#### Subject
- Be concise description of the change.
- Use the imperative, present tense: "change" not "changed" nor "changes".
- Do not capitalize the first letter.
- No period/dot (.) at the end.
#### Body
- Use the imperative, present tense: "change" not "changed" nor "changes".
- Include the motivation for the change and contrast this with previous
behavior.
- If commit type is **revert**, in the body state `This reverts commit <hash>`.
The `<hash>` is the hash value of the commit being reverted.
#### Footer
- Reference GitLab issue(s) that the commit closes.
- State breaking changes.
- Breaking changes start with **BREAKING CHANGE:** with a space or two
newlines. Following is the description of change, motivation for change and migration notes.