@guidecx/config-commitlint v0.0.1-alpha.0
GCX Commitlint Config
Note: NPM versions 3-6 do not automatically install peerDependencies. For this reason, you will need to install
commitlint-plugin-function-rulesinto your repo manually for this library to work; https://stackoverflow.com/a/35207983
Installing library into another project
The index.js file exports the commitlint configuration file. In another project, you can do the following to include these linting rules:
- check your npm version via
npm -v. The major version number will be needed later - at the root of the other project, install the package with
npm install --save-dependency @guidecx/config-commitlint - if you are on npm versions 3-6, note that a peer dependency is required for this package to work.
npm install --save-dev commitlint-plugin-function-rules '(if you are on version 1-2, or 7+ this is not required) - in your
package.json, add the following property:"commitlint": { "extends": [ "@guidecx/config-commitlint" ] } - make sure you have husky and lint-staged installed. according to the lint-staged docs, the easiest way to install them together is by running
npx mrm lint-staged. - Add a husky hook to your project via the husky CLI:
npx husky add .husky/commit-msg 'npx --no-install commitlint --edit $1' - if everything was done correctly, making a
git commitwill now enforce our linting rules. If this did not work, please see the instructions on step #5 for further assistance
Example commitlint patterns
When using this package, all commit messages must match the following pattern:
type(scope): summarywhere type is an enum chore, feat, fix, revert, scope is a positive integer that matches a clubhouse story number, and summary is a brief description of the changes made. It is preferred to add a full-stop (period) to the end of each commit message.
Based on the rules file, these are some of the patterns that are considered valid:
chore(12): a chore, my friend
feat(12378): this is a story.
fix(828): big bad bug fix
revert(12): oh wow.4 years ago