Overview Version History Q & A Rating & Review
Git Commit AI Helper
AI-powered VS Code extension that analyzes your staged changes and generates conventional commit messages — with optional code review before you commit.
Features
🤖 AI Commit Generation — Analyze git diff --cached and auto-generate type(scope): subject format following your project's convention
📋 One-Click Fill — Auto-fills VS Code SCM input box, no copy-paste needed
🔧 Project Convention Aware — Reads .gitmessage, commitlint.config.js, or custom .gitcommithelper.json
🔌 Multi-Provider — Supports OpenAI, DeepSeek, and custom OpenAI-compatible endpoints
⚡ Keyboard Shortcut — Ctrl+Shift+C (Windows/Linux) / Cmd+Shift+C (Mac) in SCM view
📊 Status Bar — Quick access from the status bar
🔒 Privacy-First — Your code never leaves your machine when using your own API key
Quick Start
Install the extension from VS Code Marketplace
Open a Git repository with staged changes
Generate — Click the "Generate Commit Message" button in Source Control title bar, or press Ctrl+Shift+C
Enter API Key when prompted (stored securely in VS Code SecretStorage)
Commit — Review the generated message and commit!
Configuration
Setting
Description
Default
gitCommitHelper.provider
LLM provider (openai, deepseek, custom)
openai
gitCommitHelper.endpoint
Custom API endpoint URL
""
gitCommitHelper.model
Model name override
"" (provider default)
gitCommitHelper.configPath
Path to convention config file
""
gitCommitHelper.customPrompt
Custom prompt template (use {{diff}} and {{convention}})
""
gitCommitHelper.maxDiffLength
Max diff characters sent to LLM
8000
gitCommitHelper.showStatusBar
Show status bar indicator
true
Supported Providers
Provider
Default Model
API Key Format
OpenAI
GPT-4.1-mini
sk-...
DeepSeek
DeepSeek V3.2
sk-...
Custom
Configurable
Any
Convention Config Priority
The extension automatically detects your project's commit convention in this order:
.gitcommithelper.json — Custom config file (project root)
.gitmessage — Git commit template file
commitlint.config.js — Commitlint configuration
Conventional Commits spec — Default fallback
.gitcommithelper.json Example
{
"types": ["feat", "fix", "docs", "refactor", "test", "chore"],
"scopes": ["api", "web", "core", "cli"],
"subjectMaxLength": 72,
"allowBreakingChanges": true
}
Commands
Command
Title
Keyboard
Context
git-commit-ai-helper.generateCommit
Generate Commit Message
Ctrl+Shift+C / Cmd+Shift+C
SCM view
Architecture
VS Code Extension (TypeScript)
├── src/git.ts — Git diff parsing
├── src/config.ts — Convention detection
├── src/llm.ts — LLM provider abstraction
├── src/commit-gen.ts — Commit generation logic
└── src/extension.ts — VS Code entry point
License
MIT © AnsonCar