Gommitlint is a simple CLI-tool for validating Git commit messages and repository state. At the moment it is in early development.
-
As a CLI-tool for pre-commit validation
-
In a CI/CD-pipeline to enforce team standards
-
As a Git hook for automatic validation
TE ==== Commit Message Rules
-
CommitsAhead - Limits how far a branch can diverge from a reference branch
-
ConventionalCommit - Enforces Conventional Commits format with configurable types and scopes
-
ImperativeVerb - Validates that commit messages begin with a verb in the imperative mood
-
JiraReference - Verifies commits reference valid Jira issue keys in a consistent format
-
SubjectCase - Enforces consistent capitalization in commit subjects
-
SubjectSuffix - Prevents commit subjects from ending with specified characters
-
SubjectLength - Limits commit subject line length for readability (default: 100 chars)
-
SignOff - Ensures commits include a Developer Certificate of Origin sign-off line
-
Spell - Catches common spelling mistakes with locale-specific dictionaries
-
Signature - Verifies commits have a cryptographic signature (GPG or SSH)
-
SignedIdentity - Validates signatures against trusted keys with full cryptographic verification
ED: Currently I’m not reading PRs as there are a few base things to fix before that.
Here’s how you can contribute:
-
Found a bug or have a great idea? Let us know in our Issue Tracker
-
Want to contribute code? Check out our Contribution Guide to get started.
Check out our Issues page.
Please Note: Gommitlint is currently in Alpha. This means:
-
APIs might change in breaking ways
-
Documentation is still being developed
-
Feel free to share ideas on how we can make it better
Gommitlint was inspired by Sidero Labs Conform tool.
Gommitlint is licensed under the EUPL 1.2 License. Most of the non-code bits are under Creative Commons CC0-1.0. For all the details, check out our LICENSE file and the headers in each file.