A Rust CLI that generates changelog files from Git history using Conventional Commits and customizable regex parsers and templates.
carloscuesta/gitmoji-cli
An interactive command-line client for writing git commit messages with gitmoji emoji prefixes.
- Stars
- 4,829
- Forks
- 212
- Open issues
- 18
- Last commit
- 5 days ago
What is it?
gitmoji-cli is a command-line client for the gitmoji convention, which tags commit messages with an emoji that signals the type of change. Instead of searching the gitmoji list by hand, you can browse, search, and pick an emoji from the terminal, and the tool builds the commit message from your answers to its prompts.
The tool offers two ways to commit: a client mode (`gitmoji -c`) that runs the prompts and commits directly, and a hook mode (`gitmoji -i`) that attaches to `git commit` so the prompts run each time you commit. Commands also let you list all gitmojis, search them by keyword, and sync the emoji list with the upstream repository. A local cache keeps the list usable offline.
Behavior can be configured through a `gitmoji` key in package.json, a `.gitmojirc.json` file, or a global setting. Options include automatic `git add`, emoji format (code or emoji), optional message and scope prompts with predefined scopes, and a custom gitmojis API URL. It is installed with npm or Homebrew.
Key features
- 01Interactively pick a gitmoji and build a commit message from prompts.
- 02Runs in client mode or as a git commit hook.
- 03Lists and searches all available gitmojis from the terminal.
- 04Works offline with a local cache, and can sync the list on demand.
- 05Configurable via package.json, .gitmojirc.json, or global settings.
Use cases
- Keeping commit history consistent across a team that follows the gitmoji convention.
- Avoiding manual lookup of emoji codes when writing commit messages.
- Enforcing a commit format in a project by installing the commit hook.
Quick start
- 1
Install gitmoji-cli globally with npm
npm i -g gitmoji-cli - 2
Start the interactive commit client
gitmoji -c
Things to know
- Uses emoji prefixes, so it only fits teams that follow the gitmoji convention.
In collections
Topics
FAQ
- What is gitmoji-cli?
- An interactive command-line client for writing git commit messages with gitmoji emoji prefixes. gitmoji-cli is a command-line client for the gitmoji convention, which tags commit messages with an emoji that signals the type of change. Instead of searching the gitmoji list by hand, you can browse, search, and pick an emoji from the terminal, and the tool builds the commit message from your answers to its prompts.
- Is gitmoji-cli free to use? What license does it have?
- gitmoji-cli is open source under the MIT license. Check the license terms before using it in commercial products.
- Is gitmoji-cli still maintained?
- Actively maintained. The last commit to gitmoji-cli was on Nov 2, 2026.
- What can I use gitmoji-cli for?
- Keeping commit history consistent across a team that follows the gitmoji convention. Avoiding manual lookup of emoji codes when writing commit messages. Enforcing a commit format in a project by installing the commit hook.
- How do I install gitmoji-cli?
- Install gitmoji-cli globally with npm: npm i -g gitmoji-cli Start the interactive commit client: gitmoji -c
- Where can I get gitmoji-cli?
- The source code and installation instructions are on GitHub: https://github.com/carloscuesta/gitmoji-cli
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
An agent skill that turns AI-generated working-tree changes into clean Conventional Commits, branches, safe pulls and pushes, and GitHub PRs.
A CLI that generates git commit messages from your staged changes using an AI model of your choice.
A TypeScript CLI that guides you through writing Conventional Commits messages, with branch-based inference and branch/worktree helpers.
A CLI tool that generates conventional git commit messages from your staged diff using AI models, then commits them.
A Bash CLI that wraps git worktree to create, configure, and remove per-branch worktrees, with editor and AI agent launchers.