Your git history, ghostwritten by a language model
It turns staged diffs into conventional commit messages using whatever LLM you already pay for, including the one running on your laptop.

What it does
OpenCommit is a configurable glue layer between git and a wide roster of LLM APIs. It reads your staged changes and generates a commit message—optionally with GitMoji, a longer description, or in another language—using whatever provider you already have a key for. It also integrates with local @commitlint rules so the generated message matches your project’s conventions.
The interesting bit The repository dogfoods itself aggressively: the maintainers claim every commit in the project was authored by the tool. It also treats provider choice as a first-class config dimension rather than an afterthought, caching available models for seven days to avoid redundant API calls.
Key highlights
- Supports OpenAI, Anthropic, Azure, Google Gemini, DeepSeek, Flowise, AIMLAPI, and local Ollama models.
- Runs fully offline via Ollama, with configurable endpoints for remote or Docker-hosted instances.
- Can switch between its own conventional-commit prompt generator or integrate with local
@commitlintconfiguration. - Generates commit messages in multiple languages; locale is configurable globally or per repository.
- Passes standard
git commitflags through transparently.
Caveats
- The
OCO_WHYfeature, which promises to explain the rationale behind changes, is explicitly marked as work-in-progress and requires a not-yet-built RAG/indexing system. - The optional “push to remote” prompt is flagged for deprecation.
Verdict
Worth a look if you are tired of writing “fix: typo” but refuse to be locked into a single AI provider. Skip it if you already have a shell alias that pipes git diff to curl and you like it that way.
Frequently asked
- What is di-sukharev/opencommit?
- It turns staged diffs into conventional commit messages using whatever LLM you already pay for, including the one running on your laptop.
- Is opencommit open source?
- Yes — di-sukharev/opencommit is open source, released under the MIT license.
- What language is opencommit written in?
- di-sukharev/opencommit is primarily written in JavaScript.
- How popular is opencommit?
- di-sukharev/opencommit has 7.5k stars on GitHub and is currently cooling off.
- Where can I find opencommit?
- di-sukharev/opencommit is on GitHub at https://github.com/di-sukharev/opencommit.