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
CLI

Extended access

Why this level

  • The diff is sent to a language model and rewrite mode changes git history.
All reasons and checks

can1357/llm-git

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/lgit

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended 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.

CLI tools

aicommit2 writes commit messages for Git, YADM and Jujutsu from the diff via several AIs at once and lets you pick the best

CLIBroad access532Repository stars

The CLI replays Git changes as typing animations to present commits and working-tree edits in the terminal.

CLIMinimal access5.3KRepository stars

Before committing, compare several model-written messages and copy the chosen text into the Git interface you already use.

CLIExtended access9.1KRepository stars

lazygit is a terminal Git interface for bisecting regressions: mark good and bad revisions while locating the faulty commit.

CLIExtended access83.9KRepository stars

A CLI turns Git changes into a guided code walkthrough with questions and explanations written by your existing agent

CLIExtended access370Repository stars

A CLI that splits changes into atomic commits and writes conventional commit messages through an LLM, plus a skill for agents.

CLIExtended access80Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialRepository starsMain difference
lgit (this card)no62
aicommitsno9,131writes a message for one commit; lgit also maintains the changelog and splits edits
aicommit2no532a multi-model message generator; here compose mode and history rewriting

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.

README badge

Report a problem