aic
v0.5.6

Switch from ai-commit

ai-commit alternative: aic

ai-commit writes Conventional Commits via any OpenAI-compatible endpoint or Claude Code — handy if you live in Claude Code. aic is the alternative for atomic history: hunk-level batching, conflict resolution, and a guided setup wizard, with no Node dependency.

Why people switch from ai-commit

ai-commit is file-granular and env-var configured: one message per staged diff, no splitting, no conflict help, and Node.js ≥ 22 required.

Feature-by-feature

Capability aic ai-commit
Auto-batch unstaged work into multiple commits Yes — splits unstaged changes into logical atomic commits No — one message per staged diff
Split a single file across commits (per-hunk) Yes — routes each hunk to its own commit by intent No — file-granular at most
Resolve merge conflicts Yes — `aic resolve` proposes a diff, asks per file No — commit messages only
Claude Code context No Yes — reads your source files for richer context
Provider reach 11 first-class + OpenAI-compatible Any OpenAI-compatible endpoint + Claude Code
Runtime & dependencies Rust binary — no Node.js Node.js ≥ 22.19 — Homebrew / curl
Windows support Yes — PowerShell installer, CI-tested No — macOS/Linux only
Commit-message language English (4-locale website) Yes — `-l en` / `-l zh`
Emoji in messages No Yes — `--emoji`
Multiple message candidates No No
Community size Young (~8★) Young (~8★)

Install aic →

Switch to aic if…

…you want unstaged work split into logical commits, merge conflicts resolved, and a guided setup wizard — no Node.js.

Stay with ai-commit if…

…you live in Claude Code, want Chinese-language commit messages (`-l zh`), or want emoji-flavored conventional commits.

How to switch

  1. Install aic: brew install CaicoLeung/aic/aic
  2. Configure once: run `aic setup` — provider, key, and model in one wizard
  3. Commit: stage your work and run `aic`; aic batches unstaged work automatically
aic vs ai-commit ★ Star on GitHub