βGo then, there are other commits than these.β
β commala, probably
commala is a commit linting tool that ensures that certain standards are met before you merge to keep your git history clean and consistent. commala is part of your Ka-tet, when you walk through the Wastelands of software development.
- Author Name: Check if the name of the author is set
- Author Email: Check if the email address of the author is set
- Branch: Check if the branch follows the conventional branch specification
- Message: Check if the commit message follows the conventional commit specification
- Sign-off: Check if the commit is signed off
If you want to use it on Github, try out the Github Action. You can find an example workflow here. For Gitlab CI/CD, you can copy this example and modify it to your needs.
You can configure commala via .commala.yml or command line parameters:
report:
junit:
path: commala-junit.xml # --report-junit-path
validate:
author:
name:
enabled: true # --author-name-enabled
whitelist: [] # --author-name-whitelist
email:
enabled: true # --author-email-enabled
whitelist: [] # --author-email-whitelist
branch:
enabled: true # --branch-enabled
whitelist: [] # --branch-whitelist
message:
enabled: true # --message-enabled
whitelist: [] # --message-whitelist
signoff:
enabled: true # --signoff-enabled
whitelist: [] # --signoff-whitelistCommala supports whitelisting specific contributors (by email) to skip validation for their commits. This is useful for automated bot accounts like Dependabot or Renovate that may not follow conventional commit standards.
Each validator can have its own whitelist configured via .commala.yml:
validate:
branch:
enabled: true
whitelist:
- "dependabot[bot]@users.noreply.github.com"
- "renovate[bot]@users.noreply.github.com"
message:
enabled: true
whitelist:
- "dependabot[bot]@users.noreply.github.com"Or via CLI flags:
commala check HEAD~5 \
--branch-whitelist="dependabot[bot]@users.noreply.github.com" \
--message-whitelist="dependabot[bot]@users.noreply.github.com"How It Works:
- Commits from whitelisted authors are marked as "skipped" during validation
- Skipped commits are clearly marked in console output (gray color)
- JUnit reports include
<skipped>elements for whitelisted commits - Skipped commits don't count as failures
- Whitelist matching uses exact email comparison (case-sensitive)
The commala command is pretty easy. You can run the checks on all commits like this:
commala checkIf you want to check all commits, just pass two dots:
commala check ..If you want to specify the commit to start and check until HEAD, just specify the commit hash followed by two dots:
commala check a1b2c3d4e5f67890abcdef1234567890abcdef12..If you want to specify the commit to end the check and start from the beginning, just specify the commit hash preceded by two dots:
commala check ..a1b2c3d4e5f67890abcdef1234567890abcdef12If you want to specify a commit range, just specify two commit hashes with two dots between them:
commala check f725bf88adb76df5c8c576b514def199e20fc6a0..a1b2c3d4e5f67890abcdef1234567890abcdef12If you want to specify a negative index, just use the swung dash notation:
commala check HEAD~3To make it easy to use commala as part of a CI/CD job, it will output the result on the command line but also writes the result in JUnit XML format, so that it can be picked up by the source code versioning system of your choice. If one of the checks fails, commala will exit with a non-zero status.

