Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

git-commit-wizard

Interactive terminal UI for writing conventional commits.

Usage

I launch it via a custom zsh alias gcm, targeting the binary.

Steps

  1. Type — search and select a commit type. Fuzzy search filters the list with prefix-first priority.
  2. Scope — optional scope, with suggestions from your git log history. Navigate suggestions with ↑ / ↓. Type a space and press enter to skip the scope without selecting a suggestion.
  3. Subject — commit message subject. A character counter tracks the total commit message length against the 72-character limit.

On the last step, pressing enter runs the commit immediately with output streamed live to the terminal.

Output format: type(scope): subject

Flags

Flag Short Description
--no-verify -nv Skip pre-commit and commit-msg hooks
--dry-run -dr Print the commit message without committing
--amend -am Amend the last commit with a new message from the wizard
--no-edit -ne Skip the wizard and commit as-is (useful with --amend)
--allow-empty -ae Allow committing with no staged changes

Features

  • Scope suggestions from your git log, sorted by frequency.
  • Fuzzy search on commit types — prefix matches are ranked first.
  • Live preview of the full commit message at every step.
  • Character counter right-aligned to the 72-character limit, turns red when exceeded.
  • Staged files list at the bottom — color-coded by status: green + for added, orange ~ for modified, red - for deleted. Shows a warning when nothing is staged.
  • Commit message displayed in the UI after the commit runs.
  • Vim Motions.

Keybindings

Key Action
↑/↓ ctrl+k/j Navigate list
enter ctrl+l Confirm / next step
esc ctrl+h Clear input / go back
ctrl+c Quit

Build

go build .

Dependencies

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages