Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 107 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -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! 🎉