Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Bro CommitsNew to Visual Studio Code? Get it now.
Bro Commits

Bro Commits

anishek1

|
3 installs
| (0) | Free
Your bro who handles git commits so you don't have to. Intelligent auto-commits with high-quality messages using local LLMs.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Bro Commits 🤙

Your bro who handles git commits so you don't have to.

Intelligent auto-commits with high-quality messages using local LLMs.

Features

  • 🧠 Intelligent Commit Detection - Only commits meaningful changes, ignoring whitespace, comments, and trivial edits
  • 📝 High-Quality Messages - Generates clear, concise commit messages using Conventional Commits format
  • 🏠 100% Local & Free - Uses open-source LLMs that run entirely on your machine
  • ⚡ Heuristics-First - Fast deterministic analysis with optional LLM validation
  • 🔧 Highly Configurable - Customize thresholds, models, and behavior to your workflow

Quick Start

  1. Install the extension from VS Code Marketplace
  2. Open a Git repository
  3. Make some changes
  4. Use Ctrl+Shift+P → "Bro Commits: Auto Commit Now"

Commands

Command Description
Bro Commits: Auto Commit Now Analyze changes and commit if meaningful
Bro Commits: Generate Commit Message Generate a message without committing
Bro Commits: Preview Commit Decision See what Bro Commits thinks about your changes
Bro Commits: Toggle Auto-Watch Enable/disable automatic watching
Bro Commits: Show Commit History View recent commits
Bro Commits: Configure LLM Model Choose or disable the LLM model

How It Works

Developer edits files
        ↓
Change detected
        ↓
Trivial diff filter (whitespace, comments)
        ↓
Semantic heuristics (functions, classes, logic)
        ↓
(Optional) LLM validation
        ↓
If meaningful:
   → Generate commit message
   → Commit (or preview)
Else:
   → Skip commit

What's Considered Meaningful?

✅ Commit-worthy changes:

  • New functions, classes, or methods
  • Logic changes (conditionals, loops)
  • Bug fixes
  • Configuration updates
  • New files or file deletions
  • Test additions/modifications

❌ Ignored changes:

  • Whitespace-only changes
  • Comment-only edits
  • Single-character typo fixes
  • Formatting/style-only changes

Configuration

Access settings via File → Preferences → Settings → Bro Commits

Core Settings

Setting Default Description
brocommits.enabled true Enable/disable the extension
brocommits.autoCommit false Auto-commit on file save
brocommits.autoPush false Auto-push after commit
brocommits.minChangedLines 3 Minimum meaningful lines to trigger commit
brocommits.minChangedFiles 1 Minimum files to trigger commit

LLM Settings

Setting Default Description
brocommits.useLLM true Use LLM for validation/generation
brocommits.llmModel tinyllama Model: tinyllama, phi2, mistral, codellama, custom
brocommits.heuristicsOnly false Disable LLM, use only heuristics
brocommits.llmTimeout 30000 LLM inference timeout (ms)

Commit Message Settings

Setting Default Description
brocommits.conventionalCommits true Use Conventional Commits format
brocommits.commitPrefix "" Prefix for all commits (e.g., ticket number)
brocommits.maxCommitMessageLength 72 Max subject line length
brocommits.includeBody true Include detailed body for complex changes

Setting Up Local LLM

Bro Commits works great with heuristics alone, but for best results, set up a local LLM:

Option 1: Use Built-in Downloader

cd ~/.vscode/extensions/brocommits-*/python
pip install -r requirements.txt
python download_model.py --model tinyllama

Option 2: Bring Your Own Model

  1. Download any GGUF-format model
  2. Set brocommits.llmModel to custom
  3. Set brocommits.customModelPath to your model file

Supported Models

Model Size Speed Quality
TinyLlama 1.1B 669 MB ⚡⚡⚡ ⭐⭐
Phi-2 2.7B 1.6 GB ⚡⚡ ⭐⭐⭐
Mistral 7B 4.1 GB ⚡ ⭐⭐⭐⭐
CodeLlama 7B 4.1 GB ⚡ ⭐⭐⭐⭐

Status Bar

The status bar shows Bro Commits' current state:

Icon Status Description
👁️ Watching Monitoring for changes
🔄 Analyzing Evaluating current changes
📤 Committing Creating commit
✅ Committed Successfully committed
⏭️ Skipped Changes were trivial
❌ Error Something went wrong
🚫 Disabled Extension is disabled

Click the status bar item to toggle watching.

Examples

Auto-generated Messages

feat: add user authentication module
fix: resolve null pointer in data parser  
docs: update README with installation guide
refactor: simplify validation logic
test: add unit tests for api service
chore: update dependencies

Requirements

  • VS Code 1.108.0 or higher
  • Git installed and available in PATH
  • (Optional) Python 3.8+ for LLM features
  • (Optional) 2-8 GB RAM for local LLM

Privacy & Security

🔒 Your code never leaves your machine.

  • All analysis is done locally
  • LLM inference runs 100% offline
  • No API calls, no telemetry, no cloud services
  • Your commits are truly yours

License

MIT License


Made with 🤙 by developers, for developers.

Because life's too short for "fix stuff" commits.

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