Skip to content
Projects

welpo/git-sumi has 32 GitHub stars and 4 forks. Star changes are not measured yet. Last checked 2026-11-11 05:03 UTC. Last push 2026-11-06.

How these counts are measured

The non-opinionated Rust-based commit message linter.

What you can do

  • 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.

Measured star growth

in 24h
Update delayed
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

git-sumi logo: a lantern held on a bamboo stick over the sea

Clean commits PRs welcome Crates.io downloads GitHub release Chocolatey Crates.io PyPI Codecov MIT or Apache 2.0 License CI Deployment Documentation Average time to resolve an issue Percentage of issues still open

Documentation | Website

git-sumi

The non-opinionated Rust-based commit message linter

sumi (墨, /sɯmi/): ink, especially the type used in traditional ink wash painting.

🎥 Demo

See how git-sumi can help you write better commit messages:

https://github.com/welpo/git-sumi/assets/6399341/cf1b4f00-3f79-454f-a533-5b36812dd464

✨ Main features

  • 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.

🚀 Quick start

Install git-sumi:

# From cargo.
cargo install git-sumi

# From pip.
uv tool install git-sumi
pipx install git-sumi
pip install git-sumi

# From mise.
mise use github:welpo/git-sumi

# Chocolatey (Windows).
choco install git-sumi

# Pre-built binaries from https://github.com/welpo/git-sumi/releases

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.

📝 Documentation

Learn how to use git-sumi from the documentation.

👥 Contributing

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.

📄 License

This project is licensed under the terms of both the MIT license and the Apache License (Version 2.0), at your option.

Explore related projects