Skip to content

Simplifi-ED/goji

 
 

Repository files navigation

codecov

goji

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.

Features

  • 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

Install

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 

Usage

Simply run goji in your terminal to start the interactive commit process:

Goji gif

Customization

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
}

License

Apache 2.0 license Zine El Abidine Moualhi

Acknowledgements

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.

About

a cz-emoji implementation in go

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%