The Chronos cookbook uses GitHub to triage, manage, and track issues and pull requests to the cookbook. GitHub has excellent documentation on how to fork a repository and start contributing.
All contributors are welcome to submit patches, but we ask you keep the following guidelines in mind:
If you're looking to contribute but aren't sure where to start, check out the open issues.
The submitted code should be compatible with the standard Ruby coding guidelines. Here are some additional resources:
This cookbook is equipped with Rubocop, which will fail the build for violating these standards.
Whether your pull request is a bug fix or introduces new classes or methods to the project, we kindly ask that you include tests for your changes. Even if it's just a small improvement, a test is necessary to ensure the bug is never re-introduced.
We understand that not all users are familiar with the testing ecosystem. This cookbook is fully-tested using Foodcritic, Rubocop, and Test Kitchen with Serverspec bussers.
Developing this cookbook requires a sane Ruby 1.9+ environment with bundler installed. In order to run the Test Kitchen integration suite, you must also have Vagrant and VirtualBox installed:
-
Clone the git repository from GitHub:
$ git clone git@github.com:mdsol/chronos_cookbook.git -
Install the dependencies using bundler:
$ bundle install -
Create a branch for your changes:
$ git checkout -b my_bug_fix -
Make any changes
-
Write tests to support those changes.
-
Run the tests:
$ bundle exec rake -
Assuming the tests pass, open a Pull Request on GitHub
- Do include tests for your contribution
- Do NOT break existing behavior (unless intentional)
- Do NOT modify the version number in the
metadata.rb - Do NOT modify the CHANGELOG