Contribution Guidelines
This page contains the guidelines for contributing to Revolt on Android. These guidelines are important to ensure that your contribution is accepted and merged into the main codebase.
Before You Start
- Make sure you have read the Code of Conduct before contributing. You must follow it at all times.
Before you start contributing, you first need to know what to contribute. Based on that, you must make a decision:
I want to fix a bug
If you are fixing a bug, you must follow these guidelines:
- Make sure the bug is reproducible and affects a wide variety of users.
- The root cause of the bug must be the Android app itself, not the server or the API.
- The root cause of the bug must be the Android app itself, not the device or the Android version.
I want to add a feature
All features must be discussed with the app’s maintainer before you start working on them! If you are adding a feature, you must follow these guidelines:
- The feature must be useful to a wide variety of users.
- UI/UX is centrally managed by Revolt’s design team. Make sure your feature aligns closely with the current design as well as Material 3.
- If you need any new UI, you are recommended to request a design from the design team and implement it as per the design. If your UI/UX is not up to the mark, your PR may be rejected by the design team.
- The feature must not be a duplicate of an existing feature.
- The feature must not be a part of the Roadmap (To be published).
In General, …
- Use Conventional Commits for your commit messages. This helps in generating changelogs and tracking changes.
- Make sure your code is easy to understand. You need not document every line of code, but if something is not immediately obvious to a seasoned Android developer, you should add a comment.
- Make sure your code is well-formatted. You can use Android Studio’s built-in code formatter to format your code.
- Make sure your code ‘fits in’ with the rest of the codebase.
- Make sure your code is well-tested. You should write unit tests for your code if applicable.
If you came this far…
Let’s get started! You may continue to the Development Setup guide to set up your development environment.