Contributing to Airbyte
We love contributions to Airbyte, big or small.
Thank you for your interest in contributing! We love community contributions. Contribution guidelines are listed below. If you're unsure about how to start contributing or have any questions even after reading them, feel free to ask us on Slack in the #dev or #general channel.
However, for those who want a bit more guidance on the best way to contribute to Airbyte, read on. This document will cover what we're looking for. By addressing the points below, the chances that we can quickly merge or address your contributions will increase.
We gladly welcome all improvements existing on the codebase.
Before jumping into the code please first:
- 3.Assign the issue to yourself and add a comment to tell that you want to work on this.
This will enable our team to make sure your contribution does not overlap with existing works and will comply with the design orientation we are currently heading the product toward. If you do not receive an update on the issue from our team, please ping us on Slack!
- 2.Open a branch for your work.
- 3.Code, and please write tests.
- 4.Ensure all tests pass. For connectors, this includes acceptance tests as well.
- 1.Rebase master with your branch before submitting a pull request.
- 2.Open the pull request.
- 3.Wait for a review from a community maintainer or our team.
When we review, we look at:
- Does the PR solve the issue?
- Is the proposed solution reasonable?
- Is it tested? (unit tests or integration tests)
- Is it introducing security risks? Once your PR passes, we will merge it 🎉.
It's easy to add your own connector to Airbyte! Since Airbyte connectors are encapsulated within Docker containers, you can use any language you like. Here are some links on how to add sources and destinations. We haven't built the documentation for all languages yet, so don't hesitate to reach out to us if you'd like help developing connectors in other languages.
Please note that, at no point in time, we will ask you to maintain your connector. The goal is that the Airbyte team and the community helps maintain the connector.
Our goal is to keep our docs comprehensive and updated. If you would like to help us in doing so, we are grateful for any kind of contribution:
- Report missing content
- Fix errors in existing docs
- Help us in adding to the docs
- Fix errors in existing tutorials
- Add new tutorials (please reach out to us if you have ideas to avoid duplicate work)
- Request tutorials
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.
You are welcome to add your own reactions to the existing issues. We will take them in consideration in our prioritization efforts, especially for connectors.
❤️ means that this task is CRITICAL to you. 👍 means it is important to you.
To request new features, please create an issue on this project.
If you would like to suggest a new feature, we ask that you please use our issue template. It contains a few essential questions that help us understand the problem you are looking to solve and how you think your recommendation will address it. We also tag incoming issues from this template with the "community_new" label. This lets our teams quickly see what has been raised and better address the community recommendations.
This is very similar to requesting new features. The template will change a bit and all connector requests will be tagged with the “community” and “area/connectors” labels.
Bug reports help us make Airbyte better for everyone. We provide a preconfigured template for bugs to make it very clear what information we need.