BLXCommit Forge for VS Code
BLXCommit Forge is a Bitslix VS Code extension that generates Git commit messages from the Source Control view using your own local/offline AI model.
It reads the Git diff from the active repository, sends it to Ollama, LM Studio, or another OpenAI-compatible local endpoint, and writes the generated commit message directly into the VS Code Git commit input box.
Created by Bitslix — https://bitslix.com
Note: VS Code does not expose a supported API to replace the built-in Copilot/AI commit-message button URL directly. BLXCommit Forge adds its own SCM action and command instead.
What it does
- Adds a BLXCommit Forge icon button directly to the Git commit message input box
- Adds fallback actions to the Source Control title/repository toolbar and Command Palette
- Uses VS Code's built-in Git extension API
- Generates commit messages with local/offline AI instead of cloud AI
- Supports Ollama
/api/chat and /api/generate
- Supports LM Studio / OpenAI-compatible
/v1/chat/completions
- Writes the result into the Git Source Control commit box
- Supports staged diffs, optional unstaged diffs, and small untracked text files
- Can generate Conventional Commits
- Supports English and German commit messages
Quick start
1. Run a local model
Ollama
ollama pull qwen2.5-coder:7b
ollama serve
VS Code settings:
{
"blxCommitForge.provider": "ollama",
"blxCommitForge.endpoint": "http://127.0.0.1:11434/api/chat",
"blxCommitForge.model": "qwen2.5-coder:7b"
}
LM Studio
- Start LM Studio.
- Load a local chat/instruct model.
- Start the local server.
- Use these VS Code settings:
{
"blxCommitForge.provider": "lmstudio",
"blxCommitForge.endpoint": "http://127.0.0.1:1234/v1/chat/completions",
"blxCommitForge.model": "local-model"
}
The model value should match whatever your LM Studio server expects. Some local servers accept any model string when only one model is loaded.
2. Install for development
cd BLXCommitForge
npm install
code .
Press F5 in VS Code to launch an Extension Development Host.
3. Use it
- Open a Git repository in VS Code.
- Stage changes, or leave changes unstaged if
includeUnstagedWhenNoStaged is enabled.
- Open Source Control.
- Click the BLXCommit Forge icon directly inside the Git commit message input box.
- Review the generated commit message before committing.
The extension also contributes fallback actions to the Source Control title/repository toolbar and Command Palette.
Package as VSIX
npm install
npm run package
code --install-extension BLXCommitForge-0.5.1.vsix
Useful settings
{
"blxCommitForge.provider": "ollama",
"blxCommitForge.endpoint": "http://127.0.0.1:11434/api/chat",
"blxCommitForge.model": "qwen2.5-coder:7b",
"blxCommitForge.language": "en",
"blxCommitForge.conventionalCommits": true,
"blxCommitForge.messageStyle": "subject",
"blxCommitForge.includeStaged": true,
"blxCommitForge.includeUnstaged": false,
"blxCommitForge.includeUnstagedWhenNoStaged": true,
"blxCommitForge.includeUntrackedContent": true,
"blxCommitForge.maxDiffChars": 18000,
"blxCommitForge.temperature": 0.2,
"blxCommitForge.timeoutMs": 120000
}
Recommended local models
Commit-message generation does not need a huge model. A fast 7B/8B instruct model is usually enough.
Good small coding/instruct models for this task:
qwen2.5-coder:7b
llama3.1:8b
mistral:7b
- Any recent local instruct model that follows formatting rules well
How it works
- Activates the built-in
vscode.git extension.
- Reads the selected repository through Git API v1.
- Collects staged diff via
repository.diff(true).
- Optionally collects working tree diff via
repository.diff(false).
- Adds a changed-file summary and small untracked file contents.
- Sends a compact prompt to the configured local endpoint.
- Writes the normalized response into
repository.inputBox.value.
Troubleshooting
The BLXCommit Forge icon is not visible in the commit message box
Make sure you installed version 0.5.1 or newer and reload VS Code:
Developer: Reload Window
BLXCommit Forge contributes to scm/input, so the primary button is intended to appear directly in the Git commit message input area. If your VS Code layout is very narrow, VS Code can still move extra actions into overflow. In that case, widen the Source Control sidebar or run:
Git: Generate Commit Message with BLXCommit Forge
Ollama returns connection refused
Make sure Ollama is running:
ollama serve
Then test:
curl http://127.0.0.1:11434/api/tags
LM Studio returns model errors
Open LM Studio, load a model, start the local server, then verify the endpoint:
curl http://127.0.0.1:1234/v1/models
Message is too generic
Increase blxCommitForge.maxDiffChars or use a better instruct/code model.
Diff is huge
The extension truncates large diffs by design. Commit smaller chunks or increase blxCommitForge.maxDiffChars.
License
MIT
Packaging with pnpm on Windows
vsce checks production dependencies with npm list during packaging. That can fail in pnpm-based folders with many npm ERR! extraneous messages, even when the extension itself is fine.
BLXCommit Forge has no runtime npm dependencies, so the package script uses:
pnpm run package
which internally runs:
vsce package --no-dependencies
If you still see dependency noise, clean the install and retry:
Remove-Item -Recurse -Force node_modules -ErrorAction SilentlyContinue
Remove-Item -Force package-lock.json -ErrorAction SilentlyContinue
pnpm install
pnpm run package