AutoCommit with AI

AI-powered automatic git commits with real-time multi-user file tracking for team collaboration.
Works with VS Code, Cursor, and Windsurf (Codeium).
Install from VS Code Marketplace
Features
- AI Commit Messages - Generate meaningful commit messages from your diffs using a 4-tier AI provider fallback
- One-Key Commit - Press
Alt+A to commit the current file with an AI-generated message
- Multi-User File Tracking - See when teammates are editing the same files in real-time (v3.0.0)
- Conflict Detection - Get warned before committing files others are working on
- Directory Commit - Right-click a folder to commit all changes with a single AI message
- Push / Pull / Sync - Built-in git remote operations with conflict detection and auto-recovery
- Office & Binary File Support - Works with
.xlsx, .docx, .csv, and custom editor files
- GZIP Compression - Automatic compression for large diffs
- File Logging - Persistent logs with automatic rotation
Quick Start
Installation
From Marketplace (VS Code / Cursor / Windsurf):
- Open Extensions (
Ctrl+Shift+X)
- Search "copilot autocommit"
- Click Install
From VSIX (manual):
- Download
copilot-autocommit-3.0.0.vsix
Ctrl+Shift+P > "Extensions: Install from VSIX..."
- Select the file
Usage
Manual commit (recommended):
- Edit and save your file (
Ctrl+S)
- Press
Alt+A to commit with an AI message
Auto-commit mode:
Set autocommit.enabled: true in settings to commit on every save.
Commands
| Command |
Keybinding |
Description |
| AutoCommit: Commit Current File with AI |
Alt+A |
Commit current file with AI message |
| AutoCommit: Commit Directory |
Right-click folder |
Commit all changes in a folder |
| AutoCommit: Push Changes |
Alt+Shift+P |
Push commits to remote |
| AutoCommit: Pull Changes |
Alt+Shift+L |
Pull from remote |
| AutoCommit: Sync (Pull + Push) |
- |
Pull then push |
| AutoCommit: File Status Filter |
- |
Filter tracked files by status |
| AutoCommit: Show Tracking Status |
- |
View multi-user tracking panel |
| AutoCommit: Show Menu |
- |
Open options menu |
Multi-User File Tracking (v3.0.0)
Prevent merge conflicts before they happen. See when teammates are editing the same files in real-time.
- Real-time awareness - See who is editing which files instantly
- Conflict warnings - Get warned before committing files others are working on
- Visual indicators - Orange gutter icons show multi-user files
- Status bar widget - Connection status and conflict count at a glance
- Auto-reconnect - Survives network interruptions
- File status filter - Filter by All / Conflicts / Uncommitted / Staged / Committed
Setup: Tracking is enabled by default. Look for the tracking indicator in the status bar. Configure the server URL under autocommit.tracking.serverUrl.
AI Provider Architecture
The extension uses a 4-tier fallback system:
1. llama.cpp (local) - Fast, private, no API costs
2. Cloud APIs - Gemini (free tier) / OpenAI
3. GitHub Copilot - Uses local Copilot installation
4. Template - Configurable fallback message
If a provider is unavailable, the next one is tried automatically.
Configuration
Core Settings
| 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.copilotTimeout |
15000 |
Copilot request timeout (ms) |
autocommit.commitMessageTemplate |
Auto-commit: ${fileName}... |
Fallback template |
autocommit.autoPush |
false |
Auto-push after commit |
autocommit.autoPull |
false |
Auto-pull before commit |
autocommit.pushBranch |
current |
Branch to push to |
autocommit.pullBranch |
current |
Branch to pull from |
autocommit.enableCompression |
true |
GZIP for large diffs |
autocommit.compressionThresholdKB |
10 |
Compression threshold (KB) |
autocommit.maxDiffForAI |
4000 |
Max diff chars for AI |
autocommit.logLevel |
info |
Logging level |
autocommit.enableNotifications |
true |
Show commit notifications |
autocommit.excludePatterns |
[...] |
Glob patterns to exclude |
Tracking Settings
| Setting |
Default |
Description |
autocommit.tracking.enabled |
true |
Enable multi-user tracking |
autocommit.tracking.serverUrl |
http://192.168.100.79:5000 |
Tracking server URL |
autocommit.tracking.showDecorations |
true |
Show gutter icons |
autocommit.tracking.conflictWarning |
true |
Warn on conflicts |
autocommit.tracking.autoReconnect |
true |
Auto-reconnect on disconnect |
autocommit.tracking.heartbeatInterval |
30000 |
Heartbeat interval (ms) |
autocommit.tracking.defaultFilter |
all |
Default filter for status panel |
autocommit.tracking.mergeConflictDetection |
true |
Cross-branch conflict detection |
autocommit.tracking.alertOnBranchDrift |
true |
Alert on branch divergence |
autocommit.tracking.preCommitConflictCheck |
true |
Check conflicts before commit |
Status Bar
| Icon |
Meaning |
$(git-commit) AutoCommit |
Ready - click to commit |
$(cloud-upload) Push |
Push commits to remote |
$(cloud-download) Pull |
Pull from remote |
$(sync) Sync |
Pull and push |
$(sync~spin) Processing... |
Operation in progress |
$(check) Success |
Operation completed |
$(warning) Warning |
Minor issue |
$(error) Error |
Operation failed |
Example AI Commit Messages
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
Automatic rotation at 5MB, keeps 3 backup files. Condensed format option reduces size by 80%.
Troubleshooting
No AI messages generated:
- Check
autocommit.useAI is true
- Verify
autocommit.serverUrl is correct
- Check Output Channel: View > Output > AutoCommit
Commit fails:
- Ensure the file is in a git repository
- Verify git user.name and user.email are configured
- Check Output Channel for details
Extension not responding:
- Reload window:
Ctrl+Shift+P > "Reload Window"
- Check Developer Tools: Help > Toggle Developer Tools
Compatibility
| Editor |
Status |
Install Method |
| VS Code |
Fully supported |
Marketplace or VSIX |
| Cursor |
Fully supported |
VSIX install |
| Windsurf (Codeium) |
Fully supported |
VSIX install |
All editors based on the VS Code extension API are supported. The extension uses extensionKind: workspace for compatibility with remote and container environments.
Contributing
Contributions welcome! See the GitHub repository.
License
MIT License - see LICENSE for details.
Built by Granite River Labs