burnstsushi provides the canonic answer here of course.
But as a quick thought shortcut, I think of `ripgrep` as a search that gives similar semantics to project-wide search in a code editor or IDE. E.g., most editors will inspect a project and already ignore files that usually should be ignored (e.g., third-party dependencies, build artifacts, source control metadata like `.git/`).
Those semantics are also almost always what I want when performing a search from the command line, so `ripgrep` is what I use most of the time.