gitbutlerapp / gitbutler

The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte
https://gitbutler.com
Other
13.39k stars 530 forks source link

feature request: built-in support for gitmoji commit messages #5358

Open jokeyrhyme opened 3 weeks ago

jokeyrhyme commented 3 weeks ago

Howdy

Thanks so much for sharing this exciting project! <3

Some of the projects that I contribute to use https://gitmoji.dev as their git commit standard, and it'd be super handy if I could enable this in GitButler on a per-project basis, and have some in-app assistance or other UX for selecting the most appropriate emoji

Cheers!

Byron commented 3 weeks ago

Thanks for the suggestion!

Would you be able to share a repository that uses it as a way to see how colorful Git histories can get? The repo of gitmoji.dev unfortunately isn't very interesting and probably not the best example.

Also, do you happen to know if there is a library that given a commit message will automatically sprinkle in emojis correctly? Or asked differently, how is this system supposed to be integrated into commit-messages usually? I saw a CLI, but it wasn't clear to me how its basic usage would be in practice.

Thanks again.

jokeyrhyme commented 3 weeks ago

My apologies

Examples:

There's a Rust implementation of the CLI here ( https://github.com/zeenix/gimoji ), but both that and the first-party Node.JS version mostly work (AFAIK) by taking search terms (e.g. your intended commit message) and returning a top-5 list of emoji that match the keywords

The resulting convention is that the first grapheme (?) in the git commit message is the emoji equivalent of "fix" or "feat" or "docs" from https://www.conventionalcommits.org/en/v1.0.0/

More terse and also more fun :)

jokeyrhyme commented 3 weeks ago

I wanted to add that I did end up making a commit using a gitmoji CLI today, in the gitbutler/integration branch, and the GitButler app did handle that okay by creating a new lane for the commit

So, it'd still be super handy to not have to leave GitButler at all for this, but a gitmoji workflow is at least possible