/awesome-for-beginners

A list of awesome beginners-friendly projects.

Awesome First PR Opportunities Awesome

A list of awesome beginner-friendly projects.

Inspired by First Timers Only blog post.

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 that 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#

  • OpenRA (label: Easy)
    A Real Time Strategy game engine supporting early Westwood classics such as Command & Conquer: Red Alert.
  • osu! (label: good first issue)
    Music game. Rhythm is just a click away!

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.
  • Roc (label: help wanted)
    A toolkit for real-time audio streaming over the network.

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

  • dart.dev (label: beginner)
    A website covering 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
  • Hugo (label: exp/beginner)
    A Fast and Flexible Static Site Generator built with love in GoLang
  • CockroachDB (label: good first issue)
    The Scalable, Survivable, Strongly-Consistent SQL Database
  • Helm (label: good first issue)
    The Kubernetes Package Manager
  • Mattermost (label: Up For Grabs, Difficulty/1:Easy, Tech/Go)
    Open source Slack-alternative in Golang and React
  • Docker/CLI (label: exp/beginner)
    The Docker CLI
  • Kubernetes (label: good first issue)
    Production-Grade Container Scheduling and Management System
  • TiDB (label: for new contributors)
    A distributed scalable Hybrid Transactional and Analytical Processing (HTAP) database
  • Terraform (label: good first issue)
    A tool for building, changing, and versioning infrastructure safely and efficiently.

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: good first issue)
    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.
  • SirixDB (label: good first issue)
    SirixDB is a versioned NoSQL document store (XML and JSON) written in Java.

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.
  • 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.
  • 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: good first issue)
    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: good first issue)
    The best FOSS web front-end resource CDN
  • Video.js (label: first-timers-only)
    The player framework
  • 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:1/Easy, Tech/JavaScript)
    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.
  • material-ui (label: good first issue)
    React components for faster and easier web development. Build your own design system, or start with Material Design.
  • Mocha (label: good first issue)
    Javascript test framework for Node.js and the browser.
  • Babel (label: good first issue)
    A compiler for writing next generation JavaScript.
  • React-content-loader (label: good first issue)
    Tool to create your own react-content-loader easily.
  • netlify-cms (label: good first issue)
    Open source content management for your git workflow.
  • altair (label: good first issue)
    A beautiful feature-rich GraphQL Client for all platforms.
  • Video Hub App (label: good first issue)
    Angular & Electron app for browsing and searching videos on your PC.
  • Ancient Beast (label: easy)
    Turn based strategy game where you 3d print a squad of creatures with unique abilities in order to defeat your enemies.

Julia

Kotlin

  • Atrium (label: good first issue)
    Multiplatform assertion library for Kotlin
  • Hexagon (label: help wanted)
    A microservices toolkit written in Kotlin

LaTeX

  • Algorithmic Pseudocode (label: good first issue)
    A collection of language independent pseudocodes (pdf) for interview preparation and competitive programming.

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.
  • Drupal (label: N/A, link to external website)
    Leading open-source CMS for ambitious digital experiences that reach your audience across multiple channels.
  • Symfony (label: good first issue)
    Symfony is a PHP framework for web applications and a set of reusable PHP components.
  • Laravel Newsletters (label: good first issue)
    A package that provides an easy way to integrate MailChimp with Laravel 5.
  • Appwrite (label: good first issue)
    An End-to-end backend server for frontend and mobile developers. 🚀

Python

  • 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: help wanted)
    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-styleguide (label: level:starter)
    The strictest and most opinionated python linter ever!
  • Ansible (label:easyfix)
    A simple IT automation platform
  • Create aio app (label: good first issue)
    A command line utility that creates the aiohttp template with the best practices.
  • opsdroid (label: good first issue)
    An open source chat-ops bot framework.
  • pandas (label: good first issue)
    Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
  • VPN@Home (label: good first issue)
    1-click OpenVPN deployment and management dashboard.
  • SaltStack (label: Low-Hanging Fruit)
    Software to automate the management and configuration of any infrastructure or application at scale.
  • mygpo (label: starter-issue)
    The webservice for gpodder.net, a libre web service that allows users to manage their podcast subscriptions and discover new content.
  • tree-sitter-legesher-python (label: Good First Issue)
    Learn and code in Python using your native language.
  • mypy (label: good-first-issue)
    An optional static typing for python.
  • python-ds (label: good first issue)
    A repository for data structures and algorithms in Python.
  • numpy (label: good first issue)
    It is the core library for scientific computing, which contains a powerful n-dimensional array object.

Ruby

  • JRuby (label: beginner)
    An implementation of Ruby on the Java Virtual Machine.
  • 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"
  • bolt (label: Beginner Friendly)
    Bolt is a Ruby command-line tool for executing commands, scripts, and tasks on remote systems using SSH and WinRM.
  • chatwoot (label: good first issue)
    Opensource customer support platform which can be an alternative to Intercom, Zendesk, Drift, Crisp etc.
  • mapknitter (label: first-timers-only)
    Upload your own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print.
  • Ruby on Rails (label: good first issue)
    Ruby on Rails (Rails) is an open source web application framework written in Ruby.
  • Faker (label: good first issue)
    Faker is a Ruby library for generating fake data such as names, addresses, and phone numbers.

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
  • TiKV (label: D: Easy)
    A distributed transactional key-value database
  • nushell (label: good first issue)
    A modern shell for the GitHub era written in Rust.
  • Hyper (label: E-easy)
    A fast, safe and correct low-level HTTP library for Rust.

Scala

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

Swift

  • OpenFoodFacts-iOS (label: help wanted)
    Collaborative, free and open database of food products from around the world. Scan barcode to get info or add a product

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-eslint-rules (label: nice first contribution)
    ESLint rules for TSLint.
  • reatom (label: good first issue)
    Reatom is declarative and reactive state manager, designed for both simple and complex applications.
  • game-of-life (label: good first issue)
    Conway's Game of Life web version!

Contribute

Contributions are welcome! See the contribution guidelines.

License

CC0

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