Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>Commit MachineNew to Visual Studio Code? Get it now.
Commit Machine

Commit Machine

Nino Gralla

|
1 install
| (0) | Free
AI-powered commit message generator following Conventional Commits standard with GitMoji support
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Commit Machine

AI-Powered Git Workflow Automation for VS Code

Transform your Git workflow with intelligent commit messages, automated pull requests, and comprehensive repository management—all powered by cutting-edge AI.


Overview

Commit Machine is a professional VS Code extension that leverages AI to streamline your entire Git workflow. Generate meaningful commit messages that follow industry standards, create intelligent pull requests, visualize your repository history, and manage Git operations—all from a unified, intuitive interface.

Why Commit Machine?

  • Save Time: Generate contextual commit messages in seconds instead of minutes
  • Maintain Standards: Automatic adherence to Conventional Commits specification
  • Increase Quality: AI-powered analysis ensures accurate, meaningful descriptions
  • Enhance Workflow: Integrated PR creation with smart branch detection
  • Stay Secure: Built-in secret detection prevents accidental credential commits
  • Work Globally: Support for 10 languages and multiple AI providers

Features

AI-Powered Commit Messages

Generate meaningful, contextual commit messages using your choice of AI provider:

  • OpenAI (GPT-5.2, GPT-5.2 Pro, GPT-5 Mini, GPT-4.1)
  • Anthropic Claude (Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.5)
  • Google Gemini (Gemini 3 Pro, Gemini 2.5 Pro/Flash, Gemini 2.0 Flash)

All commit messages automatically follow the Conventional Commits specification with optional GitMoji support for visual categorization.

Pull Request Automation

Create professional pull requests with AI-generated content:

  • Auto-Generated Titles: Intelligent PR titles based on commit history
  • Smart Descriptions: Comprehensive PR descriptions with context and impact analysis
  • Template Integration: Automatically incorporates .github/PULL_REQUEST_TEMPLATE.md
  • Focus Areas: AI-suggested code review focus areas
  • Auto-Labels: Smart label suggestions based on commit types (optional)
  • Reviewer Suggestions: Integration with CODEOWNERS file (optional)

Branch Flow System

Intelligent branch management with automatic target detection:

Tier-Based Flow:

  • Feature branches → Development
  • Development → Staging (optional)
  • Staging → Main/Master

Configurable Aliases: Customize branch names for your workflow (e.g., develop, dev, development)

Git History Visualization

Interactive commit history with visual graph:

  • Branch Visualization: See relationships between commits and branches
  • Commit Details: Quick access to commit metadata and changes
  • Configurable Display: Adjust graph width, commit count, and panel height
  • Real-Time Updates: Automatically refreshes on repository changes

Git Commands Panel

Quick access to common Git operations:

  • Fetch: Retrieve updates from remote repositories
  • Push: Send commits to remote repositories
  • Pull: Fetch and merge remote changes
  • Pinned Commands: Save frequently used commands for one-click access

Secret Detection

Prevent accidental exposure of sensitive data:

  • Pattern Recognition: Detects API keys, passwords, tokens, and credentials
  • File Exclusion: Automatic filtering of sensitive files (.env, *.pem, etc.)
  • Flexible Modes: Block, warn, or disable detection based on your needs
  • Customizable Patterns: Add custom file exclusion patterns

Multi-Language Support

Generate commit messages in your preferred language:

English | German | Spanish | French | Italian | Portuguese | Chinese | Japanese | Korean | Russian

File Management

Advanced commit organization:

  • Manual Selection: Choose specific files for each commit
  • Auto-Grouping: Automatically group related changes into logical commits
  • Smart Staging: Optional auto-staging for selected files

Installation

From VS Code Marketplace

  1. Open VS Code
  2. Press Ctrl+Shift+X (Windows/Linux) or Cmd+Shift+X (macOS)
  3. Search for "Commit Machine"
  4. Click Install

From VSIX File

  1. Download the .vsix file from GitHub Releases
  2. Open VS Code
  3. Press Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS)
  4. Run Extensions: Install from VSIX...
  5. Select the downloaded file

Getting Started

