/awesome-for-beginners

A list of awesome beginners-friendly projects.

Awesome First PR Opportunities Awesome

A list of awesome beginners-friendly projects.

Inspired by First Timers Only blog post and YourFirstPR project.

If you are a maintainer for open-source projects, add the label first-timers-only (or similar) to your project and list it here so people can find it.

If you are looking to contribute then explore this list, look at first-timers-only labelled open issues on Github, and follow @first_tmrs_only on Twitter to be notified when a new first-timers-only issue is created.

If you are not a programmer, but would like to contribute, check out the Awesome for non-programmers list.

Table of Contents:

.NET

  • Shouldly (label: Jump-In)
    Should testing for .net - the way Asserting Should be!
  • MvvmCross (label: first-timers-only)
    The .NET MVVM framework for cross-platform solutions, including Xamarin.iOS, Xamarin.Android, Windows and Mac.

C

  • Neovim (label: good first issue)
    Vim-fork focused on extensibility and agility.

C++

  • electron (label: good first issue)
    Build cross platform desktop apps with JavaScript, HTML, and CSS
  • Godot Engine (label: junior job)
    2D and 3D cross-platform game engine. Also has C# and Python code.
  • tensorflow (label: stat:contributions welcome)
    Computation using data flow graphs for scalable machine learning
  • projectM (label: good first issue)
    A music visualizer library using OpenGL and GLSL. Has applications using Qt5, SDL, emscripten, iTunes, Kodi.

Clojure

  • Alda (label: low-hanging-fruit)
    A music programming language for musicians. 🎶

ClojureScript

  • LightTable (label: good first issue)
    The Next Generation code editor! One of the top funded projects on KickStarter.

Dart

  • webdev.dartlang.org (label: beginner)
    A website for developers writing Dart web apps, including AngularDart apps.
  • www.dartlang.org (label: beginner)
    A website covering the Dart language and common libraries, for developers of Dart libraries, web apps, server-side code, and mobile (Flutter) apps.

Elixir

  • Elixir (label: Level:Starter)
    Elixir is a dynamic, functional language designed for building scalable and maintainable applications
  • Ecto (label: Level:Starter)
    Ecto is a database wrapper and language integrated query for Elixir

Go

  • Moby (label: exp/beginner)
    Open-source application container engine
  • Apex (label: contrib (easy))
    Build, Deploy, and Manage AWS Lambda functions with ease
  • Hugo (label: exp/beginner)
    A Fast and Flexible Static Site Generator built with love in GoLang
  • CockroachDB (label: easy)
    The Scalable, Survivable, Strongly-Consistent SQL Database
  • Helm (label: starter)
    The Kubernetes Package Manager
  • Mattermost (label: Up For Grabs, Difficulty: Introductory, Go)
    Open source Slack-alternative in Golang and React

Java

  • Strongbox (label: good first issue)
    Strongbox is an artifact repository manager written in Java.
  • TEAMMATES (label: d.FirstTimers)
    TEAMMATES is a free online tool for managing peer evaluations and other feedback paths of your students.
  • elasticsearch (label: good first issue)
    Open Source, Distributed, RESTful Search Engine.
  • JabRef (label: good first issue)
    Desktop application moving from SWING to JavaFX. Focus on code quality: Usage of code quality tools such as CodeCov and Codacy. Each Pull Request is reviewed by two developers to provide high-quality feedback and to ensure high quality of new contributions.
  • Wikimedia Commons Android App (label: beginner friendly)
    Allows users to upload pictures from their Android phone/tablet to Wikimedia Commons.
  • XWiki (label: Onboarding)
    XWiki is a free wiki software platform written in Java with a design emphasis on extensibility. Beginners should follow the onboarding wiki.
  • zerocode (label: good first issue)
    API Automation without coding, easy JSON response assertions, Testing REST, SOAP, Kafka and Java/DB APIs, CI/Jenkins Friendly.

