Skip to main content

AI-powered git commit grouping — intelligently splits messy changes into atomic, well-described commits.

Project description

Commiter AI

AI-powered git commit grouping. Intelligently splits your messy changes into atomic, well-described commits.

Features

  • Intelligent Grouping: Automatically groups lines and files into logical commits using AI.
  • Interactive TUI: Review and refine proposed commits in a beautiful terminal interface.
  • Headless CLI: High-performance CLI flags for power users.
  • Persona Support: Choose between "senior dev", "junior dev", or "newbie" commit styles.
  • Diff Optimization: Handles large diffs by intelligently truncating less relevant parts.
  • Filtering: Target specific files or patterns for commit.
  • Branching: Create new branches on the fly.
  • Auto-Push: Seamlessly push your changes after committing.

Quick Start

Run commiter to start the interactive TUI. Use arrow keys to navigate, Space to toggle commits, and Enter to execute.

Power User CLI

Commiter supports a wide range of flags for quick headless execution:

Basic Headless Flow

# Auto-group all changes and execute
commiter --auto --yes

# Auto-group and preview before confirming
commiter --auto --preview

# Instruct AI to make exactly 3 commits
commiter --commits 3 --yes

Filtering and Context

# Only consider python files in src/
commiter --auto --include "src/*.py" --preview

# Exclude documentation
commiter --auto --exclude "docs/*"

# Provide specific hints to the AI
commiter --auto --context "Refactor the authentication logic to use JWT"

Workflow Automation

# Create a new branch, commit everything, and push
commiter --auto --branch feature/login-v2 --yes --push

# Do a dry run to see what AI suggests without changing anything
commiter --auto --dry-run

Advanced Overrides

# Override the AI model for a single run
commiter --auto --model gemini-2.0-flash

# Disable diff truncation (send the full diff to AI)
commiter --auto --no-optimize

# Override the commit persona
commiter --auto --persona "junior dev"

Requirements

  • Python >= 3.10
  • Git
  • Valid API key for Gemini (default), OpenAI, or Anthropic.

Configuration

On first run, commiter will guide you through an interactive setup to save your API key and preferences to ~/.commiter/config.toml. You can always re-run the setup with:

commiter --config

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

commiter-0.2.2.tar.gz (91.1 kB view details)

Uploaded Source

Built Distribution

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

commiter-0.2.2-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

File details

Details for the file commiter-0.2.2.tar.gz.

File metadata

  • Download URL: commiter-0.2.2.tar.gz
  • Upload date:
  • Size: 91.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for commiter-0.2.2.tar.gz
Algorithm Hash digest
SHA256 8a874126119da6d25393b42227b78c96121cd0ecad71b25921ce1a80188bd328
MD5 f74e586480fd0f704bd4966d7f92e415
BLAKE2b-256 51bd45bd1fb0d217d1ca8456db14e7c1dce82c062b4cf85e63475c1449c87ad9

See more details on using hashes here.

File details

Details for the file commiter-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: commiter-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 28.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for commiter-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a93123272a7a920bfee7c12a6bfe3c1f45aac79c2c60433b9782e6e6f2f7262b
MD5 c7ce9d4d11723d2cb4fc3856f2e8ef1c
BLAKE2b-256 2161e5bb88b48eda9003af1b4eb0b95c96671d6806f5c4b9fafa64cb30f222ba

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