lgit CLI
A CLI that writes Conventional Commits messages from the diff and keeps the changelog, using Claude or an OpenAI-compatible API.
- 62 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The diff is sent to a language model and rewrite mode changes git history.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/lgitDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The diff is sent to a language model and rewrite mode changes git history.
This is third-party code. Review the repository files before installing.
What it does
The `lgit` command reads the git index, sends the diff to a language model and commits with a well-formed message: type, scope and a past-tense summary up to 72 characters. It also updates `CHANGELOG.md` in Keep a Changelog format with monorepo support, skipping duplicate entries. `--compose` mode splits a large change set into several atomic commits and rewrite mode converts the whole history to Conventional Commits with a backup. Large commits are analysed in parallel per file. Anthropic, OpenAI, OpenRouter and any compatible API work.
Who it is for. Developers who want uniform commits and an automatic changelog without hand-writing messages.
Good fit when
- A large set of edits is left after work and must be split into several commits.
- The project keeps `CHANGELOG.md` and entries must be added automatically.
- Repository history is being converted to Conventional Commits.
- You want to preview a message before committing using the preview flag.
Not a fit when
- The diff contains secrets or private code that cannot be sent to a model.
- Only a message template is needed with no AI call.
- Python 3.14 is not available.
Example request
Stage the changes, show the commit message with `lgit --dry-run` and then split them into atomic commits with `lgit --compose`.Limitations
Change content is sent to the chosen model, so for private code pick a local proxy or a trusted provider. Python 3.14 or newer is required. Rewrite mode changes the whole git history; the tool makes a backup first, but rewriting branches with published history is dangerous for colleagues. Message quality depends on the model and diff. To avoid automatic commits run `lgit --dry-run`. The project is small and maintained by one author.
How to disable. Remove the package with `uv tool uninstall lgit-cli` and unset `LLM_GIT_API_KEY` and `LLM_GIT_API_URL` in the environment.
FAQ
How do I preview a message without committing?
Run `lgit --dry-run`: the tool shows the result and commits nothing.
Which models are supported?
Claude through the Anthropic API and any OpenAI-compatible API, including OpenRouter. The local proxy listens on port 4000 by default.
What does compose mode do?
It splits a large change set into several logical atomic commits.
Can old history be converted to Conventional Commits?
Yes, rewrite mode rebuilds the history and makes a backup first.
How do I install without uv?
Use `pipx install lgit-cli` or `pip install lgit-cli`. `uv tool install` is recommended.
Discussion
No questions or reviews yet.
Related
CLI toolsaicommit2 writes commit messages for Git, YADM and Jujutsu from the diff via several AIs at once and lets you pick the best
The CLI replays Git changes as typing animations to present commits and working-tree edits in the terminal.
Before committing, compare several model-written messages and copy the chosen text into the Git interface you already use.
lazygit is a terminal Git interface for bisecting regressions: mark good and bad revisions while locating the faulty commit.
A CLI turns Git changes into a guided code walkthrough with questions and explanations written by your existing agent
A CLI that splits changes into atomic commits and writes conventional commit messages through an LLM, plus a skill for agents.
Comparison with similar tools
Cards that share the main search query, and how they differ.
README in short
A CLI that makes commits and changelogs from the diff through a language model, splits edits into atomic commits and rewrites history.