Welcome! We're excited that you're interested in contributing to ParadeDB and want to make the process as smooth as possible.
Before submitting a pull request, please review this document, which outlines what conventions to follow when submitting changes. If you have any questions not covered in this document, please reach out to us in the ParadeDB Community Slack or via email.
ParadeDB is structured as a monorepo containing all the projects, PostgreSQL extension(s), and other tools which together make ParadeDB. For development instructions regarding a specific project or Postgres extension, please refer to the README in the project's subfolder. For developing ParadeDB itself as the combination of all its subprojects, please see below.
All development of ParadeDB is done via Docker and Compose. Our Docker setup is split into three:
The docker-compose.dev.yml
file builds our Dockerfile
, the ParadeDB production image with all its features and extensions enabled. It is used to develop and test ParadeDB Postgres extensions and features as part of the full ParadeDB image. It is also used to develop and test new features and extensions outside of those actively developed by ParadeDB (for instance, installing a new third-party open-source PostgreSQL extension). We recommend using it when developing new features beyond the ParadeDB extensions and subprojects.
The docker-compose.yml
file pulls the latest published ParadeDB image from DockerHub. It is used for hobby production deployments. We recommend using it to deploy ParadeDB in your own infrastructure.
All changes to ParadeDB happen through Github Pull Requests. Here is the recommended flow for making a change:
dev
branch.pre-commit install
, to ensure code quality and consistency with upstream.dev
branch. Ensure that all tests and checks
pass. Note that the ParadeDB repository has pull request title linting in place
and follows the Conventional Commits spec.ParadeDB's public-facing documentation is stored in the docs
folder. If you are
adding a new feature that requires new documentation, please open a separate pull
request containing changes to the documentation only. Once your main pull request
is merged, the ParadeDB team will review and eventually merge your documentation
changes as well.
In order for us, Retake, Inc. (dba ParadeDB) to accept patches and other contributions from you, you need to adopt our ParadeDB Contributor License Agreement (the "CLA"). The current version of the CLA can be found here.
ParadeDB uses a tool called CLA Assistant to help us keep track of the CLA status of contributors. CLA Assistant will post a comment to your pull request, indicating whether you have signed the CLA or not. If you have not signed the CLA, you will need to do so before we can accept your contribution. Signing the CLA is a one-time process, is valid for all future contributions to ParadeDB, and can be done in under a minute by signing in with your GitHub account.
If you have any questions about the CLA, please reach out to us in the ParadeDB Community Slack or via email at legal@paradedb.com.
By contributing to ParadeDB, you agree that your contributions will be licensed under the GNU Affero General Public License v3.0.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。