Model or dataset
Blarc/ai-commits-intellij-plugin avatar
Blarc/ai-commits-intellij-plugin

AI Commits for JetBrains IDEs: an LLM commit message plugin built on langchain4j

AI Commits for IntelliJ based IDEs/Android Studio.

853 stars69 forksKotlinMIT

At a glance

What is it?
AI Commits generates commit messages from the git diff inside IntelliJ-based IDEs and Android Studio, routing the diff to one of fourteen supported model providers. It is a small, single-purpose plugin, and the interesting part is how narrowly it scopes what it sends.
Who is it for?
Adopt AI Commits if you already work inside a JetBrains IDE, commit often, and want the message drafted from the diff without leaving the commit dialog. Skip it if your team enforces a commit convention the plugin's default prompt cannot express, or if you need a hosted service with a shared prompt library and audit trail, since this is a local plugin with per-installation settings.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Kotlin, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What AI Commits solves, and for whom

Writing a commit message is a small task that scales badly. One commit is trivial; forty commits across a refactor is not, and the message quality tends to decay exactly when the diff is hardest to summarize. AI Commits targets that gap inside the IDE. The plugin takes the git diff and asks a large language model to produce the message, then puts the result in the commit dialog where you would have typed it.

The intended user is a developer already working in a JetBrains IDE: IntelliJ IDEA, PhpStorm, WebStorm, PyCharm, CLion, GoLand, DataGrip, Rider, Android Studio and the other IDEs listed in the README's compatibility section. Subversion is supported alongside Git, which matters for teams on older version control. This is not a CI tool and not a Git hook. It is a button in a dialog, and its value depends on you being in that dialog often.

One design decision is worth noting early. The plugin computes the diff only from the files and lines selected in the commit dialog, per the feature list. That is a deliberate narrowing: you can stage a large working tree, check only the two files that belong to this commit, and the model sees only those. It also means the plugin's output is only as good as your staging discipline.

How the plugin turns a diff into a message

The architecture is thin by design. The README states the plugin is implemented in a generic way and uses langchain4j to create the LLM API clients. That single sentence explains most of the provider list: Amazon Bedrock, Anthropic, Azure OpenAI, Gemini on Google AI and Vertex AI, GitHub Models, Hugging Face, Mistral AI, OpenAI, Ollama, Qianfan (Ernie), plus Claude Code and Codex CLI invoked through their command line tools.

Because the client layer is langchain4j rather than a hand-written integration per vendor, adding a provider that langchain4j already supports is a feature request rather than a new client. The trade-off is that the plugin inherits langchain4j's provider coverage and its gaps. If a model you want is not in either list, you are waiting on someone else's release.

The data flow is short: your selection in the commit dialog determines the diff, the diff plus your prompt template is sent to the configured provider, and the returned text lands in the commit message field. Nothing in the README describes a proxy, a cache, or a server-side component. The prompt is user-editable, and the feature list mentions predefined variables and a hint for customizing it. The repository carries a PROMPT_VARIABLES.md file at the top level, which is where the variable names for that template are documented.

Installing AI Commits and generating a first message

The README gives two installation paths. The first is the JetBrains Marketplace: open Settings (Preferences on macOS), go to Plugins, open the Marketplace tab, search for "AI Commits", install, and restart the IDE. The README spells this out separately for Windows and Linux and for Mac. There is also an install button on the plugin's Marketplace page.

The second path is a zip from the GitHub releases page, installed through Settings > Plugins > the cog menu > Install plugin from disk. The repository publishes tagged releases, with v2.19.1 dated 2026-02-23, v2.19.0 dated 2026-02-22 and v2.18.0 dated 2026-02-06 in the recent list.

Either way, the plugin does nothing until you configure a client. The README points at Settings > Tools > AI Commits. There is no documented command-line step and no configuration file to edit by hand; the provider, credentials and prompt are set in that settings page. If you are installing from a zip rather than the Marketplace, the README repeats the same settings step as item three.

The practical sequence is: install and restart, open Settings > Tools > AI Commits, choose a provider and supply whatever credentials that provider needs, then open the commit dialog in a project with staged changes, select the files you want summarized, and trigger generation. The README does not document a default keyboard shortcut for the action, so check the IDE's keymap if the button is not where you expect it. The README also does not document what happens when the provider call fails, so treat a failed generation as an unknown rather than assuming a fallback.

Where AI Commits is the wrong tool

The plugin's scope is deliberately narrow, and several common situations fall outside it. If your team enforces a structured commit convention with issue keys, scopes and trailers, the default prompt will not know about it. You can write your own prompt using the documented variables, but you are then maintaining a prompt template as part of your toolchain, and a prompt that works for one repository's vocabulary will not necessarily work for another's.

Offline and air-gapped environments are a real constraint. The plugin needs to reach a provider, and while Ollama is supported and runs locally, that still means running a model server somewhere reachable. If your policy forbids sending source diffs to a third party and you do not have local inference, this plugin is not the answer.

