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

Claude TimeTrack: macOS menu bar app that reads Claude Code JSONL files to auto-track dev time per project
Open-source macOS menu bar app that parses Claude Code session JSONL files and git history to auto-track time per project — no manual timers needed.

Custom GIF Spinner for Claude Code via COLR Font Conversion
A developer created a method to replace Claude Code's default spinner with any animated GIF by converting the GIF into an OpenType COLR color font and patching the spinner to cycle through glyphs representing each frame. The tool currently supports Windows with macOS/Linux versions planned.

cxt: A CLI/TUI Tool to Aggregate Code Files into One Clipboard Block for Claude
cxt aggregates entire directories and specific files into a single clipboard-ready block with XML tags and file paths, making it easier for Claude to understand your codebase context.

Total Recall: Local Knowledge Graph for Claude Code Conversation History
Total Recall is an open-source system that ingests Claude Code's JSONL conversation transcripts into a SQLite database with full-text search and vector embeddings, making conversation history searchable across sessions. It retrieves actual conversation excerpts with DAG-aware context and includes a ChatGPT importer.