JavaScript

  • name-suggestion-index (label: good first issue)
    Canonical common brand names for OpenStreetMap
  • iD (label: good first issue)
    The easy-to-use OpenStreetMap editor in JavaScript.
  • missioncontrol (label: first-timers-only)
    Mission Control is a free and open marketplace connecting autonomous vehicles (e.g., drones) with users looking for services such as package deliveries.
  • missions (label: first-timers-only)
    Missions is a mobile web app connecting DAV users looking to ship packages with autonomous drones looking for work in an open and free marketplace.
  • annyang (label: first-timers-only)
    A popular Speech Recognition library used to communicate with everything from websites to smart mirrors to flying drones.
  • Clementine.js Boilerplate (label: beginner)
    The elegant and lightweight full stack JavaScript boilerplate.
  • PouchDB (label: first time only)
    PouchDB is a pocket-sized database.
  • Leaflet (label: good first issue)
    JavaScript library for mobile-friendly interactive maps.
  • Dragula (label: first-timers-only)
    Drag and drop so simple it hurts.
  • UI.Layout directive (Angular UI) (label: first-timers-only)
    Angular directive that allows you to split!
  • history (label: good-for-beginner)
    A minimal, functional history library for JavaScript.
  • TodoMVC (label: first time contributor)
    Helping you select an MV* framework by implementing Todo in lots of Javascript apps.
  • Adobe Brackets (label: starter bug)
    An open source code editor for the web, written in JavaScript, HTML and CSS.
  • AVA (label: good for beginner)
    Futuristic test runner.
  • Kinto.js (label: easy-pick)
    An offline-first JavaScript client leveraging the Kinto API for remote data synchronization.
  • ESLint (label: good first issue)
    A fully pluggable tool for identifying and reporting on patterns in JavaScript.
  • Webpack (label: D0: My First Commit (Contrib. Difficulty))
    A bundler for javascript and friends.
  • Tessel 2 CLI (label: contribution-starter)
    Command line interface to Tessel 2.
  • Ember.js (label: Good for New Contributors)
    A JavaScript framework for creating ambitious web applications.
  • Ember.js Data (label: Good for New Contributors)
    A data persistence library for Ember.js.
  • FreeCodeCamp (label: first timers welcome)
    Open source codebase and curriculum. Learn to code and help nonprofits.
  • Ghost (label: good first issue)
    Just a blogging platform
  • eslint-plugin-unicorn (label: good for beginner)
    Awesome ESLint rules.
  • Hyper (label: good first issue)
    JS/HTML/CSS Terminal
  • pdf.js (label: 5-good-beginner-bug)
    PDF Reader in JavaScript
  • Moment.js (label: Up-For-Grabs)
    A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.
  • serverless (label: help-wanted-easy)
    The Serverless Framework
  • Hoodie Camp (label: first-timers-only)
    Hoodie Camp is a space for new and existing contributors.
  • React (label: good first issue)
    A declarative, efficient, and flexible JavaScript library for building user interfaces.
  • React Native (label: Good first issue)
    A framework for building native apps with React.
  • React server (label: good-first-contribution)
    React framework with server render for blazing fast page load and seamless transitions between pages in the browser.
  • Yarn (label: good first issue)
    Fast, reliable, and secure dependency management.
  • pixi.js (label: Difficulty: Easy)
    A 2D JavaScript Renderer
  • Next.js (label: good first issue)
    A minimalistic framework for universal server-rendered React applications
  • keystonejs (label: good first task)
    The open source framework for developing database-driven websites, applications and APIs in Node.js. Built on Express and MongoDB.
  • Semantic-UI-React (label: good first issue)
    The official React integration for Semantic UI.
  • electron (label: good first issue)
    Build cross platform desktop apps with JavaScript, HTML, and CSS
  • Botpress (label: good first issue)
    The only sane way to build great bots.
  • Atom (label: beginner)
    The hackable text editor
  • cdnjs (label: BEGINNER)
    The best FOSS web front-end resource CDN
  • Video.js (label: first-timers-only)
    The player framework
  • Operation Code (label:beginner-friendly)
    Operation Code is a non-profit organization that are helping Veterans and their families get into the tech industry through mentorships, scholarships, and providing a supportive community.
  • stryker (label: beginner friendly)
    The JavaScript mutation testing framework
  • Kap (label: good first issue)
    An open-source screen recorder built with web technology
  • Reddit Enhancement Suite (label: help wanted)
    A browser extension to enhance the Reddit browsing experience.
  • Brave Browser (label: good first bug)
    Desktop browser for macOS, Windows, and Linux.
  • Fastify (label: good first issue)
    Fast and low overhead web framework, for Node.js.
  • Node.js core (label: good first issue)
    JavaScript runtime built on Chrome's V8 JavaScript engine
  • Jest (label: good first issue)
    A complete and easy to set up JavaScript testing solution.
  • Mattermost (label: Up For Grabs, Difficulty: Introductory, ReactJS)
    Open source Slack-alternative in Golang and React
  • p5.js (label: good first issue)
    p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web.
  • squirrelly (label: good first issue)
    Squirrelly is a lightweight template engine that supports helpers, filters, partials, and more.
  • NativeScript (label: good first issue)
    NativeScript is an open source framework for building truly native mobile apps with JavaScript. Use web skills, like Angular and Vue.js, FlexBox and CSS, and get native UI and performance on iOS and Android.
  • Gatsby.js (label: good first issue)
    Build blazing fast, modern apps and websites with React.
  • Vue.js (label: good first issue)
    The Progressive JavaScript Framework.
  • md-page (label: good first issue)
    Create a webpage with just markdown.
  • Check It Out (label: good first issue)
    Check It Out is an ncurses-like CLI to let the user interactively navigate and select a git branch to check out.
  • nuclear (label: good first issue)
    Multiplatform music player that streams from free sources.

Julia

Perl

  • Ravada (label: good first issue)
    Remote Virtual Desktops Manager.

PHP

  • phpMyAdmin (label: newbie)
    Admin interface for MySQL written in PHP.
  • Deployer (label: good for beginner)
    A deployment tool written in PHP with support for popular frameworks out of the box.
  • Matomo (label: help wanted)
    Matomo is the leading Free/Libre open analytics platform.
  • OrgManager (label: beginners-only)
    Supercharge your GitHub organizations!
  • PHP Censor (label: good-for-beginner)
    Open source self-hosted continuous integration server for PHP projects.

Python

  • catapult (label: Good First Bug)
    Catapult home for performance tools.
  • CiviWiki (Good First Issue)
    Building a Better Democracy for the Internet Age
  • Python Babel (label: difficulty/low)
    The Python Internationalization Library.
  • Kinto (label: easy-pick)
    A lightweight JSON storage service with synchronisation and sharing abilities.
  • BorgBackup (label: easy)
    Deduplicating backup program with compression and authenticated encryption.
  • scrapy (label: good first issue)
    A fast high-level web crawling & scraping framework for Python.
  • mitmproxy (label: good first contribution)
    An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers
  • Mailpile (label: low hanging fruit)
    A free & open modern, fast email client with user-friendly encryption and privacy features
  • coala (label: difficulty/newcomer)
    A unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.
  • jarvis (label: difficulty/newcomer)
    A personal assistant for Linux based on Command line Interface.
  • Pybee/voc (label: first-timers-only)
    A transpiler that converts Python code into Java bytecode.
  • Pybee/batavia (label: first-timers-only)
    A Javascript implementation of the Python virtual machine.
  • JARVIS-on-Messenger (label: Low-Hanging Fruit)
    💬 A community-driven python bot that aims to be as simple as possible to serve humans with their everyday tasks http://m.me/J.A.R.V.I.S.on.Messenger
  • Pytest (label: status: easy)
    The pytest framework makes it easy to write small tests, yet scales to support complex functional testing.
  • Fabric (label: Low-hanging fruit)
    Pythonic remote execution and deployment.
  • Jupyter notebook (label: good first issue)
    Jupyter interactive notebook.
  • Concept to Clinic (label: good first issue)
    Aims to develop an end-to-end application for lung cancer detection that connects the predictive power of machine learning with functional software tested against errors and a clean user interface focused on clinical use.
  • Zulip (label: good first issue)
    Powerful open source group chat.
  • cookiecutter (label: low-hanging-fruit)
    A command-line utility that creates projects from cookiecutters (project templates). E.g. Python package projects, jQuery plugin projects.
  • django cookiecutter (label: django hacktober special)
    An implementation of Python for backend web development.
  • wemake-python-stylegide (label: level:starter)
    The strictest and most opinionated python linter ever!
  • Ansible (label:easyfix)
    A simple IT automation platform
  • opsdroid (label: good first issue)
    An open source chat-ops bot framework.

Ruby

  • JRuby (label: beginner)
    An implementation of Ruby on the Java Virtual Machine.
  • puppet-mcollective (label: beginner friendly)
    MCollective Server and Client Puppet Module.
  • Sinatra (label: good first issue)
    Classy web-development dressed in a DSL.
  • Goby (label: beginner)
    Framework for developing text-RPGs.
  • Hanami (label: easy)
    A modern framework for Ruby.
  • Operation Code (label: good first issue)
    An open source community dedicated to getting military veterans coding.
  • chef (label: Type: Jump In)
    A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure
  • ohai (label: Type: Jump In)
    Ohai profiles your system and emits JSON
  • PublicLab.org (label: first-timers-only)
    An open source publishing platform for environmental projects. Check out new contributors welcome page.
  • Discourse (tag: #starter-task)
    Civilized discussion platform. See "How to contribute to Discourse".
  • osem (label: good first issue)
    Open Source Event Manager. An event management tool tailored to Free and Open Source Software conferences
    See "How to contribute to osem"
  • open-build-service (label: good first issue)
    A generic system to build and distribute packages from sources in an automatic, consistent and reproducible way.
    See "How to contribute to open build service"

Rust

  • Servo (label: E-easy)
    A browser engine designed for applications including embedded use.
  • Rust-Clippy (label: good first issue)
    A bunch of lints to catch common mistakes and improve Rust code
  • Rustfmt (label: good-first-issue)
    A tool for formatting Rust code according to style guidelines.
  • Iron (label: easy)
    An extensible, concurrent web framework for Rust

Scala

  • Twitter Util (label: good first issue)
    Wonderful reusable code from Twitter
  • playframework (label: good first issue)
    The High Velocity Web Framework

TypeScript

  • TypeScript (label: good first issue)
    A superset of JavaScript that compiles to clean JavaScript output.
  • Visual Studio Code (label: good first issue)
    A new type of tool that combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle.
  • TSLint (label: good first issue)
    An extensible static analysis tool that checks TypeScript code for readability, maintainability, and functionality errors.
  • tslint-eslint-rules (label: nice first contribution)
    ESLint rules for TSLint.

Contribute

Contributions are welcome! See the contribution guidelines.

License

CC0

To the extent possible under law, the author has waived all copyright and related or neighboring rights to this work.