CONTRIBUTING.md in cpl-1.0.2 vs CONTRIBUTING.md in cpl-1.0.3

- old
+ new

@@ -1,28 +1,47 @@ # Contributing ## Installation -Rather than installing `cpl` as a Ruby gem, install this repo locally and alias `cpl` command globally for easier access, e.g.: +Rather than installing `cpl` as a Ruby gem, install this repo locally and alias the `cpl` command globally for easier +access, e.g.: + ```sh git clone https://github.com/shakacode/heroku-to-control-plane # Create an alias in some local shell startup script, e.g., `.profile`, `.bashrc`, etc. -alias cpl="~/projects/heroku-to-control-plane/cpl" +alias cpl="~/projects/heroku-to-control-plane/bin/cpl" ``` Or set the path of the Ruby gem in your Gemfile. ```ruby gem 'cpl', path: '~/projects/heroku-to-control-plane' ``` -## Linting -Be sure to run `rubocop -a` before committing code. +## Linting/Testing +Before committing or pushing code, be sure to: + +- Run `bundle exec rake update_command_docs` to sync any doc changes made in the source code to the docs +- Run `bundle exec rubocop -a` to fix any linting errors +- Run `bundle exec rspec` to run the test suite + +You can also install [overcommit](https://github.com/sds/overcommit) and let it automatically check for you: + +```sh +gem install overcommit + +overcommit --install +``` + ## Debugging -1. Install gem: `gem install debug` -2. Require: Add a `require "debug"` statement to the file you want to debug. -3. Add breakpoint: Add a `debugger` statement to the line you want to debug. -4. Modify the `lib/command/test.rb` file to triggger the code that you want to run. -5. Run the test in your test app with a `.controlplane` directory. `cpl test -a my-app-name` +1. Add a breakpoint (`debugger`) to any line of code you want to debug. +2. Modify the `lib/command/test.rb` file to trigger the code you want to test. To simulate a command, you can use + `Cpl::Cli.start` (e.g., `Cpl::Cli.start(["deploy-image", "-a", "my-app-name"])` would be the same as running + `cpl deploy-image -a my-app-name`). +3. Run the `test` command in your test app with a `.controlplane` directory. + +```sh +cpl test +```