Skip to content

hyiso/commitlint

Repository files navigation

commitlint

Pub Version popularity likes CI

Dart version commitlint - A tool to lint commit messages. (Inspired by JavaScript commitlint)

commitlint lint commit messages to satisfy conventional commit format

commitlint helps your team adhere to a commit convention. By supporting pub-installed configurations it makes sharing of commit conventions easy.

About Package Name

Because a package commit_lint already exists (not in active development), the name commitlint can't be used according to Pub's naming policy. So commitlint_cli is used currently.

Getting started

Install

Add commitlint_cli to your dev_dependencies in pubspec.yaml

# Install commitlint_cli
dart pub add --dev commitlint_cli

Configuration

# Simply use configuration of a package
echo "include: package:commitlint_cli/commitlint.yaml" > commitlint.yaml

You can also customize your configuration in commitlint.yaml

# Inherit configuration of a package
include: package:commitlint_cli/commitlint.yaml

# Custom rules
rules:
  type-case:
    - 2
    - always
    - 'upper-case'

# Whether commitlint uses the default ignore rules.
defaultIgnores: true
# Pattern that matches commit message if commitlint should ignore the given message.
ignores:
  - r'^fixup'

Test

# Lint from stdin
echo 'foo: bar' | dart run commitlint_cli
⧗  input: type: add docs
✖  type must be one of [build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test] type-enum

✖  found 1 errors, 0 warnings

Note: output on successful commit will be omitted, you can use the VERBOSE=true env to get positive output. (Functionality of verbose)

# Output on successful commit will be omitted
echo 'feat: test message' | dart run commitlint_cli
# Verbse Output on successful commit
echo 'feat: test message' | VERBOSE=true dart run commitlint_cli

Setup git hook

With husky (a tool for managing git hooks), commitlint cli can be used in commmit-msg git hook

Set commit-msg hook:

dart pub add --dev husky
dart run husky install
dart run husky set .husky/commit-msg 'dart run commitlint_cli --edit "$1"'

Make a commit:

git add .
git commit -m "Keep calm and commit"
# `dart run commitlint_cli --edit "$1"` will run

To get the most out of commitlint you'll want to automate it in your project lifecycle. See our Setup guide for next steps.

Documentation

See documention

  • Guides - Common use cases explained in a step-by-step pace
  • Concepts - Overarching topics important to understand the use of commitlint
  • Reference - Mostly technical documentation
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy