Code Monkey home page Code Monkey logo

git-sumi's Introduction

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

Clean commits PRs welcome Latest release Crates.io Codecov
CI Deployment Documentation MIT or Apache 2.0 License

git-sumi

The non-opinionated Rust-based commit message linter

Transform your commit practices with flexible linting for consistently high-quality Git commit messages that adhere to your project's standards.

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:

git-sumi_demo.mp4

✨ Main features

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

git-sumi's People

Contributors

renovate[bot] avatar welpo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

git-sumi's Issues

`header_case` rule

Feature Request

Summary

A rule like description_case but for the header, where can specify a specific case for the first letter in the header

Motivation

This will help to make the change log and the log history looks better, same as description_case

Detailed Description

This should respect the conventional commits header, which in this case it will check the header not the type

Contributing request

I can work on this if it's accepted

Detect imperatives with prefixes

Feature Request

Summary

git-sumi should detect imperatives with prefixes. For example, "write" is in the list of non-imperative verbs (as "written", "wrote"), but "rewrite" is not.

Motivation

It would improve non-imperative-verb detection.

Detailed Description

The logic to detect imperative verbs should not only match the first word against the hashset, but check whether it matches a list of prefixes + a word in the list.

As an initial list of prefixes, we could consider:

  • re (reuse, reindex)
  • un (undelete, unskip)
  • pre (prebuilt, preinitialize)

Additional Context

It's probably a good idea to check for:

  • Base verb (this is implemented)
  • Prefix + dash + verb
  • Prefix + verb

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.