Automatically analyzes your code changes and suggests a clear, professional commit name (Bug Fix, Feature, Refactor, Docs, Tests) using an external backend API.
Manual Commit Message Generation
- Click the status bar button or use the keyboard shortcut to analyze all repository changes
- Analyzes git diffs from staged, unstaged, and untracked files
- Predicts commit type: Bug Fix, Feature, Refactor, Risky Commit, or Documentation
- Copy commit message directly to clipboard
Smart & Fast
- Automatically skips binary files and ignored directories
- Works only in git repositories with changes
- Multiple workspace support
- VS Code 1.107.0 or higher
- Git repository (extension only works in git repos)
- Backend API endpoint running (configurable)
- Open VS Code
- Go to Extensions (
Ctrl+Shift+XorCmd+Shift+X) - Search for "CommiTect – Smart Commit Name Suggestion"
- Click Install
-
Keyboard Shortcut (Recommended)
- Press
Shift+Cfrom anywhere in VS Code
- Press
-
Status Bar Button
- Click the
$(git-commit) CommiTectbutton in the status bar (bottom-right)
- Click the
-
Command Palette
- Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) - Type "CommiTect: Generate Commit Message"
- Press Enter
- Press
- Extension checks for git repository and changes
- Analyzes all changes (staged, unstaged, and untracked files)
- Sends diff to backend API
- Displays notification with suggested commit message
- Click "Copy Message" or "Copy Full" to use it
Configure in VS Code settings (File > Preferences > Settings or Code > Settings > Settings on Mac):
commitIntentDetector.enabled- Enable/disable the extension (default:true)commitIntentDetector.apiUrl- Backend API endpoint (default:http://commitintentdetector.runasp.net/api/Commit/analyze)commitIntentDetector.timeout- API request timeout in ms (default:30000)commitIntentDetector.showStatusBar- Show status bar indicator (default:true)commitIntentDetector.allowInsecureSSL- Allow self-signed certificates for development (default:false)
The extension requires a running backend API. Your API should accept this format:
Request:
POST /api/Commit/analyze
{
"diff": "=== UNSTAGED CHANGES ===\n\n+ // Added a new feature\n+ function subtract(a, b) {\n+ return a - b;\n+ }\n\n=== STAGED CHANGES ===\n\n- // Old code\n+ // New code"
}Response:
{
"intent": "Intent: Feature\nMessage: Add subtraction support to the calculator"
}Supported intents: Bug Fix, Feature, Refactor, Risky Commit, Documentation, Test
The default keyboard shortcut is Shift+C. To customize it:
- Open Keyboard Shortcuts (
Ctrl+K Ctrl+SorCmd+K Cmd+Son Mac) - Search for "CommiTect: Generate Commit Message"
- Click the pencil icon and press your desired key combination
- Press Enter to save
No notifications appearing?
- Make sure you're in a git repository
- Check that there are changes (staged, unstaged, or untracked)
- Verify
commitIntentDetector.enabledistrue - Check the Output panel (View > Output > CommiTect) for errors
"Not a Git repository" message?
- Initialize git in your workspace:
git init - Or open a folder that already contains a
.gitdirectory
"No changes detected" message?
- Make sure you have modified, added, or created files
- The extension analyzes all changes, not just saved files
SSL certificate errors?
- For development: Enable
commitIntentDetector.allowInsecureSSL - For production: Use a valid SSL certificate
API connection failed?
- Verify the backend service is running
- Check
commitIntentDetector.apiUrlis correct - Test the endpoint manually with a tool like Postman or curl
- Check your firewall settings
Changes too large error?
- The maximum diff size is 5MB
- Consider committing changes in smaller batches
- Large binary files are automatically excluded
- Only works in git repositories
- Requires a running backend API
- Binary files are excluded from analysis
- Large diffs (>5MB) are skipped
- Maximum analysis timeout: 30 seconds (configurable)
This extension sends git diff content to your configured backend API for analysis. No data is sent to third parties unless you configure a third-party API endpoint.
- Report issues: GitHub Issues
- Source code: GitHub Repository
MIT License - see LICENSE file for details
Enjoy better commit messages! 🚀