Step 1: Configure Your AI Provider

  1. Open Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
  2. Run Commit Machine: Set API Key
  3. Select your preferred provider:
    • OpenAI: Get your key from platform.openai.com
    • Anthropic: Get your key from console.anthropic.com
    • Google Gemini: Get your key from aistudio.google.com
  4. Enter your API key (stored securely in VS Code's SecretStorage)

Step 2: Generate Your First Commit

Method 1: Quick Generate

  1. Make changes to your code
  2. Click the sparkle icon (✨) in the Source Control panel
  3. Review the generated commit message
  4. Commit!

Method 2: Select Files

  1. Run Commit Machine: Select Files and Generate Commit
  2. Choose specific files to include
  3. Review and commit

Method 3: Auto-Group

  1. Run Commit Machine: Auto-Group and Generate Commits
  2. Extension automatically groups related changes
  3. Review and commit each logical group

Step 3: Create a Pull Request

  1. Ensure you're on a feature branch
  2. Click the PR icon in the Source Control panel, or run Commit Machine: Create Pull Request
  3. Review the AI-generated title and description
  4. Adjust target branch if needed (auto-detected via Branch Flow)
  5. Create PR directly on GitHub/GitLab/Bitbucket

Commands

Access all commands via Command Palette (Ctrl+Shift+P / Cmd+Shift+P):

Command Description
Commit Machine: Generate Commit Message Generate a message for currently staged changes
Commit Machine: Select Files and Generate Commit Choose specific files and generate a commit
Commit Machine: Auto-Group and Generate Commits Automatically group changes into multiple logical commits
Commit Machine: Create Pull Request Create a PR with AI-generated title and description
Commit Machine: Set API Key Configure your AI provider API key
Commit Machine: Open Settings Quick access to extension settings

Configuration

Customize Commit Machine via VS Code Settings (Ctrl+, / Cmd+,) → Search "Commit Machine"

AI Provider Settings

Setting Default Description
commitMachine.provider openai AI provider (openai, anthropic, gemini)
commitMachine.model.openai gpt-5.2 OpenAI model to use
commitMachine.model.anthropic claude-sonnet-4-5 Anthropic model to use
commitMachine.model.gemini gemini-2.0-flash Gemini model to use
commitMachine.customInstructions "" Custom instructions for AI (prompt tuning)

Commit Message Settings

Setting Default Description
commitMachine.language en Commit message language (en, de, es, fr, it, pt, zh, ja, ko, ru)
commitMachine.gitmoji.enabled false Enable GitMoji in commit messages
commitMachine.gitmoji.position prefix Emoji position (prefix/suffix)
commitMachine.includeBody true Include detailed body in commit messages
commitMachine.includeScope true Include scope when detectable
commitMachine.maxDiffLines 500 Max diff lines to send to AI (controls token usage)
commitMachine.autoStage false Auto-stage selected files before generating commit
commitMachine.showCopyToScm false Show "Copy to SCM" button in commit preview

Security Settings

Setting Default Description
commitMachine.security.enabled true Enable secret detection
commitMachine.security.mode warn Secret handling mode (block/warn/off)
commitMachine.security.excludeFiles [".env", "*.pem", ...] File patterns to exclude from AI analysis

Pull Request Settings

Setting Default Description
commitMachine.pullRequest.enabled true Enable PR features
commitMachine.pullRequest.generateTitle true Auto-generate PR title using AI
commitMachine.pullRequest.generateDescription true Auto-generate PR description using AI
commitMachine.pullRequest.useTemplate true Include PR template from .github/
commitMachine.pullRequest.includeFocusAreas true Include review focus areas in description
commitMachine.pullRequest.autoLabels false Auto-suggest labels based on commit types
commitMachine.pullRequest.reviewerSuggestion false Suggest reviewers from CODEOWNERS

Branch Flow Settings

Setting Default Description
commitMachine.pullRequest.branchFlow See below Branch tier configuration with aliases

Default Branch Flow Configuration:

{
  "tiers": [
    { "tier": "main", "enabled": true, "aliases": ["main", "master"] },
    { "tier": "staging", "enabled": false, "aliases": ["staging", "stage", "uat"] },
    { "tier": "development", "enabled": true, "aliases": ["develop", "dev", "development"] }
  ],
  "featureBranchTarget": "development"
}

Git History Settings

Setting Default Description
commitMachine.gitHistory.enabled true Show git history panel
commitMachine.gitHistory.showGraph true Show visual git graph
commitMachine.gitHistory.commitCount 50 Number of commits to display (10-200)
commitMachine.gitHistory.height 200 Panel height in pixels (100-400)
commitMachine.gitHistory.graphWidth 80 Graph column width in pixels (60-150)

Git Commands Settings

Setting Default Description
commitMachine.gitCommands.enabled true Show git commands panel
commitMachine.gitCommands.pinned [] Pinned git commands for quick access

Conventional Commits Reference

Commit Machine generates messages following the Conventional Commits specification:

Commit Types

Type Description GitMoji Use Case
feat New feature ✨ Add new functionality
fix Bug fix 🐛 Fix a bug
docs Documentation 📝 Update documentation
style Code style 💄 Format code, no logic change
refactor Code refactoring ♻️ Restructure code without changing behavior
perf Performance improvement ⚡️ Optimize performance
test Tests ✅ Add or update tests
build Build system 📦 Modify build configuration
ci CI/CD 👷 Update CI/CD pipelines
chore Maintenance 🔧 Update dependencies, tooling
revert Revert commit ⏪️ Revert previous changes

Message Format

<type>(<optional scope>): <description>

[optional body]

[optional footer(s)]

Example with GitMoji:

✨ feat(auth): add OAuth2 authentication

- Implement OAuth2 flow with Google and GitHub providers
- Add user session management
- Include JWT token generation

Closes [#123](https://github.com/goNinoGralla/Conventional-Commit-Helper/issues/123)

Requirements

  • VS Code: Version 1.85.0 or higher
  • Git: Installed and configured on your system
  • API Key: Valid API key for at least one supported AI provider (OpenAI, Anthropic, or Google Gemini)

Privacy & Security

Data Handling

  • Local Processing: All Git operations are performed locally
  • API Keys: Stored securely using VS Code's SecretStorage API (encrypted)
  • Code Analysis: Diff data is sent to your chosen AI provider for analysis
  • No Telemetry: Extension does not collect or store any usage data
  • No Logging: Sensitive information is never logged

Secret Detection

Commit Machine includes built-in protection against accidental credential commits:

  • Pattern Detection: Identifies API keys, tokens, passwords, private keys
  • File Filtering: Automatically excludes sensitive files (.env, *.pem, credentials)
  • User Control: Configurable warning or blocking behavior
  • Custom Patterns: Add your own file exclusion patterns

Excluded Files by Default:

.env, .env.*, *.pem, *.key, *.p12, *.pfx,
credentials.json, secrets.json, *.secret,
id_rsa, id_ed25519

Keyboard Shortcuts

Commit Machine integrates seamlessly with VS Code's Git workflow. Use these shortcuts for quick access:

  • Ctrl+Shift+G / Cmd+Shift+G: Open Source Control panel (where Commit Machine icons appear)
  • Ctrl+Shift+P / Cmd+Shift+P: Open Command Palette (access all Commit Machine commands)

Tip: You can assign custom keyboard shortcuts to any Commit Machine command via VS Code's Keyboard Shortcuts editor (Ctrl+K Ctrl+S / Cmd+K Cmd+S).


Troubleshooting

Common Issues

Problem: "API key not configured"

  • Solution: Run Commit Machine: Set API Key and enter a valid API key

Problem: "No changes detected"

  • Solution: Ensure you have unstaged or staged changes in your repository

Problem: "Failed to generate commit message"

  • Solution: Check your API key validity and internet connection. Verify your API provider quota.

Problem: "Secret detected" warning

  • Solution: Review the flagged files. If false positive, add pattern to commitMachine.security.excludeFiles or set commitMachine.security.mode to off

Problem: PR creation fails

  • Solution: Ensure you have a remote repository configured and proper authentication set up (SSH keys or HTTPS credentials)

Getting Help

  • GitHub Issues: Report a bug or request a feature
  • Documentation: Check this README, the Docs folder, and extension settings descriptions
  • Logs: Open VS Code Output panel (Ctrl+Shift+U / Cmd+Shift+U) and select "Commit Machine" for debug information

Additional Documentation

Document Description
CONVENTIONAL_COMMITS.md Detailed Conventional Commits specification
PUBLISHING.md Guide for publishing to VS Code Marketplace & Open VSX

Contributing

Contributions are welcome! Whether it's bug reports, feature requests, or code contributions, your input helps make Commit Machine better for everyone.

How to Contribute

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes using Commit Machine (of course!)
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Setup

# Clone the repository
git clone https://github.com/goNinoGralla/Conventional-Commit-Helper.git

# Install dependencies
npm install

# Compile TypeScript
npm run compile

# Watch for changes
npm run watch

# Run tests
npm test

Code Standards

  • Follow TypeScript best practices
  • Maintain test coverage
  • Use Conventional Commits for commit messages (use the extension!)
  • Update documentation for new features

Publishing

For information on how to publish new versions to VS Code Marketplace and Open VSX, see Docs/PUBLISHING.md.


Roadmap

  • [ ] Support for additional AI providers (Mistral, Cohere)
  • [ ] Offline mode with local LLM support
  • [ ] Commit message templates and customization
  • [ ] Team presets for commit message style
  • [ ] Integration with issue trackers (Jira, Linear, GitHub Issues)
  • [ ] Commit message history and reuse
  • [ ] Multi-repository support
  • [ ] Advanced analytics and insights

License

This project is licensed under the MIT License - see the LICENSE file for details.


Acknowledgments

  • Built with VS Code Extension API
  • Powered by OpenAI, Anthropic, and Google Gemini
  • Follows Conventional Commits specification
  • Inspired by GitMoji

Support the Project

If you find Commit Machine useful, consider:

  • ⭐ Starring the repository on GitHub
  • 📝 Writing a review on the VS Code Marketplace
  • 🐛 Reporting bugs and suggesting features
  • 💻 Contributing code or documentation

Made with ❤️ by Nino Gralla

GitHub • Issues • License

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