💡31 Open-Source Libraries + Good First Issues (to become a master contributor)⛏️
Tags: opensource, webdev, react, ai
Published: 2024-01-05 17:01:22

Contributing to a great open-source library is the best way to establish your portfolio and to join an amazing community. 

I've compiled 31 open-source libraries and some good first issues to help boost your journey. 


DON'T FORGET TO STAR & SUPPORT THESE 🌟  


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/637xnt75fuwgfeaasdke.gif)

---
#AI Favorites🦾: 

### 1. [CopilotKit](https://github.com/CopilotKit/CopilotKit) - In-app AI chatbots and AI Textareas


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ox3mv8nmqzot6m4kvkdh.png)

Open-source platform for integrating key AI features into react apps using two react components. 

CopilotPortal: in-app AI chatbots that can "see" the current app state and take actions. 
CopilotTextarea: AI-powered <textarea /'> replacement. With autocomplete, insertions and generations. 


###[Good First Issue:](https://github.com/CopilotKit/CopilotKit/issues/62)
```
Gracefully fail if CopilotProvider is omitted 


The bug:

Virtually every CopilotKit functionality depends on a CopilotContext provided by the CopilotProvider. e.g. CopilotTextarea autocompletions, chatbot, etc. 
However when a CopilotProvider does not wrap the component, functionality fails silently.  


To Reproduce   

1. Omit <CopilotProvider>...</CopilotProvider> 
2. trigger useMakeCopilotReadable, useMakeCopilotActionable, CopilotTextarea, CopilotSidebarUIProvider 
3. See how functionality does not work, but no error is emitted 

Expected behavior An error is emitted, with clear description of the likely core issue and how to resolve it (namely, wrap the app in a CopilotProvider). Point to docs.
```

{% cta https://github.com/CopilotKit/CopilotKit %} Star CopilotKit ⭐️ {% endcta %}

---

###2.[PortKeyAI](https://github.com/Portkey-AI/gateway){% embed https://github.com/Portkey-AI/gateway no-readme %} 

###3.[Pezzo.ai](https://github.com/pezzolabs/pezzo){% embed https://github.com/pezzolabs/pezzo no-readme %} 


###4.[OpenVoice](https://github.com/myshell-ai/OpenVoice){% embed https://github.com/myshell-ai/OpenVoice no-readme %} 


###5.[LLMCourse](https://github.com/mlabonne/llm-course){% embed https://github.com/mlabonne/llm-course no-readme %}

---
&nbsp;

#Cloud & Database☁️
### 6. [Winglang](https://github.com/winglang/wing) - Cloud Oriented Programming Language



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gvfykepsj1tszs8260wj.png)


Wing is a programming language for cloud apps. 

It combines code for cloud infrastructure and applications, making cloud service development easier. 

Wing's unique execution model and testing simulator help build and deploy cloud apps efficiently.


###[Good First Issue:](https://github.com/winglang/wing/issues/4998)
```
Support Array.sort() method

Feature Spec:

let arr: MutArray<num>=[2, 1, 3, 9, 6, 4]; 
arr.sort(); 
log("${arr}");  // it should print sorted array in ascending order, eg: [1, 2, 3, 4, 6, 9] 

Component:
Wing SDK  

Community Notes: 

If you are interested to work on this issue, please leave a comment. If this issue is labeled needs-discussion, it means the spec has not been finalized yet. Please reach out on the #dev channel in the Wing Slack.
```

{% cta https://github.com/winglang/wing %} Star Winglang ⭐️ {% endcta %}

---
### 7. [StackQL](https://github.com/stackql/stackql) - SQL-Based Cloud Resource Management


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sdtf51ekap09idn80xnh.png)


StackQL provides a unique SQL-based framework to manage and query cloud resources and APIs across different providers like Google, AWS, Azure, and more. 

It simplifies cloud operations by allowing SQL-like commands for provisioning and operating cloud services. 

This makes StackQL a versatile tool for cloud resource management and interaction, especially for those familiar with SQL.


###[Good First Issue:](https://github.com/stackql/stackql/issues/280)
```
Add unit testing to package writer

Add unit testing for internal/stackql/writer .

Description: 
add implementation for testing sql_writer.go
modify sql_writer.go by adding function for dependency injection
add implementation for testing generic.go
modify generic.go by adding variable for patching GetDB function
modify entryutil.go to adjust sql_writer.go
```

