|
| 1 | +# Contribution Guidelines |
| 2 | + |
| 3 | +We welcome all support, whether on bug reports, feature requests, code, design, reviews, tests, documentation, and more. |
| 4 | + |
| 5 | +## Development |
| 6 | + |
| 7 | +### Install |
| 8 | + |
| 9 | +> Clone the project on your computer, and install [Node](https://nodejs.org) and [nvm](https://github.com/creationix/nvm). |
| 10 | +
|
| 11 | +```sh |
| 12 | +# Switch to the right version of Node. |
| 13 | +nvm use |
| 14 | +# Then, install all project dependencies. |
| 15 | +npm install |
| 16 | +``` |
| 17 | + |
| 18 | +Also take the time to integrate [Prettier](https://prettier.io/) and [ESLint](https://eslint.org/) with your code editor. |
| 19 | + |
| 20 | +### Working on the project |
| 21 | + |
| 22 | +> Everything mentioned in the installation process should already be done. |
| 23 | +
|
| 24 | +```sh |
| 25 | +# Make sure you use the right node version. |
| 26 | +nvm use |
| 27 | +# View available commands with: |
| 28 | +npm run |
| 29 | +# Most used commands: |
| 30 | +npm run test:watch |
| 31 | +npm run lint |
| 32 | +``` |
| 33 | + |
| 34 | +### Releasing a new version |
| 35 | + |
| 36 | +- Make a new branch for the new release. |
| 37 | +- Follow [stylelint’s semantic versioning policy](https://github.com/stylelint/stylelint/blob/master/docs/user-guide/semantic-versioning-policy.md) to determine what new version to create. |
| 38 | +- Update the [CHANGELOG](CHANGELOG.md). |
| 39 | +- If there are breaking changes, make sure to document them separately, and add any upgrade considerations. |
| 40 | +- Update the version number in `package.json`, following semver. |
| 41 | +- Make sure the documentation is up-to-date (`npm run build:docs`) |
| 42 | +- Make a PR and squash merge it. |
| 43 | +- Back on master with the PR merged, use `npm publish`. |
| 44 | +- Head over to [https://www.npmjs.com/package/stylelint-config-torchbox](https://www.npmjs.com/package/stylelint-config-torchbox) and check that all is well. |
| 45 | +- Finally, go to GitHub and create tag then a release for the new version, with the corresponding CHANGELOG entry as content. |
| 46 | +- Done! |
0 commit comments