Auto Commiter is a VS Code extension that analyzes your git diff --staged and uses generative AI (OpenAI or Google Gemini) to automatically create descriptive and accurate commit messages, integrating directly into your Source Control panel.
📚 Project Evolution: This project was created to streamline the development workflow, saving time and improving the quality of commit history by leveraging the power of modern AI models inside the code editor.
🎓 Main Features
AI-Powered Commits: Automatically generates commit messages based on staged changes.
Multi-Provider Support: Choose between OpenAI (GPT), Google (Gemini) models or Claude AI.
VS Code Integration: Populates the commit message box in the Source Control panel.
Command Palette: Access functionality quickly via the VS Code Command Palette (Ctrl+Shift+P).
🤖 How It Works & Supported Models
How It Works
The extension activates when you open a Git repository in VS Code.
After staging your changes (git add .), go to the Source Control panel.
Click the "Auto Commiter" icon (or run the command) to generate a message.
The extension securely sends your git diff --staged to your chosen AI provider (OpenAI, Claude, or Gemini).
The AI analyzes the code changes and returns a suggested commit message.
The generated message is automatically placed in the commit input box, ready for you to review and commit.
Supported AI Models
You can choose from the following models in the extension's settings:
OpenAI:
gpt-3.5-turbo
gpt-4
gpt-4-turbo
Anthropic Claude:
claude-3-5-sonnet-20241022
claude-3-5-haiku-20241022
claude-3-opus-20240229
claude-3-sonnet-20240229
claude-3-haiku-20240307
Google Gemini:
gemini-1.0-pro
gemini-1.5-pro-latest
🛠️ Technologies Used
Environment: Visual Studio Code
Language: TypeScript (or JavaScript)
API: VS Code Extension API
AI Integration: OpenAI API, Google Gemini API
🚀 Quick Start
📥 Installation
Open Visual Studio Code.
Go to the Extensions view (or press Ctrl+Shift+X).
Search for "Auto Commiter".
Click Install.
Alternatively, launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter: