Gitpulse – AI-generated conventional commits from your terminal
Gitpulse is a command-line tool that uses AI to analyze staged changes and generate commit messages following the Conventional Commits format. It supports multiple AI providers (OpenCode, OpenAI, Ollama), offers interactive and automatic modes, and can install a Git hook for streamlined workflow.
Notifications You must be signed in to change notification settings
Fork 0
Star 0
BranchesTags
Open more actions menu
Folders and files
NameName
Last commit message
Last commit date
Latest commit
History
6 Commits
6 Commits
.github/workflows
.github/workflows
gitpulse
gitpulse
.gitignore
.gitignore
CONTRIBUTING.md
CONTRIBUTING.md
LICENSE
LICENSE
PROMOTION.md
PROMOTION.md
README.md
README.md
ROADMAP.md
ROADMAP.md
pyproject.toml
pyproject.toml
Repository files navigation
AI-powered conventional commit messages, right from your terminal.
Stop struggling with commit messages. Git Pulse reads your staged changes, asks your favorite AI model, and generates a perfect Conventional Commit message – ready to use.
✨ Features
🧠 Uses AI to understand your code diff and craft meaningful messages
📐 Strict Conventional Commits format (feat(scope): description)
🔒 Title never exceeds 72 characters
🎮 Interactive (confirm/edit/abort) or fully automatic mode
🪝 One-command hook installation (git pulse init)
🔌 Pluggable providers: OpenCode, OpenAI, Ollama (more soon)
🐍 Tiny dependency: only requests – Python 3.8+
🚀 Quickstart
- Install
pip install gitpulse-commit
- Configure your AI provider
By default, Git Pulse uses OpenCode (local or remote). Set the environment variables:
export OPENCODE_API_URL="http://localhost:8080/v1/chat/completions" export OPENCODE_API_KEY="your-key-here"
If you prefer OpenAI:
export OPENAI_API_KEY="sk-..."
Or Ollama:
export OLLAMA_API_URL="http://localhost:11434/api/generate"
- Make some changes and stage them
git add .
- Let Git Pulse generate your commit message
git pulse
You'll see a generated message like feat(auth): add JWT token validation. Confirm, edit, or abort – it's that simple.
For fully automated pipelines:
git pulse --auto
📦 Usage
git pulse [options] # generate a commit message git pulse init # install the prepare-commit-msg hook
Options for git pulse
Flag Description
--auto Automatically commit without confirmation
--provider AI provider: opencode (default), openai, ollama
--model Model name (e.g., gpt-4o-mini)
--api-url Override API base URL
--api-key Override API key
--output Write message to a file (used internally by the hook)
Git Hook
After running git pulse init, every time you run git commit, the hook will:
Check for staged changes
Generate a conventional commit message automatically
Open your editor with the message pre-filled (or commit directly if --auto was set).
🔧 Supported AI Providers
Provider Default Model Env Vars
OpenCode opencode OPENCODE_API_URL, OPENCODE_API_KEY
OpenAI gpt-4o-mini OPENAI_API_KEY
Ollama llama3 OLLAMA_API_URL
You can pass --provider, --model, --api-url, and --api-key at runtime to override defaults.
🤖 How It Works
Extracts the git diff --cached output
Sends it together with a carefully engineered system prompt to the AI endpoint
Parses the response, strips any formatting, truncates to 72 characters
If in interactive mode, lets you review and edit; if automatic, commits immediately
The system prompt is designed to produce only the commit message, nothing else.
🛠 Development
Clone the repo and install in editable mode:
git clone https://github.com/erico964-blip/gitpulse cd gitpulse pip install -e .
Run tests (coming soon):
pytest
📜 License
MIT © erico964-blip
⭐ Star the repo — If Git Pulse saves you from a few minutes of commit-message anguish, give it a star on GitHub!
About
⚡ AI-powered conventional commit message generator for Git
Resources
Readme
License
MIT license
Contributing
Contributing
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
0 stars
Watchers
0 watching
Forks
0 forks
Report repository
Releases
No releases published
Packages 0
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
Python 100.0%