Craft Git commit messages with existential flair using local Ollama
Project description
git-camus
Craft Git commit messages with existential flair using Ollama, OpenAI, Claude, or the Claude CLI.
git-camus analyzes your staged changes and generates philosophical commit messages inspired by Albert Camus — reflecting on the absurdity, rebellion, and human condition behind every diff.
Prerequisites
- Python 3.9+
- One of the following LLM providers:
- Ollama (default) — running locally or accessible via network, with a pulled model (default:
llama3.2) - OpenAI — an API key with access to chat completions (default model:
gpt-4o-mini) - Claude — an Anthropic API key (default model:
claude-sonnet-4-20250514) - Claude CLI — a locally-installed Claude CLI with active login (no API key required)
- Ollama (default) — running locally or accessible via network, with a pulled model (default:
Installation
Install the latest release directly from GitHub:
pip install git+https://github.com/rachlenko/git-camus.git
Or install a specific tag:
pip install git+https://github.com/rachlenko/git-camus.git@v0.5.0
A PyPI release is planned; once published, pip install git-camus will pull the same version.
Standalone install (isolated virtualenv + wrapper binary)
git clone https://github.com/rachlenko/git-camus.git
cd git-camus
./install.sh --prefix /usr/local
This creates an isolated virtual environment under PREFIX/lib/git-camus/ and places the git-camus executable in PREFIX/bin/. The default prefix is /usr/local.
# Install to a custom location
./install.sh --prefix ~/.local
# Install system-wide (may require sudo)
sudo ./install.sh --prefix /usr/local
From a local checkout
pip install .
For development:
pip install -e ".[dev]"
Usage
Stage your changes, then run:
git-camus
Options
| Flag | Description |
|---|---|
--show, -s |
Preview the generated message without committing |
--message, -m |
Provide context to guide the philosophical reflection |
--provider, -p |
LLM provider: ollama (default), openai, claude, or claude-cli |
Examples
# Generate and commit using Ollama (default)
git add .
git-camus
# Preview without committing
git-camus --show
# Provide context
git-camus -m "fixed auth token expiry"
# Use OpenAI
export OPENAI_API_KEY="sk-..."
git-camus --provider openai
# Use Claude
export ANTHROPIC_API_KEY="sk-ant-..."
git-camus --provider claude
# Set the default provider via environment variable
export GIT_CAMUS_PROVIDER=claude
git-camus
Configuration
Ollama (default provider)
| Variable | Default | Description |
|---|---|---|
OLLAMA_HOST |
http://localhost:11434 |
Ollama API endpoint |
OLLAMA_MODEL |
llama3.2 |
Model to use for generation |
OpenAI
| Variable | Default | Description |
|---|---|---|
OPENAI_API_KEY |
(required) | OpenAI API key |
OPENAI_API_HOST |
https://api.openai.com/v1 |
OpenAI-compatible API endpoint |
OPENAI_MODEL |
gpt-4o-mini |
Model to use for generation |
Claude
| Variable | Default | Description |
|---|---|---|
ANTHROPIC_API_KEY |
(required) | Anthropic API key |
ANTHROPIC_API_HOST |
https://api.anthropic.com |
Anthropic-compatible API endpoint |
ANTHROPIC_MODEL |
claude-sonnet-4-20250514 |
Model to use for generation |
claude-cli provider
Generate the message with your locally-installed Claude CLI (claude -p),
using the CLI's own login — no ANTHROPIC_API_KEY required:
git-camus -p claude-cli # or: GIT_CAMUS_PROVIDER=claude-cli git-camus
| Variable | Default | Description |
|---|---|---|
GIT_CAMUS_CLAUDE_CLI_BIN |
claude |
Path to the Claude CLI binary |
Requires the claude CLI on your PATH and logged in. Unlike the claude provider (Anthropic HTTP API,
needs a key), claude-cli strips ANTHROPIC_API_KEY/ANTHROPIC_AUTH_TOKEN so
the CLI authenticates the same way it does when you run it directly.
General
| Variable | Default | Description |
|---|---|---|
GIT_CAMUS_PROVIDER |
ollama |
Default provider (ollama, openai, claude, or claude-cli) |
The OPENAI_API_HOST and ANTHROPIC_API_HOST variables allow using any compatible API proxy or gateway.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file git_camus-0.5.0.tar.gz.
File metadata
- Download URL: git_camus-0.5.0.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46ad5b5d96efbdeb977243524905b2ffe181f3549000673753c88d56833150e8
|
|
| MD5 |
3d761946bbcb32c3010d4f7aa3fa0d6b
|
|
| BLAKE2b-256 |
fef2dc48abf08c5391c9b488c747ab3048fb44a34434f7b785a950af8605d686
|
File details
Details for the file git_camus-0.5.0-py3-none-any.whl.
File metadata
- Download URL: git_camus-0.5.0-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67b37bddee05e3d6e4eee8e0b0ab76af7a38adca6c3b5c31e99e05420de0bff4
|
|
| MD5 |
e78b92eb12f99315ba2cffa8249db24f
|
|
| BLAKE2b-256 |
b936a1934eea38ad9b0e8af83ea25363b430cf5908cade97d5cac51c8547f813
|