Have a feature idea, bug fix, or refactoring suggestion? Contributions are welcome!
- Check Issues to see if your contribution has already been discussed and/or implemented.
- If not, open an issue to discuss your contribution. I won't accept all changes and do not want to waste your time.
- Once you have the 👍, fork the repo, make your changes, and open a PR.
- This project has a coding style enforced by RuboCop. Use hash rockets and double-quoted strings, and otherwise try to follow the Ruby style guide.
- Writing tests is strongly encouraged! This project uses Minitest.
Note that Bundler 1.10 is required for development. Run gem update bundler
to get the latest version.
After checking out the airbrussh repo, run bin/setup
to install dependencies. Run rake
to execute airbrussh's tests and RuboCop checks.
Airbrussh is designed to work against multiple versions of SSHKit and Ruby. In order to test this, we use the environment variable sshkit
in order to run the tests against a specific version. The combinations of sshkit and ruby we support are specified in .github/workflows/ci.yml.
A Guardfile is also present, so if you'd like to use Guard to do a TDD workflow, then:
- Run
bundle install --with extras
to get the optional guard dependencies - Run
guard
to monitor the filesystem and automatically run tests as you work