DEV Community

Cover image for OpenCommit: feature-rich CLI to generate meaningful git commit messages now supports local models via Ollama πŸ€―πŸ”«
Dima Sukharev
Dima Sukharev

Posted on

OpenCommit: feature-rich CLI to generate meaningful git commit messages now supports local models via Ollama πŸ€―πŸ”«

OpenCommit logo
Hi

OpenCommit is a CLI to generate commit messages, you can try it right now by running npx opencommit in any repo you have changed code in. I suggest you use bunx opencommit (install Bun) or install OpenCommit globally npm i -g opencommit and then run oco which is a shorthand.

Anyway see the README: https://github.com/di-sukharev/opencommit

OpenCommit got 5k stars since the launch. More than 1 hundred PRs have been merged and now we support local Ollama!
Ollama logo
Originally OpenCommit worked with OpenAI apis, but if you dont want to share your code base with 3rd party you can now use an LLM running locally, including Mixtral8x7B, llama and other open-source models.

All the latest OpenAI models are also supported if you want to trade your money for the best performance.

Anyway, OpenCommit is the most feature-rich CLI to generate git commit messages out there, i mean in the open-source.

We support tens of different languages, you can integrate opencommit into a git hook, there is a GitHub Action that can improve all the commits in a repository, you can do Conventional Commits and GitMoji, integrate with commitlint, and lots of other things!

We also got first place in DIY Deployments Track in the latest GitHub+Dev 2023 hackathon

Set it up yourself: https://github.com/di-sukharev/opencommit

mind-blowing

follow me on twitter, khm-khm, on X! https://twitter.com/_sukharev_ for more open-source hits

Top comments (14)

Collapse
 
ben profile image
Ben Halpern

Cool progress. Definitely into this sort of thing being local.

Collapse
 
disukharev profile image
Dima Sukharev

local mistral is ofc way less performative comparing to gpt-4 turbo, but it's a matter of time when they introduce a more capable model and you just switch to it with a single line like oco config set MODEL=mistral100x1b :)

Collapse
 
ar8yz profile image
Arseniy Kerimov

impressive

Collapse
 
kapuka_vlad profile image
Π’Π»Π°Π΄ ΠšΠ°ΠΏΡƒΠΊΠ°

How does the local model feature impact the tool's performance?

Collapse
 
ar8yz profile image
Arseniy Kerimov

Can OpenCommit suggest commit messages for very large codebases effectively?

Collapse
 
disukharev profile image
Dima Sukharev

yep, it can, it splits the git diff if it's too large, but current models anyway have extremely large contexts, so it's not an issue anymore

Collapse
 
timofey_klykov_7aebef06c3 profile image
Timofey Klykov

Wowowowowowowowowowowowow

Collapse
 
dmitry_i_57e465c3faaac74f profile image
Dmitry i

More privacy for our code! Nice!

Collapse
 
serjobas profile image
Sergey Bunas

great think

Collapse
 
lookatanton profile image
Anton Kalinin

πŸ€―πŸ”«

Collapse
 
glebthebread profile image
GlebTheBread

That’s what I need! πŸ‘Ύ

Collapse
 
arsts profile image
arsts

What's the feedback from the developer community on this tool?

Collapse
 
disukharev profile image
Dima Sukharev

it has been dowloaded more than 40k times and opencommit is growing organically by 1k downloads each week

Collapse
 
eyalshalev profile image
Eyal Shalev

Have you considered deno support?

Their deno install provides guarantees that data won't be sent to unauthorized websites.