Thank you for your interest in contributing! This guide will help you get started.
This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
- Fork and clone the repository
- Run
bin/setupto install dependencies - Run
bundle exec raketo verify tests and linting pass - Use
bin/consolefor an interactive prompt to experiment
bundle exec rake # Run both RuboCop and RSpec (recommended)
bundle exec rspec # Run tests only
bundle exec rubocop # Run linter only
bundle exec rubocop -a # Auto-fix safe lint issues- Ruby 3.2+ required
- Max line length: 120 characters
- RuboCop with
rubocop-rspecandrubocop-performanceextensions — runbundle exec rubocopbefore committing - RSpec with
expectsyntax only (no monkey patching)
This project uses Conventional Commits.
Format: <type>[optional scope]: <description>
| Type | Description |
|---|---|
feat |
New feature |
fix |
Bug fix |
docs |
Documentation only |
style |
Formatting, whitespace |
refactor |
Code change (no feature/fix) |
perf |
Performance improvement |
test |
Adding/fixing tests |
build |
Build system or dependencies |
ci |
CI configuration |
chore |
Maintenance tasks |
Examples:
feat: add custom header support
fix: handle nil response body
docs: update README with POST examples
- Fork the repository and create a feature branch from
master - Write tests for any new functionality
- Run
bundle exec raketo ensure all tests pass and RuboCop is clean - Update documentation as needed:
CHANGELOG.md— add an entry under[Unreleased]README.md— update usage examples if the public API changed
- Commit using Conventional Commits format
- Push your branch and open a Pull Request
- Include the http_wrapper version, Ruby version, and OS
- Provide a minimal code snippet that reproduces the issue
- Describe expected vs actual behavior
- Explain the problem you're trying to solve
- Describe your proposed solution
- Consider alternatives you've evaluated
- Keep changes focused — one feature or fix per PR
- Add tests for new functionality
- Follow existing code patterns and conventions
Open a GitHub issue for questions or discussion.