# Contributing ## Modifying the code First, ensure that you have the latest [Node.js](http://nodejs.org/) and [npm](http://npmjs.org/) installed. Test that Grunt's CLI is installed by running `grunt --version`. If the command isn't found, run `npm install -g grunt-cli`. For more information about installing Grunt, see the [getting started with Grunt guide](http://gruntjs.com/getting-started). 1. Fork and clone the repo. 2. Run `npm install` to install all build dependencies (including Grunt). 3. Run `grunt` to grunt this project. Assuming that you don't see any red, you're ready to go. Just be sure to run `grunt` after making any changes, to ensure that nothing is broken. ## Submitting pull requests 1. Create a new branch, please don't work in your `master` branch directly. 2. Add failing tests for the change you want to make. Run `grunt` to see the tests fail. 3. Fix stuff. 4. Run `grunt` to see if the tests pass. Repeat steps 2-4 until done. 5. Update the documentation to reflect any changes. 6. Push to your fork and submit a pull request. ## Licensing By contributing your code, you agree to license your contribution under [the MIT License](https://github.com/twbs/grunt-bootlint/blob/master/LICENSE). ## Shipping a release 1. Update the `version` field in `package.json` 2. Add an entry in the "Release History" section of `README.md`. 3. Ensure the changes in (2) and (3) have been committed and pushed to `master`. 4. Tag a new [Release](https://github.com/twbs/grunt-bootlint/releases) in GitHub and write a summary of the changes in the Release's description. 5. `git checkout master` and `git pull` 6. `git status` to ensure you have no uncommitted local changes or extraneous untracked files. 7. `npm publish` 8. Done. Congratulations!