Welcome to Hacktoberfest! This guide will help you get started with contributing to open source projects during the month of October.
- What is Hacktoberfest?
- Prerequisites & Setup
- Getting Started
- Finding Projects
- Making Your First Contribution
- Best Practices
- Resources & Cheatsheets
- Troubleshooting
Hacktoberfest is a month-long celebration of open source software run by DigitalOcean in partnership with GitHub. Participants who make 6 valid pull requests (PRs) between October 1-31 can earn a limited edition T-shirt or plant a tree.
Key Rules:
- Make 6 valid pull requests between October 1-31
- PRs must be to public repositories
- PRs must be merged, approved, or marked as "hacktoberfest-accepted"
- Spam or low-quality contributions will be invalidated
- Download: Git for your operating system
- Verify installation: Open terminal/command prompt and run
git --version - Configure Git:
git config --global user.name "Your Name" git config --global user.email "[email protected]"
- Sign up: Create your GitHub account
- Complete your profile: Add a profile picture, bio, and location
SSH keys provide a secure way to authenticate with GitHub without entering your password every time.
Generate SSH Key:
ssh-keygen -t ed25519 -C "[email protected]"
# Press Enter to accept default file location
# Enter a passphrase (optional but recommended)Add SSH Key to GitHub:
- Copy your public key:
cat ~/.ssh/id_ed25519.pub - Go to GitHub β Settings β SSH and GPG keys β New SSH key
- Paste your key and give it a descriptive title
Test SSH Connection:
ssh -T [email protected]
# You should see: "Hi username! You've successfully authenticated..."- Register: hacktoberfest.com
- Connect your GitHub account
- Read the rules carefully
- Hacktoberfest Topics - Official Hacktoberfest tagged repositories
- Good First Issues - Curated list of beginner-friendly issues
- Up for Grabs - Projects looking for contributors
- Hacktoberfest Projects - Community-curated project list
- ContribHub - Find projects by technology and skill level
- β
Issues labeled with
good first issue,beginner-friendly, orhacktoberfest - β Active maintainers (recent commits and responses)
- β Clear contribution guidelines (CONTRIBUTING.md)
- β Good documentation
- β Issues that match your skill level
- β Repositories with no recent activity
- β Issues without clear descriptions
- β Projects without contribution guidelines
- β Spam repositories (just adding your name to lists)
- Git Cheat Sheet (PDF) - Official GitHub Git reference
- DigitalOcean Git Guide - Comprehensive Git tutorial
- GitHub Learning Lab - Interactive Git and GitHub tutorials
- First Contributions - Step-by-step tutorial for first-time contributors
- How to Contribute to Open Source - Comprehensive guide
- Contributing to Open Source - FreeCodeCamp's guide
# Clone a repository
git clone https://github.com/username/repository.git
# Create a new branch
git checkout -b feature/your-feature-name
# Check status
git status
# Add changes
git add .
git add filename.txt
# Commit changes
git commit -m "Add descriptive commit message"
# Push to GitHub
git push origin feature/your-feature-name
# Pull latest changes
git pull origin main- Fork the repository you want to contribute to
- Clone your fork to your local machine
- Create a branch for your changes
- Make your changes and commit them
- Push your branch to your fork
- Create a Pull Request to the original repository
"Permission denied (publickey)"
- Ensure SSH key is added to GitHub
- Test connection:
ssh -T [email protected]
Pull Request not counting
- Ensure the repository has
hacktoberfesttopic - Check if your PR is merged or approved
- Verify it's not marked as spam
Happy Hacking! π