{% cta https://github.com/stackql/stackql/ %} Star StackSQL ⭐️ {% endcta %}

---

###8.[Appwrite](https://github.com/appwrite/appwrite){% embed https://github.com/appwrite/appwrite no-readme %}

###9.[Supabase](https://github.com/supabase/supabase){% embed https://github.com/supabase/supabase no-readme %}

###10.[SuperDuperDB](https://github.com/SuperDuperDB/superduperdb){% embed https://github.com/SuperDuperDB/superduperdb no-readme %}

---
&nbsp;

#Dev Utilities🛠️

### 11. [Firecamp](https://github.com/firecamp-dev/firecamp) - Multi-Protocol API Collaboration Tool


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/adt6n8uv5dseylmemng0.png)



Firecamp is a versatile API development tool, supporting protocols like Rest, GraphQL, and WebSockets. 

It simplifies designing, testing, and documenting APIs, and enhances team collaboration on API projects.


###[Good First Issue:](https://github.com/firecamp-dev/firecamp/issues/137)
```
Help out with Manual Testing of Firecamp

Responsibilities:
Executing test cases and reporting results
Logging bugs and issues in the Github issue tracker
Providing feedback on usability and the testing process
Suggesting improvements to tests and expanding test coverage.
Benefits

Benefits for your testing profile and career:

Experience testing a real-world open source application
Each release will include your name with bugs fixes.
Exposure to different types of testing such as UI, API, integration, etc
Opportunity to have your contributions and feedback incorporated into the product
Collaborating with an open source community
Having your testing work visible to potential employers
Firecamp Swags (T-shirts and stickers)
Community shoutout and promotion

```

