Skip to main content

Command Palette

Search for a command to run...

How to Find “Good First Issues” on GitHub: A Practical, Step-by-Step Guide

Updated
4 min read
How to Find “Good First Issues” on GitHub: A Practical, Step-by-Step Guide
F
a passionate web developer, tech writer, open-source contributor & a life long learner.

If you want to contribute to open source but don’t know where to start, you’re not alone. Many developers want to dive in but struggle to find issues that are both approachable and meaningful. The good news: GitHub makes this easier than it looks. With the right workflow, you can consistently uncover clear, beginner-friendly issues in active, healthy projects.

1. Choose Your Focus

Before searching, narrow your scope. Pick one or two languages or domains you want to work with. Ask yourself:

  • Which languages do I enjoy (or want to learn)?

  • Do I prefer small, friendly projects or large, well-known ones?

This clarity keeps your search focused and increases your chances of finding good matches.

GitHub’s search is powerful once you know how to use it. Start with this query and customize it:

is:issue is:open label:"good first issue" no:assignee language:JavaScript sort:updated-desc

This query:

  • shows only open issues

  • filters for issues labeled “good first issue”

  • hides issues already taken

  • limits results to JavaScript

  • sorts by recent activity

You can also target specific organizations or repositories:

org:mozilla

repo:facebook/react

3. Try Alternative Labels

Not every project uses the same label. To broaden your search, repeat your search with labels like:

  • good-first-issue

  • first-timers-only

  • beginner

  • up-for-grabs

  • help wanted

Many maintainers use their own conventions, so checking these variations helps you find more opportunities.

4. Check Project Activity

A “good first issue” isn’t helpful if the project is inactive. Always check:

  • recent commits

  • recent issues or PRs with maintainer replies

  • whether other contributors get feedback

Look for active repos where maintainers actively guide contributors. You’ll learn more and avoid wasting your time.

5. Evaluate the Issue Itself

A high-quality beginner issue usually:

  • explains the problem clearly

  • includes steps to reproduce

  • defines what “done” looks like

  • stays small in scope

  • remains unassigned

Avoid vague issues or massive refactors. Start with tasks you can complete within a few hours to one weekend.

6. Use Aggregator Sites

If you want a faster setup, use curated sites that surface friendly issues:

  • goodfirstissues

  • up-for-grabs

  • CodeTriage

  • first-timers-only

They scan GitHub repositories and present beginner-friendly issues by language or topic. These sites save time and reduce noise.

7. Read the Project’s CONTRIBUTING Guide

Before you write code, read CONTRIBUTING.md and the project's README. These files teach you:

  • How to run tests

  • What coding style does the repo expect

  • How maintainers want PRs structured

Consistent contributors get their pull requests merged faster, and this step makes that possible.

8. Claim the Issue

Once you find an issue you want to work on, claim it politely. Leave a short comment:

Hi! I’d like to work on this. I plan to fork the repo and open a draft PR. Let me know if you have any guidance before I begin.

This prevents duplicate work and signals you’re serious.

9. Start Small and Commit Cleanly

When you begin coding:

  • create a new branch

  • keep commits focused and readable

  • write or update tests

  • follow linters and style rules

  • test locally before submitting

Reference the issue in your PR.

Example:

Fixes #123

In your PR description, summarize what you changed, how to test it, and why it matters.

10. Stay Engaged After You Submit

Maintainers may ask questions or request changes. Respond promptly and keep communication positive. If the project uses CLAs or sign-offs, follow the instructions. If your PR gets stuck, politely ping after a reasonable time.

Bonus: Helpful Templates

Search Query (Copy & Paste)

is:issue is:open label:"good first issue" no:assignee language:Python sort:updated-desc

Issue Claim Comment

Hi! I’d like to take this on. I’ll start with a fork and a small initial PR. Let me know if there are any details I should consider before beginning.

Pull Request Template

Fixes #<issue-number>

### Summary

Short explanation of the changes.

### How to Test

1. Steps to reproduce the issue.

2. Steps to verify the fix.

3. Tests added or updated.

### Notes

Extra context or follow-up tasks.

Final Thoughts

Open-source work isn’t only for experts. You learn faster by contributing, and “good first issues” give you a safe, guided entry point. With this workflow, you can quickly find approachable tasks, build confidence, and grow into larger contributions.