Contributing

# Questions

Please ask support questions on StackOverflow or Gitter.

Any questions posted to webdriver-manager's Github Issues will be closed with this note:

Please direct general support questions like this one to an appropriate support channel, see https://github.com/angular/webdriver-manager/blob/master/CONTRIBUTING.md#questions. Thank you!

# Issues

If you have a bug or feature request, please file an issue. When submitting an issue, please include a reproducible case that we can actually run.

Please format code and markup in your issue using github markdown.

# Contributing to Source Code (Pull Requests)

Loosely, follow the Angular contribution rules.

- If your PR changes any behavior or fixes an issue, it should have an associated test.
- New features should be general and as simple as possible.
- Breaking changes should be avoided if possible.
- All pull requests require review. No PR will be submitted without a comment from a team member stating LGTM (Looks good to me).

## Webdriver-manager specific rules

- JavaScript style should generally follow the Google JS style guide.
- Wrap code at 100 chars.
- Document public methods with jsdoc.
- Be consistent with the code around you!

## Commit Messages

Please write meaningful commit messages - they are used to generate the changelog, so the commit message should tell a user everything they need to know about a commit. Webdriver-manager follows AngularJS's commit message format.

In summary, this style is

    <type>(<scope>): <subject>
    <BLANK LINE>
    <body>

Where `<type>` is one of [feat, fix, docs, refactor, test, chore, deps] and `<scope>` is a quick descriptor of the location of the change, such as cli, clientSideScripts, element.

## Testing your changes

Test your changes on your machine by running `npm test` to run the test suite.

When you submit a PR, tests will also be run on the Continuous Integration environment through Travis. If your tests fail on Travis, take a look at the logs - if the failures are known flakes in Internet Explorer or Safari you can ignore them, but otherwise Travis should pass.