Contributing Guide
This guide will help you get started with Chatwoot! Thank you for taking an interest in contributing to Chatwoot. Before submitting your contribution, please make sure to take a moment and read through the following guidelines:
Getting Started
- Before starting your work, ensure an issue exists for it. If not, feel free to create one. You can also take a look into the issues tagged Good first issues.
- Add a comment on the issue and wait for the issue to be assigned before you start working on it.
- This helps to avoid multiple people working on similar issues.
- If the solution is complex, propose the solution on the issue and wait for one of the core contributors to approve before going into the implementation.
- This helps in shorter turn around times in merging PRs.
- For new feature requests, provide a convincing reason to add this feature. Real-life business use-cases will be super helpful.
- Feel free to join our discord community, if you need further discussions with the core team.
Pull Request Guidelines
- Please make sure that you have read the issue triage guidelines before you make a contribution.
- We use git-flow branching model. The base branch is
develop
. - Please raise your PRs against
develop
branch. - It's okay and encouraged to have multiple small commits as you work on the PR - we will squash the commits before merging.
- For other guidelines, see PR Guidelines.
- Ensure that all the text copies that you add into the product are i18n translatable. You are only required to add the
English
version of the strings. We pull in other language translations from our contributors on crowdin. See Translation guidelines to learn more.
Developing a new feature:
- Create a branch in the following format:
feature/<issue-id>-<issue-name>
(eg:feature/235-contact-panel
) - Add accompanying test cases.
Bug fixes or chores:
- If you are resolving a particular issue, add
fix: Fixes xxxx
(#xxxx is the issue) in your PR title. - Provide a detailed description of the bug in the PR.
- Add appropriate test coverage if applicable.
Environment Setup for local development
These guides will help you set up the environment required for Chatwoot. Follow the guides based on the operating system you use.
Project Setup
Now that you have set up the environment as mentioned above, use the following guides to set up Chatwoot on your local machine: