๐Ÿ‘ปcommitghost

Your terminal, politely haunted
into better commit habits.

commitghost reads your staged diff, writes the commit message for you, and haunts you (politely) when you've let a diff grow too long.

npm install -g commitghost View on GitHub
MIT licensed ยท works with Anthropic or OpenAI ยท zero telemetry
~/commitghost

Three small things.

commitghost doesn't try to be a git client. It does three specific jobs well, and gets out of your way.

โ—‡ read the diff

Reads what actually changed

Sends your staged diff: file stats, changed lines, and your repo's recent commit style โ€” to an LLM that writes messages matching how your team already commits.

โ— pick or edit

You always get the last word

Every run generates a few candidates. Pick one, edit it inline, or regenerate. Nothing gets committed without you choosing the exact words.

๐Ÿ‘ป the nudge

A ghost that watches your diff grow

One command adds a hook to your shell. When your working tree gets too big without a commit, the ghost shows up above your prompt to remind you.

It doesn't nag. It just appears.

Run commitghost install-ghost once. It detects your shell and wires in a hook โ€” no editing your PROMPT by hand, no fighting with Powerlevel10k or Starship. When your diff crosses a line-count threshold, the ghost prints above your next prompt. Commit, and it's gone.

Configurable per-repo via .commitghost.json. Uninstall any time with commitghost uninstall-ghost.

~/api-service (main)
๐Ÿ‘ป large diff โ€” consider committing
โฏ _

Two commands

Works with an Anthropic or OpenAI key. The config wizard stores it locally at chmod 600 โ€” never in your shell history.

npm install -g commitghost
commitghost --config