Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Bro Commit with AINew to Visual Studio Code? Get it now.
Bro Commit with AI

Bro Commit with AI

Gilang

|
4 installs
| (1) | Free
Generate detailed, comprehensive git commit messages with Gemini, OpenAI, DeepSeek, GLM, Claude, Kimi, or MiniMax.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CommitBro — Bro Commit with AI

Every bro carries a diff he cannot explain. He types fix stuff, and the night forgives him — but git never forgets. Six months on, another bro runs git log and finds only silence where a story should have been.

So commit, bro. Say what changed, and why it had to. Code is what you wrote; the log is what you meant.

Generate detailed, comprehensive git commit messages from your changes using any of 7 LLM providers — Gemini, OpenAI, DeepSeek, GLM, Anthropic Claude, Kimi, or MiniMax — one click in the Source Control panel.

The CommitBro Settings tab: a table of all seven providers with an active-provider radio, model and endpoint fields showing built-in defaults as placeholders, and per-row API key status with Set key / Change / Clear buttons, above the general Language, Format, Max diff chars, and Untracked files options.

Every provider, model, endpoint, and key in one place — pick one, paste a key, and you're done.

Features

  • ✨ button in the Source Control title bar (and a Command Palette command).
  • Analyzes all changes: staged, unstaged tracked, and new untracked files.
  • Conventional Commits or freeform, in the language you choose.
  • Switch provider, model, and API endpoint from the panel — no settings.json editing required.
  • Each provider's API key is stored securely in VSCode SecretStorage — never in settings.
  • Generated message streams in with a typewriter animation as it arrives.

Setup

  1. Open the CommitBro panel from the Activity Bar (left sidebar) and expand its collapsible provider section, or set commitBro.provider directly in Settings.
  2. Pick a provider and set its API key — the panel's Set key button, the CommitBro: Set API Key command, or paste it into the provider's apiKey field in the commitBro.providers setting (it is moved to your OS keychain and erased from the setting immediately).
  3. Click ✨ Generate.

Usage

The CommitBro panel works like Source Control, in one place:

  1. Make some changes in a git repository.
  2. Click ✨ Generate — the commit message box fills from all your changes. Edit it if you like.
  3. Click ✓ Commit (stages everything with git add -A, then commits) or ↑ Commit & Push (also runs git push, publishing the branch to origin the first time). If new untracked files would be included, you're asked to confirm first.

The two steps are reported separately, so a push that fails never hides a commit that worked. When the commit lands but the push does not — no network, expired credentials, a rejected non-fast-forward — you get "Committed, but the push failed" with the reason git gave, and a Retry Push button that keeps offering until the push succeeds or you dismiss it.

The panel header (branch · N changes) shows what will be committed. The collapsible section above the message box holds the provider dropdown, model and endpoint overrides (blank = built-in default; hover the endpoint field to see the full value), and key status/Set key button.

You can also trigger generation the classic ways: the ✨ button in the built-in Source Control panel, or CommitBro: Generate Commit Message from the Command Palette — both fill the Source Control message box.

Settings

Setting Default Description
commitBro.provider gemini Active provider: gemini, openai, deepseek, glm, anthropic, kimi, or minimax.
commitBro.providers {} All per-provider settings in one map, keyed by provider id. Each entry may set model, baseUrl, and apiKey — see below.
commitBro.language English Language for the generated commit message (e.g. English, Bahasa Indonesia).
commitBro.format conventional conventional or freeform.
commitBro.maxDiffChars 100000 Maximum characters of change context sent to the provider.
commitBro.includeUntracked true Include contents of new untracked files in the analysis.

Per-provider settings

The easiest editor is CommitBro: Open Settings — the GUI table pictured at the top of this page, no JSON involved. Under the hood everything specific to one provider lives in a single commitBro.providers entry:

"commitBro.providers": {
  "openai": {
    "model": "gpt-4o",
    "baseUrl": "https://my-proxy.example/v1",
    "apiKey": "sk-..."
  }
}
  • model / baseUrl — omit or leave blank to use the provider's built-in default. Both are also editable from the panel's provider section.
  • apiKey — a write-through input: the key is moved to secure storage (your OS keychain) and erased from this setting immediately, so it normally reads empty. An empty field means the key is stored safely, not missing. Keys under an unrecognized provider name are left in place and reported, never silently deleted.

The separate models, baseUrls, and apiKeys maps of older versions are folded into commitBro.providers automatically on first activation.

Regional endpoints

A few providers default to a mainland-China endpoint; international accounts need a baseUrl override, for example:

  • Kimi (Moonshot AI): https://api.moonshot.ai/v1
  • GLM (Zhipu AI): https://api.z.ai/api/paas/v4
  • MiniMax: https://api.minimaxi.com/v1

Commands

  • CommitBro: Generate Commit Message
  • CommitBro: Set API Key
  • CommitBro: Clear API Key
  • CommitBro: Open Settings — opens the extension's own settings editor: a table of all seven providers (model, endpoint, API key status with Set/Clear buttons per row), the active-provider picker, and the general options. No JSON editing needed; also reachable from the gear icon on the panel.

Upgrading from an older version? Command ids have changed twice — geminiCommit.* (Gemini-only), then aiCommit.*, and now commitBro.*. Update any custom keybindings that reference the old ids. See CHANGELOG.md.

Migrating from an earlier version

Existing installs are migrated automatically the first time this version activates: settings and stored API keys from either older namespace — geminiCommit.* or aiCommit.* — are copied to their commitBro.* equivalents, including installs that skipped a version. Where both exist, aiCommit.* wins, being the more recent. The old settings and keys are left in place (not deleted), so downgrading stays possible.

Develop

npm install
npm run compile      # bundle to dist/extension.js
npm test             # run unit tests

Press F5 in VSCode to launch an Extension Development Host.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft