commitlint_cli 0.8.1 copy "commitlint_cli: ^0.8.1" to clipboard
commitlint_cli: ^0.8.1 copied to clipboard

Commitlint lint commit messages to satisfy conventional commit format

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
10
likes
140
points
15.1k
downloads

Publisher

unverified uploader

Weekly Downloads

Commitlint lint commit messages to satisfy conventional commit format

Repository (GitHub)

Documentation

Documentation
API reference

License

Apache-2.0 (license)

Dependencies

ansi, args, change_case, path, verbose, yaml

More

Packages that depend on commitlint_cli