Commitizen-like tool for formatting commit messages using emojis written in go.
goji is an easy-to-use commit message formatting tool, inspired by Commitizen and cz-cli, that helps you create conventional commits with emojis with streamlined [git] commit process by providing a user-friendly TUI for selecting the type of change, scope, and description of your commit message..
? Select the type of change you are committing: (Use arrow keys)
❯ feature ✨ Introducing new features.
fix 🐛 Fixing a bug.
docs 📚 Documentation change.
refactor 🎨 Improve structure/format of the code.
clean 🔥 Remove code or files.
- Interactive CLI for choosing commit types, scopes, and descriptions
- Predefined commit types with corresponding emojis
- Customizable commit types and scopes through a JSON configuration file
- Supports Git out of the box
Homebrew
brew tap muandane/gitmoji
brew install goji
Build locally
git clone https://github.com/muandane/goji.git && cd goji
go build ./src/cmd/goji.go
mv goji /usr/local/bin
goji --version
Simply run goji
in your terminal to start the interactive commit process:
By default goji
comes ready to run out of the box and you can initialize a config file with commands. For now customization is in the works (?)
goji --init
HOW TO
You can customize the .goji.json
generated file to add or change the scopes, types and other parameters:
{
"Types": [
//***
{
"Emoji": "✨",
"Code": ":sparkles:",
"Description": "Introducing new features.",
"Name": "feature"
},
{
"Emoji": "🐛",
"Code": ":bug:",
"Description": "Fixing a bug.",
"Name": "fix"
}
//***
],
"Scopes": ["home", "accounts", "ci"],
"Symbol": true,
"SkipQuestions": [],
"SubjectMaxLength": 50
}
Apache 2.0 license Zine El Abidine Moualhi
Thanks to @Simplifi-ED & @IT Challenge in letting me work on this open source side project and to my mentor @EtienneDeneuve for the help with learning Go lang.