diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..be3b736e63 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,107 @@ +# Contributing to Hacktoberfest2025 + +Thank you for your interest in contributing to this Hacktoberfest project! We appreciate your help in making this repository better. + +## Table of Contents +- [Getting Started](#getting-started) +- [How to Contribute](#how-to-contribute) +- [Contribution Guidelines](#contribution-guidelines) +- [Code of Conduct](#code-of-conduct) + +## Getting Started + +1. **Fork the Repository**: Click the "Fork" button at the top right of this repository to create your own copy. + +2. **Clone Your Fork**: Clone the forked repository to your local machine. + ```bash + git clone https://github.com/YOUR_USERNAME/Hacktoberfest2025.git + cd Hacktoberfest2025 + ``` + +3. **Create a Branch**: Create a new branch for your contribution. + ```bash + git checkout -b your-branch-name + ``` + +## How to Contribute + +### Types of Contributions We Welcome: + +1. **Algorithm Implementations**: Add new algorithms or improve existing ones in the appropriate language folders (Cpp, Python, etc.) + +2. **LeetCode Solutions**: Add solutions to LeetCode problems in the LeetcodeProblems folder + +3. **Bug Fixes**: Fix bugs or improve existing code + +4. **Documentation**: Improve documentation, add comments, or create tutorials + +5. **New Features**: Add new functionality or tools to the repository + +### Steps to Submit Your Contribution: + +1. Make your changes in your local branch +2. Test your code to ensure it works correctly +3. Commit your changes with a clear, descriptive commit message: + ```bash + git add . + git commit -m "Add: Brief description of your changes" + ``` +4. Push your changes to your fork: + ```bash + git push origin your-branch-name + ``` +5. Create a Pull Request from your fork to the main repository + +## Contribution Guidelines + +### Code Quality: +- Write clean, readable, and well-documented code +- Include comments explaining complex logic +- Follow the coding style of the existing codebase +- Test your code before submitting + +### Commit Messages: +- Use clear and descriptive commit messages +- Start with a verb (Add, Fix, Update, Remove, etc.) +- Keep the first line under 50 characters +- Add detailed description if necessary + +### Pull Request Guidelines: +- Provide a clear title and description for your PR +- Reference any related issues +- Include screenshots or examples if applicable +- Be responsive to feedback and be prepared to make changes +- Ensure your PR addresses only one concern or adds one feature + +### File Organization: +- Place files in the appropriate folders +- Use descriptive file names +- For LeetCode problems, include the problem number and name +- For algorithms, specify the algorithm name clearly + +### What NOT to Contribute: +- Spam or low-quality submissions +- Duplicate code already present in the repository +- Plagiarized code without proper attribution +- Breaking changes without discussion +- Large binary files or unnecessary dependencies + +## Code of Conduct + +By participating in this project, you agree to: +- Be respectful and inclusive +- Welcome newcomers and help them learn +- Focus on what is best for the community +- Show empathy towards other community members +- Accept constructive criticism gracefully + +## Questions or Issues? + +If you have questions or encounter issues: +- Check existing issues to see if your question has been answered +- Open a new issue with a clear description +- Join the discussion in existing pull requests + +## Thank You! + +Your contributions make this project better for everyone. Happy coding and happy Hacktoberfest! 🎉