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

AutoCommit with AI

Jitendra_GRL

|
71 installs
| (1) | Free
AI-powered automatic git commits. Press Alt+A to generate meaningful commit messages using AI.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

AutoCommit with AI

Version VS Code Marketplace Installs Rating VS Code License

🤖 AI-powered automatic git commits - Generate meaningful commit messages using AI.

📦 Install from VS Code Marketplace

✨ What's New in v2.2.0

📁 Commit Whole Directory Feature

  • 🗂️ Directory Commit - Right-click any folder in Explorer → "AutoCommit: Commit Directory"
  • 🔄 Multi-File Commit - Commits all changed files (staged, unstaged, untracked) in a directory with a single AI-generated message
  • 📊 Aggregated Diff - Combines all file changes into one diff for better AI context
  • 🤖 Smart Messages - AI generates meaningful commit messages describing all changes

🦙 llama.cpp Integration

  • 🏠 Local LLM - Uses llama.cpp server on Build PC for fast, private AI
  • 📦 GGUF Model - Supports Gemma 2B quantized model (gemma-2-2b-it-Q4_K_M.gguf)
  • ⚡ Provider Priority - local-model (llama.cpp) → Gemini → OpenAI → GitHub Copilot → Template

✨ What's New in v2.1.1

🎯 Custom Editor Support - Office Viewer & Preview Mode

  • 📊 Office Viewer Support - Alt+A now works for .xlsx, .xls, .csv, .docx, .md (preview)
  • 🔄 Git Extension API - Auto-detects changes in custom editor files
  • 🤖 AI for Binary Files - Generates commit messages using file metadata
  • 🗑️ Deleted File Support - Alt+A detects and commits deleted files
  • 🔧 Status Bar Fix - No longer stuck on "Auto-pulling..."

✨ What's New in v2.1.0

🚀 Git Push/Pull/Sync Integration

This major release adds comprehensive Git remote operations with intelligent error handling:

  • 📤 Push Changes - Alt+Shift+P to push commits to remote
  • 📥 Pull Changes - Alt+Shift+L to pull from remote
  • 🔄 Sync Command - One-click pull + push operation
  • ⚠️ Conflict Detection - Line-by-line conflict analysis with exact line numbers
  • 🔧 Auto Recovery - Automatic retry after pulling newer commits
  • 📊 Status Bar Buttons - Quick access to Push (☁️↑), Pull (☁️↓), Sync (🔄)

🛠️ Additional Features

  • 📁 File Delete/Rename Auto-Commit - Automatic commits when files are deleted or renamed
  • 🔄 Multi-Repository Support - Auto-detect and work with multiple git repos
  • ⏱️ Copilot Timeout Protection - 15s timeout prevents hangs
  • 🔒 Concurrent Commit Prevention - File-level locks avoid race conditions
  • ⚡ Git Info Caching - 60s cache reduces subprocess calls by 80%

✨ What's New in v2.0.0

  • ⌨️ Simple Keybinding - Alt+A for quick AI commit
  • 📊 GZIP Compression - Automatic compression for large diffs (>10KB)
  • 🔄 Queue Polling - Async server processing with status tracking
  • 📝 Multi-line Commits - Support for commit body/description
  • 🔒 Memory Leak Prevention - Comprehensive resource cleanup
  • 📁 File Logging - Persistent logs with automatic rotation (5MB, 3 files)
  • 🔐 Privacy-Compliant - Only GitHub username collected
  • ⚡ Condensed Logging - 80% reduction in log file size

🚀 Quick Start

1. Install the Extension

From Marketplace:

  1. Open VS Code Extensions (Ctrl+Shift+X)
  2. Search "copilot autocommit"
  3. Click Install

From VSIX:

  1. Download copilot-autocommit-2.1.1.vsix
  2. Ctrl+Shift+P → "Extensions: Install from VSIX..."
  3. Select the downloaded file

2. Configure Settings

Open Settings (Ctrl+,) and search for "autocommit":

{
  "autocommit.serverUrl": "http://localhost:5000",
  "autocommit.enabled": false
}

Note: The default server URL is pre-configured for your private network. If the server is unavailable, the extension will automatically fall back to GitHub Copilot.

3. Start Using

Manual Commit (Recommended):

  1. Make changes to your file
  2. Save with Ctrl+S
  3. Press Alt+A to commit with AI message

Auto-Commit Mode:

  1. Set autocommit.enabled: true
  2. Every save automatically commits with AI message

📋 Commands

