gmsg

Crates.io Downloads License Built with Ratatui Rust

GMSG

AI-powered utility for generating conventional Git commit messages.

gmsg is a high-performance CLI tool built in Rust for generating commit messages. It uses AI to analyze your staged diffs and generate messages based on the Conventional Commits specification.


πŸš€ Features


πŸ›  Installation

Ensure you have your appropriate API key set in your environment variables.

export GEMINI_API_KEY="your_api_key_here"
cargo install gmsg

Or download a prebuilt binary for your platform.

πŸ“– Usage

Standard Workflow

Stage your changes and let gmsg handle the whole commit process.

git add .
gmsg

Interactive Review

Review and modify the generated message before committing:

gmsg -i

Helper Mode

If you just want to generate the message without committing:

# Copy to clipboard and exit
gmsg -c

# Output to a file
gmsg > message.txt

# Pipe to another utility
gmsg | grep

Amending

Amend the message of your last commit. If you have staged changes, the diff is sent alongside the previous message to the AI. Otherwise, it opens an editor.

gmsg -a

βš™οΈ Configuration

gmsg is zero-config by default. But you can configure it.

gmsg config.provider   # set your LLM provider
gmsg config.model      # set your model
gmsg config.prompt <Prompt>    # customize the system prompt

2026-05-10 17-48-47

Flag Long Description
-p --path Path to the repository (defaults to current dir).
-i --interactive Opens the TUI editor before committing.
-c --copy Copies the message to clipboard and exits.
-a --amend Amends the HEAD commit with the new message.

Configuration can be set in your project’s .gmsgconfig.toml or your global config directory. Project-level config takes precedence.


πŸ— Architecture


Built With Ratatui

πŸ›‘ License

MIT – Build something great.