awesome-for-beginners
A list of awesome beginners-friendly projects.
Awesome for beginners, projects that welcome first pull requests
Awesome for beginners is a list of open source projects that welcome new contributors, organized by language and tagged with labels like good first issue and first-timers-only.
An invitation to maintainers
The README starts by talking to project maintainers. If you run an open source project, add a first-timers-only label, list it here, and people will find it. There are pointers for beginners too: non-programmers get pointed to a separate list, and anyone unsure how to contribute to GitHub gets pointed to the First Contributions repository. The table of contents then organizes everything by language.
What the list looks like
.NET entries include Legerity and MvvmCross. Angular lists Oppia, an education platform. The C and C++ section is large, with Julia, osu!, Cake, Uno Platform, and Godot Engine. Dart covers dart.dev, Flutter, and OpenFoodFacts. Go contributes containerd, the Docker CLI, Helm, Kubernetes, Terraform, and TiDB. Java brings elasticsearch, JabRef, TEAMMATES, Trino, and XWiki.
JavaScript and beyond
JavaScript is the busiest section. It runs from altair and Ancient Beast through AVA, Babel, Brave Browser, Create React App, cypress, electron, ESLint, Fastify, freeCodeCamp, and Gatsby.js. Haskell has the Hasura GraphQL Engine, JSON lists the Rawsec Cybersecurity Inventory, and Kotlin covers Atrium and Hexagon. Each entry names the label that marks beginner-friendly issues.
Labels do the heavy lifting
The system runs on labels. good first issue appears constantly, but the list also uses first-timers-only, beginner, easy, low-hanging fruit, help-wanted, and exp/beginner. Some projects use their own naming, like Level:Starter. The labels are the contract: an issue wearing one of these is a reasonable first contribution, and maintainers have signed on to that promise by tagging it.
Community notes