Stop writing shitty commit messages.
Just run git commit -m "" β weβll handle generating a nice commit message.
brew tap Musti7even/no-shit-commit-messages
brew install no-shit-commit-messages
export OPENAI_API_KEY=sk-...
alias git='nscm'git add .
git commit -m "" # β AI generates commit message
git commit -m "manual" # β still behaves normally, to give you max freedom
git commit # β opens editor as usualExample output:
π§ Generating commit messageβ¦
π¬ "feat(ui): improve layout responsiveness on profile page"
2 files changed, 10 insertions(+), 3 deletions(-)
Optional ~/.nscmrc:
provider: openai
model: gpt-5-mini-2025-08-07
style: conventionalEnvironment variables override the config file:
NSCM_PROVIDERβ provider to use (default:openai)NSCM_MODELβ model identifier (default:gpt-5-mini-2025-08-07)NSCM_STYLEβ style hint (default:conventional)OPENAI_API_KEYβ required when provider isopenai
Project layout:
no-shit-commit-messages/
ββ nscm.py
ββ brew/
β ββ no-shit-commit-messages.rb
ββ README.md
ββ LICENSE
ββ .github/workflows/release.yml
Run locally without Homebrew:
export OPENAI_API_KEY=sk-...
python3 ./nscm.py commit -m ""- Ollama or even faster model providers
- additional context for better commit messages
- Optional interactive confirmation
--dry-runpreviews- Submit to Homebrew core once stable
MIT Β© 2025 / Mustafa Yenler