Found: ripgrep actually replaces grep

I'd been aware of ripgrep for years. Used it occasionally. Never fully committed because grep works and muscle memory is real. Last month I added a shell function that intercepts grep and routes to rg with compatible flags. I haven't touched grep since.

~/.zshrc
# rg respects .gitignore and .ignore by default
# which is 90% of what you actually want
alias grep='rg'
# for the times you need actual grep:
alias rawgrep='/usr/bin/grep'

The things that made me commit: it skips node_modules and .git automatically without --exclude-dir flags. It handles binary files gracefully. The output is colored and grouped by file by default, which is actually more readable in most situations.

The one edge case: rg doesn't support everything grep -P does. Perl-compatible regex edge cases exist where you need rawgrep. In practice this is rare enough that the alias has been clean for a month.