Skip to main content

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)

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

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git_camus-0.5.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

git_camus-0.5.0-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

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

Hashes for git_camus-0.5.0.tar.gz
Algorithm Hash digest
SHA256 46ad5b5d96efbdeb977243524905b2ffe181f3549000673753c88d56833150e8
MD5 3d761946bbcb32c3010d4f7aa3fa0d6b
BLAKE2b-256 fef2dc48abf08c5391c9b488c747ab3048fb44a34434f7b785a950af8605d686

See more details on using hashes here.

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

Hashes for git_camus-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 67b37bddee05e3d6e4eee8e0b0ab76af7a38adca6c3b5c31e99e05420de0bff4
MD5 e78b92eb12f99315ba2cffa8249db24f
BLAKE2b-256 b936a1934eea38ad9b0e8af83ea25363b430cf5908cade97d5cac51c8547f813

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page