First Contribution
Finding Issues

Finding Good First Issues

Not all "good first issues" are actually good. Learn to find the real opportunities.

Where to Find Issues

1. GitHub Labels

Most projects use labels to mark beginner-friendly issues:

LabelMeaning
good first issueOfficial GitHub label for beginners
help wantedMaintainers actively seeking help
beginner-friendlyCustom label, same meaning
easyLow complexity
documentationDoc-related (often good for starters)
hacktoberfestValid for Hacktoberfest

2. Search Queries

# On GitHub, use these searches:

# All good first issues in a language
label:"good first issue" language:javascript

# Good first issues with no assignee
label:"good first issue" no:assignee

# Recent good first issues (last 7 days)
label:"good first issue" created:>2024-01-01

# In specific organization
org:facebook label:"good first issue"

3. Dedicated Platforms

PlatformURLBest For
Good First Issuesgoodfirstissues.comCurated beginner issues
Up For Grabsup-for-grabs.netVariety of projects
First Timers Onlyfirsttimersonly.comFirst contribution ever
CodeTriagecodetriage.comHelping with triage
Awesome for Beginnersgithub.com/MunGell/awesome-for-beginnersCurated list

4. Program-Specific Sources

Evaluating Issue Quality

✅ Green Flags (Good Signs)

Look for:

SignalWhat It Means
Clear descriptionMaintainer thought about it
Recent commentsIssue is still relevant
Maintainer respondedSomeone cares about this
Labels are appropriateProject is organized
Acceptance criteriaYou know when you're done
Referenced in roadmapImportant to the project

❌ Red Flags (Warning Signs)

Avoid:

SignalWhat It Means
No activity for 6+ monthsLikely abandoned
"Stale" or "wontfix" labelsNot a priority
Many attempted PRs, all closedUnclear requirements
Heated discussionsPolitics involved
Vague like "improve performance"No clear direction
Assigned but inactiveSomeone else has it

Issue Quality Assessment

Quick Score Method

Rate each factor 1-5:

Issue Score = 
    Clarity (1-5) + 
    Recency (1-5) + 
    Maintainer Engagement (1-5) + 
    Scope Appropriateness (1-5) + 
    Learning Value (1-5)

Score > 20: Excellent issue
Score 15-20: Good issue
Score 10-15: Proceed with caution
Score < 10: Look elsewhere

Example Evaluation

Issue: "Fix broken pagination on user list"

FactorScoreReason
Clarity4Clear what's broken
Recency5Opened 2 days ago
Maintainer5Maintainer commented "happy to help"
Scope4Well-defined, single component
Learning4Learn about pagination, API calls
Total22Excellent issue!

Fake "Good First Issues"

Spotting Fake Ones

Some issues are labeled "good first issue" but aren't:

Common Fake Patterns

1. The Disguised Monster

Title: "Simple UI fix"
Reality: Requires understanding entire state management system

2. The Outdated Label

Title: "Add basic feature" (labeled 2 years ago)
Reality: Codebase has completely changed

3. The Scope Creep

Title: "Fix small bug"
Comments: "Also need to refactor X, update Y, test Z..."
Reality: Not small anymore

4. The Impossible Standard

Title: "Improve performance"
Reality: No metrics, no baseline, how do you know when done?

The Search Strategy

Step 1: Choose Your Criteria

# Your filters
Language: JavaScript
Difficulty: Beginner
Time: 4-8 hours
Type: Bug fix or documentation
Project: Active (commits in last month)

Step 2: GitHub Search

label:"good first issue" language:javascript created:>2024-01-01 comments:>2

Step 3: Filter Results

For each result, check:

  • Last commit to repo < 30 days
  • Issue has maintainer comment
  • Issue is unassigned
  • Issue has clear requirements
  • Project has CONTRIBUTING.md

Step 4: Deep Dive on Top 3

For your top candidates:

  1. Read entire issue thread
  2. Check related code files
  3. Look at similar merged PRs
  4. Evaluate if you can solve it

Issue Hunting Workflow

Projects Known for Good First Issues

Frontend

  • React - Large but well-documented
  • Vue.js - Welcoming community
  • Angular - Structured contribution process
  • Next.js - Active maintainers

Backend

  • Node.js - Many entry points
  • Django - Great documentation
  • Express.js - Simple codebase
  • FastAPI - Modern, clean code

Tools & Infrastructure

  • VS Code - Massive but organized
  • Kubernetes - Well-labeled issues
  • Docker - Clear contribution guides

Time Invested Wisely

ActivityGood Time InvestmentBad Time Investment
Finding issue1-2 hours5+ hours
Reading issue30 min5 min (too quick)
Checking codebase1 hourSkip entirely
Asking questionsAs neededNever (stuck for days)

Pro Tips

1. Follow Before Contributing

Week 1: Star repo, watch issues
Week 2: Read issues, understand patterns
Week 3: Pick an issue and contribute

2. Start with What You Know

If you know React → Find React issues If you know Python → Find Python issues If you know testing → Add tests

3. Look at Closed PRs First

# See what gets merged
# Check merged PRs from new contributors
# Understand the review process

4. Check the "Pulse"

On GitHub, check Insights → Pulse:

  • Recent commits
  • Open/closed issues ratio
  • PR merge rate

Next Steps

Found some potential issues? Learn how to pick the best one:

➡️ Picking Issues That Get Merged →


Pro Tip: The best issues aren't always labeled. Sometimes a recent bug report with maintainer interest is better than a stale "good first issue."