Contributing Guidelines
June 10, 2026 · View on GitHub
Thank you for your interest in contributing to Valkey GLIDE for Ruby (valkey-rb). Whether it's a bug report, new feature, correction, or documentation, we value feedback from the community.
Please read this document before submitting issues or pull requests.
Reporting Bugs and Feature Requests
Use the GitHub issue tracker for bugs, feature requests, and questions.
Before creating a new issue:
- Search existing issues to avoid duplicates.
- Include Ruby version, OS/architecture,
valkey-rbversion, and Valkey/Redis server version. - For connection problems, note standalone vs cluster and whether TLS is enabled.
- Provide a minimal reproduction script when possible.
For issues that affect the shared Rust core or other language clients, consider opening an issue in valkey-glide as well.
Contributing via Pull Requests
- Work against the latest
mainbranch. - Check open and recently merged PRs for duplicates.
- For large changes (new command families, FFI updates, API breaks), open an issue first to discuss scope.
Pull request steps
-
Fork valkey-glide-ruby.
-
Make focused changes; avoid unrelated formatting drive-by edits.
-
Run local checks (see DEVELOPER.md):
bundle exec rubocop bundle exec rake test:standalone # standalone — requires Valkey on :6379 bundle exec rake test:cluster # if cluster-related — requires nodes :7000–:7005 -
Commit with DCO sign-off and conventional commits:
git commit -s -m "feat(ruby): add EXAMPLE command"Configure automatic signoff:
git config --global format.signOff true -
Open a PR and respond to CI feedback (RuboCop + test matrix in
.github/workflows/CI.yml).
GitHub guides: fork a repo, create a pull request.
Commit message format
<type>(<scope>): <description>
| Type | Use for |
|---|---|
feat | New feature or command |
fix | Bug fix |
docs | Documentation only |
test | Tests only |
refactor | Code change without behavior change |
chore | Tooling, CI, deps |
Scope: ruby or a command area (e.g. ruby-pubsub).
Developer Certificate of Origin (DCO)
All commits must include:
Signed-off-by: Your Name <your.email@example.com>
By signing off, you agree to the Developer Certificate of Origin.
Adding or Updating Commands
- Confirm the command exists in glide-core
request_type.rs. - Add or verify
RequestTypeinlib/valkey/request_type.rb. - Implement in the appropriate
lib/valkey/commands/*.rbmodule. - Add tests under
test/valkey/and lint coverage intest/lint/when matching redis-rb behavior. - Update the command implementation wiki.
See DEVELOPER.md for full details.
Updating the Native FFI Library
Changes that require a new libglide_ffi build:
- Build from valkey-glide/ffi at a compatible release tag.
- Copy
libglide_ffi.soorlibglide_ffi.dylibintolib/valkey/. - Document the valkey-glide version in the PR description.
- Test on the target platform (Linux x86_64/aarch64, macOS Intel/Apple Silicon).
AI-Assisted Development
If you use Cursor, Claude Code, or similar tools, read:
Code of Conduct
This project follows the Amazon Open Source Code of Conduct. See the FAQ or contact opensource-codeofconduct@amazon.com with questions.
Security
Report security vulnerabilities via valkey-glide SECURITY.md.
Licensing
Contributions are licensed under the same terms as the project. See LICENSE. You will be asked to confirm licensing in your PR.
Community
Join Valkey Slack: Join Valkey Slack.
Broader GLIDE contributing process: valkey-glide CONTRIBUTING.md.