Edit on GitHub

Contribute code to Mattermost

This site is for developers who want to contribute code to the core Mattermost project. If you’re looking for other ways to contribute, head over to our website. Before getting started, it’s a good idea to review our guide on integrating and extending Mattermost because you might be able to build the improvements you want without needing to contribute them upstream.

Technical overview 

The Mattermost core repositories include:

  • Server - Highly-scalable Mattermost installation written in Go
  • Web App - JavaScript client app built on React and Redux
  • Mobile Apps - JavaScript client apps for Android and iOS built on React Native
  • Desktop App - An Electron wrapper around the web app project that runs on Windows, Linux, and macOS
  • Core Plugins - A core set of officially-maintained plugins that provide a variety of improvements to Mattermost.
  • Core Integrations - Major Mattermost features including Focalboard and Playbooks.

Improvements to Mattermost may require you to contribute to multiple projects; if you’re unsure where to start, the server repository is generally the best way to get introduced to the codebase.

How to contribute code 

If you’re looking for an existing issue to help with, check out the help wanted tickets on GitHub. If you see any that you’re interested in working on, comment on it to let everyone know you’re working on it. If there’s no ticket for what you want to contribute, see our guide on contributing without a ticket.

Once you’ve created some code that you want to contribute, follow our pull request checklist to submit your contribution for review, and one of our core committers will reach out with any feedback, questions, or requests they have.

How to get help with your contribution 

Our contributor community is segmented into guilds that focus on specific components within the Mattermost ecosystem. Each guild has a leader and a channel on our community chat server where you can ask questions about your contribution.

Did you find what you were looking for?

Thank you! We appreciate your feedback.
×

Tell us more

Your feedback helps us improve the Mattermost developer documentation.

Have a feature request? Share it here.

Having issues? Join our Community server.