Nit: A Git Replacement in Zig Optimized for AI Agent Token Efficiency

Nit is a Git replacement written in Zig that's optimized for AI coding agents by reducing token consumption and improving execution speed. The tool was created after analyzing 3,156 real coding sessions where Git accounted for roughly 459,000 tokens of output (7.4% of all shell commands).
Performance Improvements
Token savings with nit's compact mode versus Git default:
status: ~125 tokens → ~36 tokens (71% savings)log -20: ~2,273 tokens → ~301 tokens (87% savings)diff: ~1,016 tokens → ~657 tokens (35% savings)show --stat: ~260 tokens → ~118 tokens (55% savings)
Across real session data, nit's compact defaults would save 150-250K tokens. Performance benchmarks from 100 hyperfine runs on a real repo:
status: 13.7ms → 8.4ms (1.64x faster)diff: 14.3ms → 9.9ms (1.44x faster)show: 10.2ms → 7.3ms (1.39x faster)
Technical Implementation
Nit uses Zig's zero-cost C interop to @cImport libgit2 headers and call functions directly, eliminating subprocess overhead and text parsing. It reads the Git object database natively. For commands nit hasn't optimized yet, it falls through to Git via execvpe(), replacing the nit process entirely with zero wrapper overhead.
This passthrough design makes alias git=nit safe - you never lose functionality, and as more commands get native implementations, the passthrough shrinks automatically.
Key Design Decisions
The most controversial design decision was reducing diff context from 3 lines (Git's default) to 1 line (U1). Testing with 27 trials of multi-file diffs, nested control flow, code moves, and ambiguous similar blocks showed Claude scored 4/4 at U0, U1, and U3 contexts. Analysis of 561 Git diff/show calls from actual Claude Code sessions showed only 3.9% of agents read the source file immediately after diffing, suggesting the diff itself provides sufficient context.
Nit offers two modes:
- Compact (default): Machine-optimized output with just the data
- Human (
-H): Colored, grouped output for human readability
Development Challenges
The hardest part was conformance testing - Git has decades of edge cases including detached HEAD, merge commits, renamed files, binary diffs, and submodules. The developer wrote 78 conformance tests covering all these cases, fixing output divergences from Git where meaningful.
Installation: brew install fielding/tap/nit
Usage examples:
- For agents:
nit log - For humans:
nit log -H - Full replacement:
alias git=nit
📖 Read the full source: HN AI Agents
👀 See Also

Vyra: Intelligent Web Video Editor for Claude Agents via MCP
Vyra indexes footage so Claude can semantically search and edit video directly—supports motion graphics, music sync, smart masking, transcript editing, color grading, and 30+ effects.

Semble: A Local MCP Server for Claude Code with 98% Token Reduction
Semble is an open-source MCP server for Claude Code that replaces grep+read workflows, using embeddings, BM25, and reranking to reduce token usage by ~98% while indexing repos in ~250ms.

Codev: AI agent workflow for 106 PRs in 14 days
Codev is an open-source system that coordinates multiple AI agents through a strict Spec→Plan→Implement→Review→PR workflow, catching 20 bugs before shipping and producing code rated 1.2 points better on a 10-point scale.

Claude VS Code Extension Reasoning Effort Slider Sends Inconsistent Values
The reasoning effort slider in the Claude VS Code extension sends inconsistent numeric values to the model, with non-monotonic mapping where moving the slider up can send a lower number.