{% cta https://github.com/firecamp-dev/firecamp %} Star Firecamp ⭐️ {% endcta %}

---

###12.[Odigos](https://github.com/keyval-dev/odigos){% embed https://github.com/keyval-dev/odigos no-readme %}

###13.[Digger](https://github.com/diggerhq/digger){% embed https://github.com/diggerhq/digger no-readme %}
###14.[Mirrord](https://github.com/metalbear-co/mirrord){% embed https://github.com/metalbear-co/mirrord no-readme %}

---
&nbsp;

#Backend⚙️
### 15. [Cerbos](https://github.com/cerbos/cerbos) - Scalable, Language-Agnostic Authorization




![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cljttnnxua54lyg4w65x.png)


Cerbos offers unique, scalable solutions for implementing context-specific user permissions in applications. 

Its flexible, language-agnostic approach allows for easy integration and management of complex authorization structures. 

Distinctively, Cerbos simplifies the development of access control policies, making them more adaptable to various application needs.

###[Good First Issue:](https://github.com/cerbos/cerbos/issues/1920)
```
Produce output when the rule condition is not satisfied

Currently the output block is only evaluated if the rule is actually activated (action, roles and conditions are satisfied). 
In certain situations, it's desirable to produce output when the rule is nearly activated (action and roles match but the condition is not satisfied).

In order to maintain backward compatibility, reduce noise, and to keep policy execution as fast as possible (outputs incur a tiny overhead), the proposal is to let users add an optional when section to the output block to opt into this behaviour.

    - actions: ['view']
      effect: EFFECT_ALLOW
      roles: ['user']
      condition:
        match:
          expr: timestamp(R.expiry_date) > now()
      output: 
        expr: >
          format("%d hours until expiry", (timestamp(R.expiry_date) - now()).getHours())
        when:
          cond_fail: >
            format("expired on %s", R.expiry_date)
When evaluating the above rule,

if the action, roles and condition match, output will be the result of evaluating output.expr
If the condition is not satisfied, output will be the result of evaluating output. when.cond_fail if it exists. Otherwise no output will be produced.

```

{% cta https://github.com/cerbos/cerbos %} Star Cerbos ⭐️ {% endcta %}

---
###16.[Novu](https://github.com/novuhq/novu){% embed https://github.com/novuhq/novu no-readme %}

###17.[Trigger.dev](https://github.com/triggerdotdev/trigger.dev){% embed https://github.com/triggerdotdev/trigger.dev no-readme %}

###18.[SuperTokens](https://github.com/supertokens/supertokens-core){% embed https://github.com/supertokens/supertokens-core no-readme %}

###19.[Wazuh](https://github.com/wazuh/wazuh){% embed https://github.com/wazuh/wazuh no-readme %}

---
&nbsp;
#UI/UX 🦋:
### 20. [Flowbite ](https://github.com/themesberg/flowbite) - Top Library of CSS Components


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/98dwqyrhf1pbiqkpko8g.png)

One of the best and most respected libraries of UI components. 

Based on utility-first CSS framework. 

Easy to work with, full of important supports and templates. 


{% cta https://github.com/themesberg/flowbite %} Star Flowbite ⭐️ {% endcta %}
&nbsp;
###21.[MaterialUI](https://github.com/mui/material-ui) - Foundational React components implemented with Google's Material Design
{% embed https://github.com/mui/material-ui no-readme %} 
&nbsp;
###22. [SwiperUI](https://github.com/nolimits4web/swiper) - Respected library for implementing mobile swipe UI
{% embed https://github.com/nolimits4web/swiper no-readme %} 
&nbsp;
###23.[ReactSpring](https://github.com/pmndrs/react-spring) - implement animations in React with realistic physics 
{% embed https://github.com/pmndrs/react-spring no-readme %} 

---
&nbsp;
#Misc🎨

### 24. [SwirlSearch](https://github.com/swirlai/swirl-search) - Multi-Source AI Data Searcher


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/thplxod3d4vh1qq5hhpa.jpeg)


Swirl is an AI-powered search tool that simultaneously queries multiple data sources, including databases and public data services. 

It uses AI to rank results and generate insights, allowing for comprehensive searches across diverse data repositories. 

Swirl simplifies searching and analyzing data from various sources in one go, making it a unique tool for data-driven insights.


###[Good First Issue:](https://github.com/swirlai/swirl-search/issues/789)
```
Add a Connector: Yahoo search

It would help to search anything with Swirl on Yahoo effectively.

Locate and read a bit in their search API first. You might just need to make a new SearchProvider configration vs. a new Connector. Their docs should help guide you a bit in which way you might need to go.

```

{% cta https://github.com/swirlai/swirl-search/ %} Star SwirlSearch ⭐️ {% endcta %}

---

### 25. [Wasp](https://github.com/wasp-lang/wasp) - Develop full-stack web apps with React & Node.js


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/54jp6j6r8ils6we97i0f.png)

Rapid Full-Stack Web App Development with React & Node.js.

Wasp offers a simplified approach to building modern web applications, combining React for front-end and Node.js for back-end in a cohesive framework. 

###[Good First Issue:](https://github.com/wasp-lang/wasp/issues/874)

```
Add images (or link to the example app) of auth UI helpers Wasp provides

At this point in docs (also in the tutorial if we're using it), it would be nice to add an image of UI helpers for Auth (login/signup form, Google/GitHub button, ...) so developers can immediately see what they are getting and how nice it looks.
```

{% cta https://github.com/wasp-lang/wasp %} Star Wasp ⭐️ {% endcta %}

###26.[Logstash](https://github.com/elastic/logstash) 
{% embed https://github.com/elastic/logstash no-readme %} 

###27.[Snapify](https://github.com/MarconLP/snapify) 
{% embed https://github.com/MarconLP/snapify no-readme %} 

---
&nbsp;
#For Fun🎭

###28.[Twitter's Algorithm](https://github.com/twitter/the-algorithm){% embed https://github.com/twitter/the-algorithm no-readme %}

###29.[One Billion Row Challenge](https://github.com/gunnarmorling/1brc){% embed https://github.com/gunnarmorling/1brc no-readme %}

###30.[Book of Secret Knowledge](https://github.com/trimstray/the-book-of-secret-knowledge){% embed https://github.com/trimstray/the-book-of-secret-knowledge no-readme %}

###31.[GenAI for Beginners](https://github.com/microsoft/generative-ai-for-beginners){% embed https://github.com/microsoft/generative-ai-for-beginners no-readme %}