Rocket.Chat encourages contributions from developers worldwide. One of the primary ways to contribute is through pull requests (PRs). PRs are a critical part of maintaining and improving the software, and they can range from bug fixes to the addition of new features. However, it's essential to follow specific guidelines when submitting a PR to ensure clarity and ease of understanding for the reviewers.
This guide provides a succinct overview of the best practices for creating PRs for Rocket.Chat.
When contributing to Rocket.Chat, it's crucial to choose the right PR tag to describe your work accurately. These tags can include:
feat|fix|ci|chore|docs|test|refactor|i18n|regression|revert
Here's a brief explanation of each:
PR Tag | Used when | Method | Bad example | Good example |
---|---|---|---|---|
| Use this tag when adding a new feature that is significant to the end-user. |
|
|
|
| This tag is for fixing something not working or behaving incorrectly from the end-user perspective. | The title should describe what's being fixed, not how it was fixed. |
|
|
| Use this for small tasks such as changing a function name or something very quick that doesn't fit in another category. | The title should describe what's being changed, not how it was changed. |
|
|
| This tag is for documentation such as README.md files, and other markdown and instruction files that bring value to the community. | The title should describe what's being changed, not how it was changed. |
| |
| Use this for a code refactor that doesn't change behavior (it doesn't add anything and doesn't fix anything) such as converting a JavaScript file to TypeScript. |
| ||
| This tag is for changes that update or add a CI configuration. |
| ||
| This tag is for adding tests. |
| ||
| Use this for updating or adding any translations. |
| ||
|
|
|
Contributing to Rocket.Chat through pull requests is a valuable way to improve the platform and engage with the open-source community. By following these guidelines for PR tags, contributors can ensure their work is understood and appreciated by the Rocket.Chat team and the broader community.
Remember, the key is to describe what's being changed, fixed, or added, not how it was done. Happy contributing!