Thanks for your interest in contributing to rails-paradedb.
Before opening a PR, please read this guide for workflow and quality expectations. If anything is unclear, ask in the ParadeDB Slack community.
External contributions should be linked to a GitHub issue. If no issue exists for your bug/feature, please open one first.
Good starter issues are usually labeled good first issue.
Ideal issues for external contributors are well-scoped changes that are less
likely to conflict with core roadmap work. We welcome small documentation
contributions that accompany a feature, correct wrong information, or fix
typos, but we do not accept generic "documentation improvement" PRs.
This repository supports self-assignment:
- Confirm the issue is unassigned and not already being worked on.
- Comment
/taketo assign it to yourself.
If you can no longer work on it, remove yourself from assignees.
git clone https://github.com/paradedb/rails-paradedb.git
cd rails-paradedb
bundle install
prek install -fUnit tests:
bash scripts/run_unit_tests.shIntegration tests (starts ParadeDB via Docker):
bash scripts/run_integration_tests.shYou can also run one spec file:
bash scripts/run_unit_tests.sh spec/user_api_unit_spec.rbThis repository enforces markdown/style checks via prek and
.pre-commit-config.yaml.
Common commands:
prek run --all-files
prek install -fIf you change Ruby code, keep style consistent with existing files and tests.
Run these checks before opening a PR when you change API wrappers or packaging:
ruby scripts/check_api_coverage.rb
bash scripts/smoke_gem_install.sh- Ensure your change has an issue.
- Branch from
main. - Add or update tests for behavior changes.
- Update docs/examples when public API changes.
- Open a PR to
main. - Ensure CI passes.
The repository enforces PR title linting and follows Conventional Commits. We will not merge a feature without appropriate tests.
If you add a user-facing feature, include docs updates in the same PR:
README.mdfor public API behaviorexamples/for practical usage- inline comments/docstrings when needed for maintainability
We will not merge a feature without appropriate documentation.
In order for us, ParadeDB, Inc., 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 on the CLA Assistant website.
ParadeDB uses a tool called CLA Assistant to help us track contributors' CLA status. CLA Assistant will automatically post a comment to your pull request indicating whether you have signed the CLA. If you have not signed the CLA, you must do so before we can accept your contribution. Signing the CLA is a one-time process for this repository, is valid for all future contributions to rails-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 rails-paradedb, you agree that your contributions will be licensed under the MIT License.