finds.dev← search

// the find

Nutlope/aicommits

★ 9,035 · TypeScript · MIT · updated May 2026

A CLI that writes your git commit messages for you with AI

A CLI tool that pipes your staged git diff to an AI provider and gets back a commit message. Supports eight providers including local options (Ollama, LM Studio), five commit message formats, and a git hook mode that drops into your normal `git commit` workflow. Aimed at developers who find writing commit messages tedious or inconsistent.

Provider abstraction is genuinely well-done — adding TogetherAI, xAI, OpenRouter, and local providers alongside OpenAI means you're not locked into one vendor or paying OpenAI rates for every commit. The git hook integration (`prepare-commit-msg`) is the right way to do this: it slots into your existing workflow, lets you edit before committing, and falls back gracefully when you pass `-m` yourself. The `--generate N` flag for picking among multiple candidates is a practical acknowledgment that one-shot generation isn't always good enough. Test fixtures using real diffs rather than synthetic ones means the test suite catches actual format regressions.

The config system mixes provider-specific keys (OPENAI_API_KEY as a generic field name) with actual provider settings in a way that will confuse anyone using a non-OpenAI provider — the naming is a historical accident, not a deliberate design. There's no token budget guard: on a large diff (say, a dependency update), you'll silently burn through context or hit provider limits with no warning or truncation strategy documented. The repo is two maintainers removed from its original author and shows signs of it — the AGENTS.md file and PR command suggest scope creep beyond the original focused use case. No offline fallback or dry-run mode means CI pipelines that fail API calls will also fail silently at the git hook level.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →