diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..cc8d91f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,37 @@ +Contributions are very welcome. If you want a feature to be added, +chances are it will not happen unless you actually write the code. + +To get setup, run `bundle install`. You +can run the full test suite with `rspec spec/` or `rake`. + +All pull requests which add a feature or fix a bug must have the +following things: + +* Integration test(s). These generally go into + `spec/integration/session_spec.rb`, unless it's something specific to + the driver, in which case it goes in `spec/integration/driver_spec.rb`. + (So a test for `page.driver.resize` goes in `driver_spec.rb` but a test + for `page.execute_script` goes in `session_spec.rb`.) +* A [good commit + message](https://github.com/blog/926-shiny-new-commit-styles) +* An entry into the changelog. This currently resides at the bottom of + the `README.md` file. Reference the Github issue number if there is an + associated bug report. Feel free to add your name if you want to be + credited. + +Some other things to bear in mind: + +* While PhantomJS is capable of compiling and running CoffeeScript code + directly, I prefer to compile the code myself and distribute that (it + makes debugging easier). Running `rake autocompile` will watch the + `.coffee` files for changes, and compile them into + `lib/capybara/client/compiled`. +* If you've worked on your changes over time, please squash the commits + in a sensible manner so that each commit is self-contained. If you + need to update a pull request with new changes, you can just `git push + -f` to your branch which will overwrite previous commits that you have + now squashed. +* Please try to pay attention to and follow the existing coding style. + +Thanks! It's really great when people help with Poltergeist's +development. diff --git a/README.md b/README.md index 3959568..1eb26f2 100644 --- a/README.md +++ b/README.md @@ -285,17 +285,6 @@ Please include the following information: * State which versions of Poltergeist and PhantomJS you are using, and on what operating system. -## Hacking ## - -Contributions are very welcome. To get setup, run `bundle install`. You -can run the full test suite with `rspec spec/` or `rake`. - -While PhantomJS is capable of compiling and running CoffeeScript code -directly, I prefer to compile the code myself and distribute that (it -makes debugging easier). Running `rake autocompile` will watch the -`.coffee` files for changes, and compile them into -`lib/capybara/client/compiled`. - ## Changes ## ### 0.8.0 (unreleased) ###