There is also a workflow mismatch. AI Commits lives in the commit dialog, so it helps people who commit interactively from the IDE. Teams that commit through scripts, rebase heavily, or squash on merge will get little from it. And because the diff scope follows the selection in the commit dialog, a user who habitually stages everything and commits in bulk will send large diffs to the model and get correspondingly vague messages. The feature is only as precise as the selection it reads.

How it compares to aicommits and to CLI commit helpers

The README states the plugin was inspired by Nutlope's AICommits, which is a command-line tool. That is the cleanest comparison, because the difference is architectural rather than cosmetic. A CLI helper sits in your shell: you stage changes, run a command, and it prints or applies a message. AI Commits sits in the IDE's commit dialog and reads the selection you have made there.

The practical consequence is where the configuration lives. With a CLI tool, credentials and prompt settings tend to live in environment variables or a dotfile, which is easy to share across a team and easy to reproduce in a container. With AI Commits, the README describes configuration under Settings > Tools > AI Commits, which is per-installation state in the IDE. That is convenient for an individual and awkward for standardizing across a team.

The second difference is the diff source. A CLI tool generally reads the index or the working tree as git presents it. AI Commits computes the diff from the selected files and lines in the commit dialog, which is a finer-grained input and, in the right hands, a better one. In the wrong hands, a habit of committing everything at once erases that advantage entirely. Neither approach is strictly better; they fail in different ways.

Maintenance, releases and licence

The repository is not archived and the last push was on 2026-09-14, the same day as the most recent release window in the materials. The tagged releases listed are from February 2026, so the cadence visible in the release list is periodic rather than continuous, and the commit activity and the release activity do not move in lockstep. Anyone pinning to a version should look at the tags rather than assume the newest commit is the newest release.

Upgrade cost is low in the ordinary case. Installation is through the Marketplace or a zip, and configuration is a settings page rather than a file, so there is no migration script to run and no config format to convert. The thing that can break across versions is a custom prompt: if a release changes the set of predefined variables, a template referencing a removed variable may stop behaving as expected. The repository's PROMPT_VARIABLES.md is the reference to check after an upgrade.

The licence is MIT. That permits use, modification and redistribution with the licence and copyright notice preserved, but this is a summary of the identifier, not legal advice. The plugin also depends on langchain4j and openai-kotlin, each with its own licence, and on whatever provider you configure. If you are packaging or redistributing the plugin inside an organisation, check those dependencies rather than the MIT label alone.

Editorial conclusion

Adopt AI Commits if you already work inside a JetBrains IDE, commit often, and want the message drafted from the diff without leaving the commit dialog. Skip it if your team enforces a commit convention the plugin's default prompt cannot express, or if you need a hosted service with a shared prompt library and audit trail, since this is a local plugin with per-installation settings. Before rolling it out, verify three things: that your chosen provider is reachable from your network, that the plugin's diff scoping behaves the way you expect when only some files are checked in the commit dialog, and that your prompt template produces messages matching your project's convention. The PROMPT_VARIABLES.md file in the repository is the place to check which variables your template can reference.

Frequently asked questions

Which LLM providers does AI Commits support?

The README lists Amazon Bedrock, Anthropic, Azure OpenAI, Claude Code via CLI, Codex CLI, Gemini on Google AI and Vertex AI, GitHub Models, Hugging Face, Mistral AI, OpenAI, Ollama and Qianfan (Ernie). Because the plugin uses langchain4j for its clients, other models langchain4j supports can be requested through GitHub issues.

How do I install AI Commits in IntelliJ IDEA or Android Studio?

Open Settings (Preferences on macOS), go to Plugins, open the Marketplace tab, search for "AI Commits", install and restart the IDE. Alternatively, download a zip from the GitHub releases page and use Settings > Plugins > the cog menu > Install plugin from disk.

Where do I configure the API key for AI Commits?

The README points to Settings > Tools > AI Commits, where you configure the LLM API client. The plugin does nothing until a client is set up there.

Does AI Commits send my whole working tree to the model?

No. The feature list states the plugin computes the diff only from the selected files and lines in the commit dialog, so the input follows your selection. If you stage and select everything at once, the model sees everything at once.

Can I change the prompt AI Commits uses for commit messages?

Yes. The README lists creating your own prompt for commit message generation as a feature, with predefined variables and a hint for customizing it. The variable names are documented in PROMPT_VARIABLES.md in the repository.

Which version control systems does AI Commits work with?

Git and Subversion, according to the feature list. The plugin is distributed for IntelliJ-based IDEs and Android Studio, including IntelliJ IDEA, PhpStorm, WebStorm, PyCharm, CLion, GoLand, DataGrip and Rider.

Official sources

  1. Blarc/ai-commits-intellij-plugin on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Community notes

Community notes