Contributing to Miru
If you're here, it means this is going to be the start of something amazing! ✨ Thank you for your interest in contributing to Miru! We're happy to have you here.
How you can help
Miru, though managed by the awesome folks at Saeloun, is an open source project. This means that we're always looking for help from the community to make Miru better. Here are some ways you can help:
- Report a bug
- Fix a bug (even if it's just a typo)
- Discuss on code design and quality
- Suggest improvements to existing workflows
- Propose an entirely new feature
You can also join our Discord channel to chat with the team and other contributors.
Setup
The Environment Setup contains all the setup information you'd require. Please follow the instructions there to get started.
Everything is GitHub
We use GitHub to plan and track our work as well as host the code itself! If you're not familiar with GitHub, we recommend you take a look at this to get started.
Reporting a bug
If you find a bug, no matter how small, please report it by opening an issue on GitHub and following the template provided. However ensure that a duplicate issue doesn't already exist. If it does, please add a comment to the existing issue instead of opening a new one.
A good bug report tends to have:
- A short summary and/or background
- Detailed steps that help reproduce the bug
- Be specific!
- Give sample code if you can.
- Add screenshots if needed.
- What you expected vs what actually happened
- Notes detailing the context in which you experienced the bug, the ways you tried to fix it or any supporting information that might help us understand the bug.
Fixing a bug
If you'd like to contribute by fixing a bug, please choose an issue from the issues page and comment on it to let us know that you're working on it. This avoids multiple people working on similar issues.
If the issue you're working on requires a design or architecture change, please comment out your proposed solution on the issue page. This will help us review your solution before you start working on it. Please wait for a maintainer to approve your solution before you start working on it.
Once you've decided the issue you'll be working on, please follow the instructions below:
- We use git-flow branching model. The base branch is develop. Please create a new branch from develop and name it appropriately.
- Make your changes
- Add or update tests as required. Ensure that your tests cover all the cases you've added or updated.
- Ensure the test suite passes.
- Make sure is linted and formatted.
- Raise a pull request!
First-time contributors
There are a few things you can do to help out if you're a first-time contributor. We've tagged some issues with the good first issue
label. These are issues that are easy to fix and are a good place to start.
Always make sure to leave a comment before you start working on an issue.
Discussing code or improving workflows
Feel free to open an issue to discuss code design and quality or suggest improvements. We're always open to making Miru better! Tag it with the discussion
label.
Proposing a new feature
Miru is a work in progress. We're always looking to add new features to make it better. If you have an idea for a new feature, please open an issue and tag it with the feature
label. We'll review it and let you know if we're interested in adding it.
Please do not start working on a feature without getting it approved by a maintainer first. There might be a reason why we haven't added it yet.
License
By contributing, you agree that your contributions will be licensed under the MIT License.