AI-powered Conventional Commit message generation for Git.
Gitoluxe is a lightweight Bash-based Git hook that automatically generates high-quality Conventional Commit messages using a local Large Language Model (LLM) running through Ollama.
Instead of manually writing commit messages, simply type ai (or leave the commit message empty) and Gitoluxe analyzes your staged changes to generate a structured Conventional Commit message that you can review, edit, or accept.
- 🤖 AI-generated Conventional Commit messages
- 🧠 Uses local LLMs via Ollama
- 🔒 Runs completely offline
- 🎯 Automatic commit type detection
- 📦 Automatic scope selection
- 📝 Multi-line commit body generation
- 🔍 Analyzes staged files, statistics and diff
- 🎨 Interactive terminal interface
- ✏ Edit before committing
- 🔄 Supports
git commit --amend - ⚙ Configurable through
gitoluxe.config.sh - 📄 GPL-3.0 licensed
Writing good commit messages is repetitive.
Gitoluxe analyzes what actually changed and generates a Conventional Commit message that emphasizes the primary purpose of the commit while preserving important secondary changes in the commit body.
Example:
feat(auth): add OAuth login
Added GitHub authentication.
Added Google authentication.
Updated login tests.
Improved configuration handling.
- Bash
- Git
- Ollama (gets installed)
- jq (gets installed)
- curl
Recommended:
- 6 GB RAM minimum
- Linux Ubuntu
Install Gitoluxe globally with a single command:
curl -fsSL https://github.com/ghraw/WPConstructor/gitoluxe/main/gitoluxe-install.sh | bashOr, if you prefer to download the installer first:
curl -fsSL -o gitoluxe-install.sh https://github.com/ghraw/WPConstructor/gitoluxe/main/gitoluxe-install.sh
bash gitoluxe-install.shThe installer will:
- Install Gitoluxe into your home directory
- Configure global Git hooks
- Install the
prepare-commit-msghook - Create default configuration if needed
- Verify required dependencies
Run the configuration script:
bash ~/gitoluxe/gitoluxe.config.sh
| Variable | Description | Default |
|---|---|---|
| MODEL | Ollama model | qwen3:4b |
| TEMPERATURE | AI creativity | 0 |
| MAX_INPUT_CHARS | Maximum diff size sent to AI | 7000 |
Stage your files.
git add .Start a commit.
git commitLeave the commit message empty or enter:
ai
The hook launches automatically.
After generation, Gitoluxe displays the generated commit.
Example:
Subject:
feat(config): add AI configuration support
Body:
Added fallback configuration loading.
Improved validation.
Added exit command.
Available actions:
| Key | Action |
|---|---|
| C | Commit |
| E | Edit message |
| R | Remove body |
| S | Show staged changes |
| D | Debug information |
| X | Cancel commit |
The AI receives three sources of information.
- Staged file list
- Git statistics
- Unified git diff
The prompt instructs the model to:
- identify the primary change
- classify secondary changes
- generate a Conventional Commit
- ignore formatting-only changes
- ignore comment-only changes
- ignore generated files
- ignore lockfiles
- avoid hallucinating changes
- return strict JSON
Source code comments can contain arbitrary text.
To prevent prompt injection, Gitoluxe sanitizes diff lines beginning with:
#
//
/*
These are treated as source code comments instead of prompt instructions.
Supported types include:
- feat
- fix
- refactor
- style
- docs
- test
- perf
- chore
- build
- ci
- security
- deps
- release
- remove
- cleanup
- ui
- i18n
Scopes are automatically inferred from the primary subsystem.
Examples:
hooks
auth
api
ui
config
core
parser
database
network
validation
Input:
Added OAuth login.
Updated tests.
Improved configuration loading.
Generated:
feat(auth): add OAuth login
Updated authentication tests.
Improved configuration loading.
- qwen3:4b
- qwen3:1.7b
- qwen3:0.6b
- deepseek-coder:6.7b
- qwen3:8b
- llama3.1:8b
- deepseek-coder-v2:16b
Set model running:
bash ~/gitoluxe/gitoluxe.config.sh
If Ollama is not already running, Gitoluxe automatically starts it before generating the commit message.
git commit --amend is fully supported.
When no staged changes exist, Gitoluxe automatically analyzes the previous commit.
The debug menu displays information such as:
- generation time
- diff size
- used model
Useful for benchmarking different models.
1.0.1 — 19 September 2026
- Fixed an issue where added comments were not being truncated to the configured maximum length.
1.0.0 — 4 August 2026
- Initial release.
Licensed under the GNU General Public License v3.0 or later.
See the LICENSE file for details.
WPConstructor

