comparison

git-agent vs czg

czg is a Node.js interactive TUI for Conventional Commits that provides a rich prompt experience with emoji support and AI message generation via OpenAI.

Featuregit-agentczg
Atomic commit splittinggit-agent — Yesczg — No
Conventional Commits formatgit-agent — Yesczg — Yes
LLM-backed message draftinggit-agent — Yesczgyes — OpenAI only
Pre-commit hook integration with retry loopgit-agent — Yesczg — No
Dry-run preview before committinggit-agent — Yesczgyes — TUI preview
Amend last commit messagegit-agent — Yesczg — No
Free shared gatewaygit-agent — Yesczgno — requires OpenAI key for AI mode
Config-file based scope definitionsgit-agentyes — .git-agent/config.ymlczgyes — .czrc / package.json
git-agent
brew install gitagenthq/brew/git-agent
czg
npm install -g czg
git-agent
perf(query): replace N+1 user lookup with single batched query - collect user IDs from the result set before rendering - fetch all users in a single WHERE id IN (...) query via UserLoader - remove per-row db.findUser calls from the template loop The previous template iterated 50 rows and issued one db query each; the batched loader drops that to a single round-trip regardless of result set size.
czg
perf(query): optimise user lookup query
Does czg support the same LLM providers as git-agent?
czg supports OpenAI for AI generation. git-agent supports any OpenAI-compatible endpoint including OpenAI, Gemini, Claude, and self-hosted models.
Is czg's TUI experience better for developers who prefer interactive tools?
czg's TUI is polished for manual input. git-agent is faster for most commits because it generates the full message without prompting, but you can always edit the draft before it commits.
Does git-agent support emoji in commit messages like czg?
git-agent focuses on plain-text Conventional Commits without emoji. If your team convention requires Gitmoji prefixes, you can add them via a custom prompt in your config.