Thank you for your interest in contributing to Primate!
There are several ways by which you can contribute to Primate, as a developer or even as regular user. The goal of this document is to provide a high level overview of how you can participate.
If you have found any bugs, issues or have any suggestions for improvement, you can use the issue tracker to file them.
Please follow these guidelines while opening an issue.
- Check the list of open issues to see if the issue has already been reported.
If the issue is already present in the list:
- Make relevant comments.
- Express your reactions with emojis.
- If the issue is not reported yet, open a new issue:
- Provide a descriptive title for the issue.
- Include the version number of Primate you are using and also the name of your operating system.
- If the issue is a
bug
, try to include steps to reproduce the same, numbered as1, 2, 3...
- Mention what is the current behavior and the expected behavior.
- Try to include screenshots or videos demonstrating the issue.
- If possible, try to provide screenshots of the
Activity Log
blurring any sensitive information.
To start developing, you will need to install the following:
-
Node.js
version 16.0.0 LTS or higher. -
Yarn
version 1.22.0 or higher.
If you don't have Yarn already installed, please refer this link.
Once you have all the requirements set up, fork the repository.
Clone the forked repository to your computer.
$ git clone git@github.com:<your_username>/primate.git
Install the required Node modules.
$ cd primate
$ yarn install
Run the application.
$ yarn start
You can now start making changes to the code.
Create a pull request to the main
branch to get your changes reviewed and merged.
Please keep the following suggestions in mind while creating pull requests.
- Run
$ yarn run lint
to see if the formatting and coding conventions are maintained. - Provide a useful title with a suitable prefix from the list below:
feat
for new features.enhance
for enhancements or improvements.bugfix
for bugfixes.
- If multiple labels are valid for a pull request, choose them considering the precedence as they are mentioned above.
- For example, you have improved a module and this improvement automatically fixes a bug,
pick the label as
enhance
and mention the bugfix in the description.
- For example, you have improved a module and this improvement automatically fixes a bug,
pick the label as
- Provide detailed information regarding the changes in the description box.
- In case of newly added features and bugfixes, it is good to include relevant screenshots.
- Avoid mixing changes to multiple modules and libraries in the same pull request, unless there is a strong dependency between them.