Skip to main content

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 exist 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, please refer to 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 the other language translations from our contributors on crowdin. Ref Translation guidelines to learn more.

Developing a new feature:

  • Please create the branch in the 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 to setup the environment required for Chatwoot. Follow the guide based on the operating system you use.

Project Setup

Now, that you have completed the environment as mentioned above, use the following guides to setup Chatwoot on your local machine.