README.md

February 10, 2026 · View on GitHub

ProCommit logo

ProCommit

A VS Code extension for generating clean, customizable commit messages with AI.

Build VS Marketplace OpenVSX License

Install from Marketplace · Install from OpenVSX


Features

  • Generate commit messages directly from the Source Control view.
  • Choose your generator: ChatGPT, Gemini, Ollama, LMStudio, Smithery, or a custom endpoint.
  • Multilingual output: English, Japanese, Korean, German, and Russian.
  • Clean formatting controls: emojis, multiple candidates, and scope formatting with file extensions.
  • Fine-tune outputs with model, temperature, max tokens, and endpoint settings.

demo

Quick Start

  1. Install ProCommit from the Marketplace or OpenVSX.
  2. Open a Git repository in VS Code.
  3. Configure your generator and credentials:
    • Command Palette → ProCommit: Set API key (if your generator requires one)
    • Or Settings → procommit.apiKey
  4. Generate a message:
    • Source Control view → click Generate ProCommit
    • Or Command Palette → ProCommit: Generate ProCommit

Requirements

  • Depending on the generator you select, you may need an API key (for example, OpenAI / Gemini / Smithery).
  • For local generators (like Ollama or LMStudio), you typically only need a reachable endpoint.

Install (Manually)

  1. Download a VSIX from the Direct Link.
  2. In VS Code, open Extensions → ... → Install from VSIX…
  3. Select the downloaded VSIX file.

Extension Settings

These keys can be changed in VS Code Settings UI or in your settings.json.

SettingDefaultDescription
procommit.general.generatorChatGPTGenerator used to create commit messages. Options: ChatGPT, Gemini, Ollama, LMStudio, Smithery, Custom.
procommit.general.messageApproveMethodQuick pickHow you approve and apply the generated message. Options: Quick pick, Message file.
procommit.general.languageEnglishLanguage used for generated commit messages.
procommit.general.showEmojifalseInclude emojis in commit messages.
procommit.general.useMultipleResultsfalseWhen enabled (and using Quick pick), shows multiple generated candidates.
procommit.general.includeFileExtensiontrueInclude file extensions in commit scope (for example, app.js vs app).
procommit.apiKeyemptyAPI key for generators that require authentication.
procommit.endpointemptyCustom endpoint URL for generators. Leave blank to use the generator default.
procommit.modelemptyOptional model identifier/version. Leave blank to use the generator default.
procommit.temperature0.2Output randomness (lower is more deterministic).
procommit.maxTokens196Maximum tokens used for generation.

Example settings.json

{
  "procommit.general.generator": "ChatGPT",
  "procommit.general.language": "English",
  "procommit.general.messageApproveMethod": "Quick pick",
  "procommit.general.showEmoji": false,
  "procommit.general.useMultipleResults": true,
  "procommit.general.includeFileExtension": true,
  "procommit.apiKey": "",
  "procommit.endpoint": "",
  "procommit.model": "",
  "procommit.temperature": 0.2,
  "procommit.maxTokens": 196
}

Commands

Available in the Command Palette:

  • ProCommit: Generate ProCommit
  • ProCommit: Set API key
  • ProCommit: Set Generator
  • ProCommit: Set Language
  • ProCommit: Set Message Approve Method
  • ProCommit: Set Include File Extension in Scope
  • ProCommit: Set Model Version
  • ProCommit: Set Custom Endpoint
  • ProCommit: Set Temperature
  • ProCommit: Set Max Tokens

Troubleshooting

  • No button in Source Control: ensure scmProvider == git and a Git repository is opened.
  • API errors: verify procommit.apiKey, procommit.endpoint, and procommit.model match your selected generator.
  • No changes detected: stage or modify files before generating; ProCommit uses your repository diff to create a message.

License

Released under the MIT License by @Kochan/koiisan.

Contributing

Feature requests and new language support are welcome. Please open an issue on the GitHub repository.