
Company News
/Security News
Socket Selected for OpenAI's Cybersecurity Grant Program
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.
github.com/AndreasAugustin/go-gitmoji-cli
Advanced tools
____ ____ ____ _ ___ _ _ ____ _ _ ____ _ _
| __ | | __ | __ | | |\/| | | | | __ | | |
|__] |__| |__] | | | | |__| _| | |___ |___ |

Gitmoji is an emoji guide for GitHub commit messages. Aims to be a standardization cheatsheet - guide for using emojis on GitHub's commit messages. is a nice way to standardize commit messages with emojis.
There is already a nice gitmoji-cli command line interface available. Nevertheless, I was searching a nice project to get a bit more into golang so this cli was born. There are some feature differences between both projects.
Per default the format is conventional-commits with emoji
<type>[optional scope]: :smile: <description>
:warning: Currently the package is in state alpha please be aware that some functionality may change and some bugs may happen.
brew tap AndreasAugustin/go-gitmoji-cli https://github.com/AndreasAugustin/go-gitmoji-cli
brew install AndreasAugustin/go-gitmoji-cli/go-gitmoji-cli
Remark :warning:
When you receive an error like This repository is configured for Git LFS but 'git-lfs' was not found on your path
you most likely have git-lfs installed globally. Do the following
git lfs uninstall
# <cd to the repo, which uses lfs>
git lfs install --local
The package is located here
pamac update -a
pamac install go-gitmoji-cli-bin
The image is available within 2 docker registries available. Just pull the image to have a local test setup available. To use it, mount the current dir into the working dir.
# available <tag> are the git tags
# docker hub
# pull the image
docker pull andyaugustin/go-gitmoji-cli:<tag>
# run the container -> will open a zsh session
# note: the local volume mount is missing in the sample command
docker run -it andyaugustin/go-gitmoji-cli:<tag>
# if you prefer ghcr instead of docker hub
# docker pull ghcr.io/andreasaugustin/go-gitmoji-cli:<tag>
# docker run -it ghcr.io/andreasaugustin/go-gitmoji-cli:<tag>
go install github.com/AndreasAugustin/go-gitmoji-cli@latest
Download the related release here and unpack the related binary into your path
It is possible to configure the cli either with a .go-gitmoji-cli.json file within the repo directory
or with command line flags.
Environment variables are supported (case insensitive). The key is the same like the parameter with a prefix GO_GITMOJI_CLI_.
All parameters are able to be modified with flags.
| parameter | description | default |
|---|---|---|
| auto_add | perform automatically a git add . | false |
| auto_sign | automatically sign commits (can also be configured with git git config -g commit.gpgsign=true | false |
| auto_signature | automatically add signature to commits | true |
| emoji_format | format of emojis code/emoji | code |
| scope_prompt | Prompt for adding the commit scope | false |
| body_prompt | Prompt for adding the commit message body | false |
| capitalize_title | If set to true the commit title description will be capitalized | false |
| gitmojis_url | The URL of the gitmojis database | https://gitmoji.dev/api/gitmojis |
| use_default_git_messages | Use the default git messages (merge, squash, ammend,..) | true |
| debug | enable debug mode | false |
The configuration values can be changed with
go-gitmoji-cli config [-g]

This will create a file within the local directory or within the OS related config directory (when -g flag is enabled).
Reading will follow the following order:
The cli is firing at first usage or with the update gitmojis command a http query to the
configured gitmoji api url to receive a list of available gitmojis.
The cli is using net/http package which is per default respecting the standard system proxy settings done
with environment variables.
# show available commands
go-gitmoji-cli --help

# show the version
go-gitmoji-cli --version

# list the available gitmojis
go-gitmoji-cli list gitmojis

# list the available commit types
go-gitmoji-cli list commit-types

There are 2 ways making commits with the tool
go-gitmoji-cli hooks --help. With that command it is possible to install a commit hook. To use the hook, just do a git commit <options>.
This will trigger the cli.go-gitmoji-cli commit --help. It is not possible to use this command when you have installed a hook.# doing a commit with dry-run
go-gitmoji-cli commit --dry-run

Some arguments and flags you know from git will be reused.
The first message will be parsed and the single parts will be reused.
E.g. git commit -S -m "feat(api)!: :smile: also just parts of the message will be reused" -m "this is a message body"
This is also true when the go-gitmoji-cli commit -S -m "..." -m "..." is used.
There is a flag --debug enabling verbose logging
The development environment targets are located in the Makefile
make help
A push/merge to main branch is triggering the deployment. The release action can be found here
Special thanks to gitmoji and gitmoji-cli
Thanks goes to these wonderful people (emoji key):
andy Augustin 📖 💻 👀 🛡️ 🤔 💡 🖋 | Benedikt Volkmer 🐛 |
This project follows the all-contributors specification. Contributions of any kind welcome!
FAQs
Unknown package
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.