aic
v0.5.6

Switch from OpenCommit

OpenCommit alternative: aic

OpenCommit is battle-tested and feature-rich — GitMoji, configurable descriptions, a huge community. But it writes one message for your staged diff. aic is the alternative for people whose problem is commit-history quality: hunk-level batching and AI conflict resolution in a dependency-free Rust binary.

Why people switch from OpenCommit

OpenCommit wraps the LLM well — but it works at file granularity. One file touched for three reasons still becomes one commit, and merge conflicts are still yours to resolve by hand.

Feature-by-feature

Capability aic OpenCommit
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
Runtime & dependencies Rust binary — no Node.js Node.js — npm
Setup Interactive `aic setup` wizard `oco config set` commands
Provider reach 11 first-class + OpenAI-compatible Claude, GPT, and every other provider
GitMoji support No Yes — configurable, full spec with `--fgm`
Community & adoption Early (~8★) 7,500★ · ~12k npm downloads/mo · hackathon winner
Project activity Weekly releases Active (pushed 2026-07)
Multiple message candidates No No

Install aic →

Switch to aic if…

…you want unstaged work split into logical atomic commits — even within one file — or merge conflicts resolved with per-file approval, without Node.js.

Stay with OpenCommit if…

…you want the proven, hackathon-winning wrapper with GitMoji and the largest community, and file-granular commits are fine for you.

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: run `aic` on staged or unstaged work; nothing lands blind
aic vs OpenCommit ★ Star on GitHub