Thank you for considering contributing to our project. Your contributions are highly valued, and this guide is designed to ensure a smooth and collaborative experience for everyone involved. By following these guidelines, we aim to create a positive and inclusive space for all contributors and maintainers.
Reporting bugs or submitting detailed issues is a valuable way to contribute to the project. We appreciate well-written bug reports that include thorough information. To ensure a productive conversation, please adhere to the following:
- Provide a clear and detailed description of the issue.
- Utilize the issue template provided to include all necessary information.
- Avoid opening duplicate issues; check for existing reports first and comment on those if applicable.
We welcome feature requests! While we consider all suggestions, acceptance is not guaranteed. To avoid feature creep, please follow these guidelines:
- Check for existing feature requests before submitting a new one.
- Fully complete the provided feature request template, providing comprehensive information.
- Be precise about the proposed outcome and its relation to existing features.
- Include implementation details if possible.
Contributors can assist in triaging issues, such as reproducing bug reports or requesting additional information. Any help in quickly resolving issues is highly appreciated.
We love pull requests! Before creating a pull request, it's advisable to open an issue to discuss changes or outline your intended approach. Please adhere to the following guidelines for a seamless contribution process:
- Submit one pull request per bug fix or feature to keep changes isolated.
- For larger changes, discuss strategies with maintainers by opening an issue.
- Prioritize code clarity over complexity and follow existing coding styles and conventions.
- Update the example project if applicable to demonstrate new functionality.
- Use the default branch for your pull request and resolve any merge conflicts.
- Promptly address any CI failures.
Crafting meaningful commit messages is crucial. Follow these guidelines to ensure clear communication:
- Separate subject from body with a blank line.
- Limit the subject line to 50 characters and use the imperative mood.
- Use the body to explain why, not what and how.
- Wrap the body at about 72 characters.
- If applicable, prefix the title with the relevant component name.
Effective code reviews are essential. Provide constructive feedback without criticizing the author personally. Remember:
- Review the code, not the author.
- Understand that you are not your code.
- Always strive to do your best and learn from mistakes.
- Note any violations of guidelines specified in this document.
Consistency is key. Follow existing styles, formatting, and naming conventions of the project. Failure to do so may result in a prolonged review process.
- Maintain consistency with the existing codebase.
- Follow style and format conventions, enforced by a linter when possible.
Thank you for considering contributing to our project! Here's a summary of the contribution process:
- Work on non-assigned issues once assigned or raise an issue to get it assigned.
- Make changes in the code without introducing bugs.
- Refactor and enhancements are appreciated.
- Raise a PR and tag @anand-harsh for review.
- Make PR directly on the master branch of Edumi.
If you're reading this, congratulations on being an awesome contributor! Your efforts are truly appreciated. 💯