---
title: "Participate in Rocket Chat Development"
slug: "participate-in-rocketchat-development"
description: "Learn how to participate in Rocket Chat development. Contribute secure code, report issues, and collaborate with the community."
updated: 2025-06-27T07:22:12Z
published: 2025-06-27T07:22:12Z
canonical: "developer.rocket.chat/participate-in-rocketchat-development"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Participate in Rocket.Chat Development

We're thrilled that you're interested in contributing to Rocket.Chat! Your help is invaluable to us, whether you're a seasoned open-source contributor or just starting out. If you're new to the open-source world, we recommend starting with [GitHub's comprehensive guide](https://opensource.guide/how-to-contribute/) to familiarize yourself with the basics. And if it's your first time contributing to Rocket.Chat, please go through our [Code of Conduct](/v1/docs/code-of-conduct) and [contribution process](/v1/docs/code-review-process).

## Getting started

Our projects are readily available for you to explore and contribute to. You can find them [here](https://github.com/RocketChat). Once you've found a project that piques your interest, navigate to the **Issues** tab. If you come across an issue you'd like to work on, simply leave a comment. We'll mark you as the **Assignee** to the issue and add an [In Progress label](https://github.com/RocketChat/Rocket.Chat/labels/stat%3A%20in%20progress).

If you're already working on a pull request for a particular issue, you can link the issue to your pull request. Alternatively, you can write `Closes #ISSUE_NUMBER` in your comment, where the `ISSUE_NUMBER` is the number at the end of the issue's URL.

**Assigned issues**: You may notice that some issues already have an assignee. These are trusted individuals, often core team members, who are responsible for resolving the issue. However, this doesn't mean you can't contribute! All issues are open for contribution, and any help is greatly appreciated. We encourage you to work on any issue that interests you and share your progress with the community in the comments.

Remember, multiple people can work on the same issue, so don't be discouraged from tackling an issue you're passionate about.

> If you're looking for a simple task to get started, check out our [easy tasks](https://github.com/RocketChat/Rocket.Chat/labels/contrib%3A%20easy) or search for issues tagged with `contrib:easy`.

> [!TIP]
> You can find a detailed guide on [development environment setup](/open-source-projects) here.

## Languages

To maintain consistency and readability across the project, Rocket.Chat has established specific coding conventions and formatting rules.

- Rocket.Chat primarily uses [Visual Studio Code](https://code.visualstudio.com/) (VSCode) as its text editor of choice due to its wide usage and versatility. To ensure uniformity in code formatting, Rocket.Chat employs the [Prettier plugin](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode). As long as you use it, the code style will be automatically adhered to Rocket.Chat standards. Specific language configurations are in [.editorconfig](https://github.com/RocketChat/Rocket.Chat/blob/develop/.editorconfig).

> We provide a [prettier config](https://github.com/RocketChat/Rocket.Chat/blob/develop/.prettierrc) and [eslint config](https://github.com/RocketChat/Rocket.Chat/blob/develop/apps/meteor/.eslintrc.json) in our repos, so as long as those plugins are installed on your editor, code style will be automatically followed

- **TypeScript**: ESLint is responsible for formatting all JavaScript and TypeScript code. Rocket.Chat has transitioned to using only TypeScript (`.ts`) files in its codebase. Conventions for TypeScript, React, and Components are specified in the Fuselage [conventions](/v1/docs/conventions), ensuring that all contributors follow the same standards.
- **Go**: For code written in Go, the [gofmt](https://pkg.go.dev/cmd/gofmt) formatter should be used to ensure proper formatting.
- **Shell Script**: For Shell-related code, the [shfmt](https://github.com/mvdan/sh) formatter should be used.

These formatters help maintain a consistent style across different languages used in the Rocket.Chat codebase.

Contributing to Rocket.Chat involves more than just writing code; it's about adhering to established conventions and maintaining a consistent style across the project. By using tools like VSCode, Prettier, ESLint, gofmt, and shfmt, developers can ensure their contributions align with the existing codebase. This consistency not only makes the code easier to read and understand but also facilitates collaboration among contributors from around the world.

Now that you're ready to contribute, it's time to understand our development process. Visit the [development workflow](/v1/docs/development-workflow) guide to learn about issue prioritization, pull request approval, and more. This guide will help you navigate your journey as a contributor to Rocket.Chat. Happy coding!
