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 🌟
AI Favorites🦾:
1. CopilotKit - In-app AI chatbots and AI Textareas
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 replacement. With autocomplete, insertions and generations.
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.
🕹️ Open-source, developer-first LLMOps platform designed to streamline prompt design, version management, instant delivery, collaboration, troubleshooting, observability and more.
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.
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.
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
Superduper: Integrate AI models and machine learning workflows with your database to implement custom AI applications, without moving your data. Including streaming inference, scalable model hosting, training and vector search.
Superduper (formerly SuperDuperDB) is a Python framework for integrating AI models and workflows with major databases. Implement custom AI solutions without moving your data through complex pipelines and specialized vector databases, including hosting of your own models, streaming inference and scalable model training/fine-tuning.
Transform your existing database into an AI development and deployment stack with one command, streamlining your AI workflows in one environment instead of being spread across systems and environments:
db = superduper('mongodb|postgres|mysql|sqlite|duckdb|snowflake://<your-db-uri>')
Run Superduper anywhere, or contact us to learn more about the enterprise platform for bringing your apps to production at scale.
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
Odigos supports any application written in Java, Python, .NET, Node.js, and Go.
Historically, compiled languages like Go have been difficult to instrument without code changes. Odigos solves this problem by uniquely leveraging eBPF.
🤝 Keep your existing observability tools
Odigos currently supports all the popular managed and open-source destinations.
By producing data in the OpenTelemetry format, Odigos can be used with any observability tool that supports OTLP.
For a complete list of supported destinations, see here.
🎛️ Collectors Management
Odigos automatically scales OpenTelemetry collectors based on observability data volume.
Manage and configure collectors via a convenient web UI.
Installation
Installing Odigos takes less than 5 minutes and requires no code changes.
Download our CLI and run the following command:
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.
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.
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.