Contributing to Airbyte
Thank you for your interest in contributing! We love community contributions. Read on to learn how to contribute to Airbyte. We appreciate first time contributors and we are happy to assist you in getting started. In case of questions, just reach out to us via email: hey@airbyte.io or Slack!
Before getting started, please review Airbyte's Code of Conduct. Everyone interacting in Slack, codebases, mailing lists, events, or other Airbyte activities is expected to follow Code of Conduct.
Code Contributions
Most of the issues that are open for contributions are tagged with good-first-issue
or help-welcome
.
Please include documentation when contributing a new connector. Refer to the guidelines on updating documentation which includes a template to use while documenting a new connector.
Proposed updates to a connector should include updates to the connector's documentation.
Due to project priorities, we may not be able to accept all contributions at this time. We are prioritizing the following contributions:
- Bug fixes, features, and enhancements to existing API source connectors.
- Migrating Python CDK to Low-code or No-Code Framework.
- New connector sources built with the Low-Code CDK or Connector Builder, as these connectors are easier to maintain.
- Bug fixes, features, and enhancements to the following database sources: Postgres, MySQL, MSSQL.
- Bug fixes to the following destinations: BigQuery, Snowflake, Redshift, S3, and Postgres.
- Helm Charts features, bug fixes, and other platform bug fixes.
Airbyte is undergoing a major revamp of the shared core Java destinations codebase, with plans to release a new CDK in 2024. We are actively working on improving usability, speed (through asynchronous loading), and implementing Typing and Deduplication (Destinations V2). For this reason, Airbyte is not reviewing/accepting new Java connectors for now.
Contributions outside of these will be evaluated on a case-by-case basis by our engineering team.
The usual workflow of code contribution is:
- Fork the Airbyte repository.
- Clone the repository locally.
- Create a branch for your feature/bug fix with the format
{YOUR_USERNAME}/{FEATURE/BUG}
(e.g.jdoe/source-stock-api-stream-fix
) - Make and commit changes.
- Push your local branch to your fork.
- Submit a Pull Request so that we can review your changes.
- Link an existing Issue that does not include the
needs triage
label to your Pull Request. A pull request without a linked issue will be closed, otherwise. - Write a PR title and description that follows the Pull Request Handbook.
- An Airbyte maintainer will trigger the CI tests for you and review the code.
- Review and respond to feedback and questions by Airbyte maintainers.
- Merge the contribution.
Pull Request reviews are done on a regular basis.
Please make sure you respond to our feedback/questions and sign our CLA.
Pull Requests without updates will be closed due inactivity.
Guidelines to common code contributions:
Documentation
We welcome Pull Requests that enhance the grammar, structure, or fix typos in our documentation.
-
Check the Updating Documentation guide for submitting documentation changes.
-
Refer to this template if you're submitting a new connector to the cataolg.
Community Content
We welcome contributions as new tutorials / showcases / articles, or to any of the existing guides on our tutorials page.
We have a repo dedicated to community content: Write for the Community.
Feel free to submit a pull request in this repo, if you have something to add even if it's not related to anything mentioned above.
Engage with the Community
Another crucial way to contribute is by reporting bugs and helping other users in the community.
You're welcome to enter the Community Slack and help other users or report bugs in Github.
- Refer to the Issues and Requests guide to learn about reporting bugs.