diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..df5ec43a94 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,105 @@ +# Contributing to Hacktoberfest2025 + +Thank you for considering contributing to this project! We welcome contributions from everyone. + +## How to Contribute + +### 1. Choose an Issue +- Browse the [Issues](https://github.com/fineanmol/Hacktoberfest2025/issues) page +- Look for issues labeled `good first issue` or `hacktoberfest` +- Comment on the issue to indicate you're working on it +- Wait for maintainer approval before starting work + +### 2. Fork and Clone +```bash +# Fork the repository on GitHub +# Then clone your fork +git clone https://github.com/YOUR-USERNAME/Hacktoberfest2025.git +cd Hacktoberfest2025 +``` + +### 3. Create a Branch +```bash +git checkout -b feature/your-feature-name +``` + +### 4. Make Your Changes +- Write clean, readable code +- Add comments to explain complex logic +- Test your changes thoroughly +- Follow existing code style and structure + +### 5. Commit Your Changes +```bash +git add . +git commit -m "Add: Brief description of your changes" +``` + +Use clear commit messages: +- `Add:` for new features +- `Fix:` for bug fixes +- `Update:` for improvements to existing code +- `Docs:` for documentation changes + +### 6. Push and Create Pull Request +```bash +git push origin feature/your-feature-name +``` + +Then create a pull request on GitHub with: +- A clear title describing your changes +- Reference to the related issue (e.g., "Fixes #123") +- Description of what you've changed and why + +## Code Guidelines + +### General +- Use descriptive variable and function names +- Add comments for complex algorithms +- Keep functions small and focused +- Remove unused code and imports + +### Language-Specific + +**C/C++:** +- Use standard library headers instead of `#include ` +- Add header guards in .h files +- Use consistent indentation (2 or 4 spaces) + +**Python:** +- Follow PEP 8 style guide +- Add docstrings to functions and classes +- Use meaningful variable names + +**JavaScript:** +- Use `const` and `let` instead of `var` +- Add JSDoc comments for functions +- Follow consistent formatting + +## What We Look For + +✅ Clean, well-documented code +✅ Proper error handling +✅ Following existing code patterns +✅ Testing your changes +✅ One feature/fix per pull request + +❌ Spam pull requests +❌ Low-quality or incomplete code +❌ Changes without related issues +❌ Formatting-only changes without substance + +## Getting Help + +- Join discussions in issue comments +- Ask questions before starting work +- Be respectful and patient + +## Code of Conduct + +- Be respectful to all contributors +- Provide constructive feedback +- Focus on the code, not the person +- Help create a welcoming environment + +Thank you for contributing! 🎉