Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luciancooper/commitlint-config
Shareable commitlint config
https://github.com/luciancooper/commitlint-config
Last synced: 2 days ago
JSON representation
Shareable commitlint config
- Host: GitHub
- URL: https://github.com/luciancooper/commitlint-config
- Owner: luciancooper
- License: mit
- Created: 2019-12-12T16:23:54.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-12-05T18:10:59.000Z (about 2 months ago)
- Last Synced: 2025-01-10T01:58:33.510Z (17 days ago)
- Language: JavaScript
- Size: 294 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @lcooper/commitlint-config
[![ci](https://img.shields.io/github/actions/workflow/status/luciancooper/commitlint-config/ci.yml?logo=github&style=for-the-badge)](https://github.com/luciancooper/commitlint-config/actions/workflows/ci.yml)
[![npm](https://img.shields.io/npm/v/@lcooper/commitlint-config?logo=npm&style=for-the-badge)](https://www.npmjs.com/package/@lcooper/commitlint-config)
[![license](https://img.shields.io/github/license/luciancooper/commitlint-config?color=brightgreen&style=for-the-badge)](#license)A sharable [commitlint](https://commitlint.js.org) config to enforce [conventional commits](https://conventionalcommits.org). Use with [`@commitlint/cli`](https://www.npmjs.com/package/@commitlint/cli).
## Installation
> Install with npm:
```bash
npm install --save-dev @commitlint/cli @lcooper/commitlint-config
```> Install with yarn:
```bash
yarn add -D @commitlint/cli @lcooper/commitlint-config
```## Usage
Add the `commitlint` field to your `package.json` file:
```json
"commitlint": {
"extends": [
"@lcooper",
]
}
```Or create a commitlint config file type of your choice in the root folder of your project:
`.commitlintrc`
```json
{
"extends": [
"@lcooper"
],
}
````.commitlintrc.js`
```javascript
module.exports = {
extends: [
'@lcooper',
],
};
```Check out the [commitlint docs](https://commitlint.js.org/concepts/shareable-config.html) for more details about sharable configs.
## Usage with Husky
You can configure a git commit message hook using [`husky`](https://github.com/typicode/husky), just add it as a `devDependency`.
If you are using `husky@v9`, follow the instructions on commitlints local setup [documentation page](https://commitlint.js.org/guides/local-setup.html).
To configure a husky commit message hook with `husky@v4`, add the following field to your `package.json`:
```json
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
```## Rules
This config extends [`@commitlint/config-conventional`](https://www.npmjs.com/package/@commitlint/config-conventional), and defines the following types:
|Type |Title |Description |
|----------|------------------------|-------------------------------------------------------------|
|`build` |Builds |Changes that affect the build system or external dependencies|
|`chore` |Chores |Other changes that don't modify src or test files |
|`ci` |Continuous Integration |Changes to continuous integration files and scripts |
|`docs` |Documentation |Changes to documentation |
|`feat` |Features |A new feature |
|`fix` |Bug Fixes |A bug fix |
|`perf` |Performance Improvements|A code change that improves performance |
|`refactor`|Code Refactoring |A code change that neither fixes a bug nor adds a feature |
|`release` |Releases |Changes to prepare for a release |
|`revert` |Reverts |Reverts a previous commit |
|`style` |Styles |Formatting and white-space changes |
|`test` |Tests |Adding missing tests or correcting existing tests |Additionally, the max line length of commit message headers, bodies and footers is `72` characters to enforce wrapping.
## License
[MIT](LICENSE)