sumi (墨, /sɯmi/): ink, especially the type used in traditional ink wash painting.
See how git-sumi can help you write better commit messages:
git-sumi_demo.mp4
-
Customizable rules: Configure rules to enforce Conventional Commits, length limits, Gitmoji usage, and more.
-
Clear error reporting: Provides detailed error reporting, making fixing commit messages straightforward and educational.
-
Seamless integration: As a single binary, git-sumi easily integrates into your existing workflow with minimal setup. You can even use the GitHub Action to lint your commits (or PR titles) without installing anything.
Install git-sumi:
cargo install git-sumi
# or use pip
pip install git-sumi # or pipx install git-sumi
# or use chocolatey on Windows
choco install git-sumi
Create a base sumi.toml
configuration file in your repository:
git sumi --init
Edit sumi.toml
with your project's rules:
# Rule: Use the imperative mood in the description.
# Example: 'Fix bug' instead of 'Fixed bug'.
imperative = true
# Rule: Body line length limit.
# A value of 0 disables the rule.
max_body_length = 74
# Rule: No leading, trailing, or consecutive spaces.
whitespace = true
Set up automatic commit message validation:
git sumi --init commit-msg
Before each commit, git-sumi will lint your commit message. If it doesn't meet your project's rules, you'll see an error message and the commit will be aborted.
Learn how to use git-sumi from the documentation.
Please do! Contributions are always welcome. We appreciate improvements to the documentation, development of new rules, code cleanup, resolving issues, requesting or developing new functionality…
Take a look at our Contributing Guidelines for more information on how to get started.
This project is licensed under the terms of both the MIT license and the Apache License (Version 2.0), at your option.