✨ Fully vibecoded - This project was entirely developed using AI assistance, showcasing the power of AI-driven development.
Generate semantic commit messages using Ollama or any OpenAI-compatible endpoint.
Run it locally with Ollama or point it at the chat completion API you already use.
- Generate commit messages directly from VS Code Source Control
- Support for
ollamaandopenai-compatibleAPIs - Full custom endpoint support through a configurable URL
- Conventional, Angular, Gitmoji, Karma, Semantic, Google, and custom formats
- Go CLI backend with retry logic and clean stdout/stderr separation
2.0.0 is the release where Llamit stops being Ollama-only.
- New settings:
llamit.apiTypellamit.apiUrlllamit.apiKey
- Deprecated setting:
llamit.ollamaUrl
- Backward compatibility:
llamit.ollamaUrlstill works as a fallback- the extension now shows a one-time migration prompt for users still on the old setting
- VS Code 1.85.0 or higher
- One of:
- Ollama running locally
- an OpenAI-compatible
/v1/chat/completionsendpoint
- A valid model name for the endpoint you choose
- Open VS Code
- Go to Extensions
- Search for
Llamit - Install the extension
git clone https://github.com/crstian19/llamit.git
cd llamit
cd go-cli
go build -o cli main.go
cd ../vscode-extension
npm install
npm run vscode:prepublishThen install the generated .vsix or launch the extension in development mode with F5.
Llamit is configured through VS Code extension settings.
For the full extension-specific setup and configuration reference, see vscode-extension/README.md.
{
"llamit.apiType": "ollama",
"llamit.apiUrl": "http://localhost:11434/api/generate",
"llamit.model": "qwen2.5-coder:7b",
"llamit.commitFormat": "conventional"
}{
"llamit.apiType": "openai-compatible",
"llamit.apiUrl": "https://api.openai.com/v1/chat/completions",
"llamit.apiKey": "",
"llamit.model": "gpt-4o-mini",
"llamit.commitFormat": "conventional"
}If llamit.apiKey is empty, the CLI falls back to:
LLAMIT_API_KEYOPENAI_API_KEY
llamit.apiType:ollamaoropenai-compatiblellamit.apiUrl: full API URL to callllamit.apiKey: optional API key for OpenAI-compatible endpointsllamit.model: model name to send to the providerllamit.commitFormat: commit message stylellamit.customFormat: custom prompt template whencommitFormat=custom
Advanced settings remain available. Some of them are Ollama-specific, while shared fields such as temperature, topP, numPredict, seed, and stop are forwarded when supported by the selected API type.
If you already use Llamit with:
{
"llamit.ollamaUrl": "http://localhost:11434/api/generate"
}migrate to:
{
"llamit.apiType": "ollama",
"llamit.apiUrl": "http://localhost:11434/api/generate"
}The extension now detects the deprecated setting and offers:
Migrate SettingsOpen SettingsDon't Show Again
- Stage changes, or leave them unstaged if you want the diff fallback behavior
- Open Source Control
- Run
Llamit: Generate Commit Message - Review the generated message in the SCM input box
- Commit as usual
Llamit consists of two components:
- reads Git diff from
stdin - builds the prompt from the selected commit format
- calls either:
- Ollama
/api/generate - an OpenAI-compatible
/v1/chat/completionsendpoint
- Ollama
- writes the commit message to
stdout - logs operational details to
stderr
- integrates with the VS Code Git extension
- resolves the current repository
- uses staged changes first, then falls back to working tree changes
- spawns the bundled Go CLI for the current platform
- writes the generated message into the SCM input box
cd go-cli
go test -v -short
go test -vNotes:
go test -v -shortruns the unit suitego test -vincludes the live Ollama integration test
cd vscode-extension
npm run test:unit
npm testLlamit uses automated CI/CD for releases.
- merge to
main - make sure
vscode-extension/package.jsonhas a new version - update
vscode-extension/CHANGELOG.md - the workflow in .github/workflows/publish.yml creates the release and publishes marketplace packages
For maintainers, the full process is documented in .github/RELEASE.md.
Llamit collects minimal anonymous telemetry to understand install and update activity across editors such as VS Code, VSCodium, and Cursor.
- Sent only on
installandupdate - Never sent on every editor launch
- No code, diffs, commit messages, file paths, repository names, or personal identifiers are collected
You can opt out at any time by setting:
{
"llamit.telemetry.enabled": false
}Llamit also respects VS Code's global telemetry setting. See USAGE_DATA.md for the full data policy.
- Fork the repository
- Create a branch
- Make changes
- Run the relevant test suite
- Open a pull request
See CONTRIBUTING.md for the contributor workflow.
MIT License - see LICENSE for details.
- Built with Claude and other AI coding tools
- Powered by local and OpenAI-compatible LLM backends
- Inspired by the need for faster, better commit messages