# How to contribute
## 1. Fork the repository
Click the "Fork" button in the top-right corner of the repository's page on GitHub, and clone your forked repository to your local machine.
## 2. Open an issue and discuss your idea
Before starting work on any changes, please open an issue on the GitHub repository to discuss your proposed feature, bug fix, or improvement. This helps ensure that your contribution aligns with the project's goals and allows maintainers and the community to provide valuable feedback and guidance. We appreciate your initiative and want to make the process as smooth as possible for everyone!
## 3. Create a branch from the `dev` branch
After discussing your idea and receiving initial feedback, create a new branch to work on.
Choose a descriptive name for your branch that reflects the feature or fix you intend to make.
For example:
```bash
git checkout -b update_readme dev
```
## 4. Make your changes
Make your desired changes to the codebase.
Ensure that your changes adhere to the project's coding conventions and standards.
## 5. Follow code style and standards
Follow the existing code style and conventions used in the project.
Ensure your code is well-formatted, readable, and documented.
Write clear and concise commit messages.
## 6. Commit
Once you're satisfied with your changes, commit them to your branch with clear and concise commit messages.
For example:
```bash
git commit -m "feat: description of the changes made"
```
You can read about commit best practises [here](https://www.freecodecamp.org/news/how-to-write-better-git-commit-messages/).
## 7. Push changes
Push your changes to your forked repository on GitHub.
For example:
```bash
git push origin update_readme
```
## 8. Submit a pull request (PR)
Go to the original repository and click on the "New Pull Request" button. Provide a descriptive title and description for your pull request, explaining the changes you've made and referencing the issue you opened.
## 9. Review and discuss
Engage in discussions with maintainers and other contributors regarding your pull request. Be open to feedback and iterate on your changes if necessary.
## 10. Merge PR
Once your pull request has been reviewed and approved, a maintainer will merge it into the main branch. If the maintainers suggest an alternative approach, we'll work together to find the best solution.
**Congratulations, your contribution has been accepted!**
# Other information
## Issues and Bug Reports
If you encounter a bug or have a suggestion for improvement, please search the existing issues to see if it has already been reported.
If not, feel free to open a new issue, providing as much detail as possible, including steps to reproduce the issue.
## Community Guidelines
- Be respectful and considerate of others' ideas, opinions, and contributions.
- Help and support fellow contributors, especially beginners.
- Avoid spamming, trolling, or engaging in any form of harassment.
## License
By contributing to this project, you agree that your contributions will be licensed under the project's license.