Command Keybinding Description
AutoCommit: Commit Current File with AI Alt+A Commit current file with AI-generated message
AutoCommit: Commit Directory Right-click Commit all changes in a folder (Explorer context menu)
AutoCommit: Push Changes Alt+Shift+P Push commits to remote repository
AutoCommit: Pull Changes Alt+Shift+L Pull changes from remote repository
AutoCommit: Sync Changes - Pull then push in one operation
AutoCommit: Show Menu - Open options menu

⚙️ Configuration

Setting Default Description
autocommit.enabled false Auto-commit on every save
autocommit.useAI true Use AI for commit messages
autocommit.serverUrl http://localhost:5000 AI server URL
autocommit.serverTimeout 60000 Server request timeout (ms)
autocommit.queueTimeout 120000 Queue polling timeout (ms)
autocommit.autoPush false Auto-push after commit
autocommit.autoPull false Auto-pull before commit
autocommit.pushBranch current Branch to push to (current/main/master)
autocommit.pullBranch current Branch to pull from (current/main/master)
autocommit.enableCompression true GZIP for large diffs
autocommit.compressionThresholdKB 10 Compression threshold (KB)
autocommit.logLevel info Logging level: error, warn, info, debug
autocommit.enableNotifications true Show commit notifications
autocommit.excludePatterns [...] Files to exclude from auto-commit

🔌 Provider Architecture

The extension uses a 4-tier fallback system:

┌─────────────────────────────────────────────────────────────┐
│                      Alt+A Triggered                         │
└─────────────────────────┬───────────────────────────────────┘
                          ▼
┌─────────────────────────────────────────────────────────────┐
│  Tier 1: llama.cpp (Build PC Server)                        │
│  • Local Gemma 2B model via llama.cpp                       │
│  • Fast, private, no API costs                              │
│  • Server: http://localhost:8080/completion                 │
└─────────────────────────┬───────────────────────────────────┘
                          ▼ (if unavailable)
┌─────────────────────────────────────────────────────────────┐
│  Tier 2: Cloud APIs (Gemini/OpenAI)                         │
│  • Google Gemini (free tier available)                      │
│  • OpenAI GPT-3.5 (paid)                                    │
└─────────────────────────┬───────────────────────────────────┘
                          ▼ (if unavailable)
┌─────────────────────────────────────────────────────────────┐
│  Tier 3: GitHub Copilot (Client-side)                       │
│  • Uses local Copilot installation                          │
│  • Requires Copilot subscription                            │
└─────────────────────────┬───────────────────────────────────┘
                          ▼ (if unavailable)
┌─────────────────────────────────────────────────────────────┐
│  Tier 4: Template Fallback                                  │
│  • Uses configured message template                         │
│  • Always works - no dependencies                           │
└─────────────────────────────────────────────────────────────┘

📊 Status Bar

Icon Meaning
$(git-commit) AutoCommit Ready - Click to commit
$(cloud-upload) Push Push commits to remote
$(cloud-download) Pull Pull changes from remote
$(sync) Sync Pull and push together
$(sync~spin) Processing... Operation in progress
$(check) Success Operation completed
$(warning) Warning Minor issue occurred
$(error) Error Operation failed

🔍 Troubleshooting

No AI Messages Generated

  1. Check autocommit.useAI is true in settings
  2. Verify autocommit.serverUrl is correct
  3. Open Output Channel (View → Output → select "AutoCommit") for errors

Commit Fails

  1. Ensure file is in a git repository
  2. Check git user.name and user.email are configured:
    git config user.name "Your Name"
    git config user.email "your@email.com"
    
  3. Check Output Channel for detailed error messages

Extension Not Responding

  1. Reload VS Code window (Ctrl+Shift+P → "Reload Window")
  2. Check for errors in Developer Tools (Help → Toggle Developer Tools)

📝 Example Commit Messages

Generated by AI:

feat(auth): add JWT token validation middleware

- Implements token verification for protected routes
- Adds automatic token refresh on expiry
- Includes rate limiting per user
fix(api): handle null pointer in user profile endpoint

Adds defensive null check before accessing nested user.profile
object to prevent runtime errors when profile is not initialized.

📁 Log Files

Logs are stored in:

  • Windows: %APPDATA%/autocommit-vscode/autocommit.log
  • macOS: ~/Library/Application Support/autocommit-vscode/autocommit.log
  • Linux: ~/.config/autocommit-vscode/autocommit.log

Features:

  • Automatic rotation at 5MB
  • Keeps 3 backup files
  • Condensed format option (80% size reduction)

🤝 Contributing

Contributions welcome! Please see our GitHub repository.

📄 License

MIT License - see LICENSE for details.

🙏 Credits

Built with ❤️ by Granite River Labs


Happy Committing! 🚀

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