# Contributing # Questions/Issues If you have a new feature you'd like to propose, a bug you found, or just an overall discusssion you would like to start, please file an issue with the appropriate label. # Reporting a bug 1. Update to the latest stable release. (the issue may have already been fixed) 2. Do your best to search for similar issues. 3. Provide a descriptive title, steps to reproduce, expected results and actual results. (brownie points for screenshots and/or error stack traces) 4. Your issue will be verified and labeled. 5. Keep up to date with the status of your issue. If your issue becomes stale, it may be closed. 6. If you're adventurous enough, submit a pull request with the fix (see [Pull Requests](#pull-requests)) # Submitting a feature request 1. Search for similar feature requests. There's no sense in duplicate effort. 2. Provide a descriptive expalantion of the feature you are requesting and examples of why the feature is needed. 3. If the feature seems complex, consider writing some documentation or an example api to implement the feature. 4. If you're adventurous enough, submit a pull request with feature yourself. (see [Pull Requests](#pull-requests)) # Pull Requests Here's a quick guide to submitting pull requests for QA Tools 1. Fork the repo. 2. Ensure you have all development requirements. If you're unsure of the requirements, read through that project's documentation. A good start is Node.js (0.12.x recommended). 3. Write a test(s) for your change. Only pull requests with passing tests will be accepted. 4. Commit your change. If you're fixing a bug, note that isssue in your commit message. (see [commit messages](#commit-messages) 5. Push to your fork and submit a pull request. In the pull request title, please use one of the following tags: BUGFIX, DOCUMENTATION, ENHANCEMENT, FEATURE, REFACTOR. * FEATURE and ENHANCEMENT tags are for things users might be interested in. - FEATURE tag is a standalone, new addition. e.g. a new command - ENHANCEMENT tag is an improvement on an existing feature. In the description please provide an explanation as to why the change is being introduced, as well as a brief usage example. If the change requires configuartion changes or internal usage changes, please add a BREAKING tag. e.g. [BREAKING BUGFIX]. # Commit Messages This project uses the [conventional-changelog](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit) convention. Commit messages should be formatted as follows: ``` ():