ripgrep

Use when searching text in files, codebases, books, or documents. Use when finding files by pattern, searching large files that are too big to read fully, extracting specific content from many files, or when grep/find is too slow. Triggers on "search for", "find occurrences", "look for pattern", "se

By ratacat · 399 installs

npx skills add ratacat/claude-skills --skill ripgrep

Source repository · Upstream listing

Ripgrep (rg) Fast Text Search Tool Overview Ripgrep is a line oriented search tool that recursively searches directories for regex patterns. It's 10 100x faster than grep and respects .gitignore by default. Use it instead of grep, find, or manually reading large files. Core principle: When you need to find text in files, use ripgrep. Don't read entire files into context when you can search them. When to Use Use ripgrep when: Searching for text patterns across a codebase or directory Finding all occurrences of a function, variable, or string Searching through books, documentation, or large text files Files are too large to read fully into context Looking for specific content in many files at once Finding files that contain (or don't contain) certain patterns Extracting matching lines for analysis Don't use when: You need the full file content (use Read tool) Simple glob pattern matching for filenames only (use Glob tool) You need structured data extraction (consider jq, awk) Quick Reference Task Command Basic search rg "pattern" [path] Case insensitive rg i "pattern" Smart case (auto) rg S "pattern" Whole word only rg w "word" Fixed string (no regex) rg F "literal.string" Show context lines rg C 3 "pattern" (3 before & after) Show line numbers rg n "pattern" (default in tty) Only filenames rg l "pattern" Files without match rg files without match "pattern" Count matches rg c "pattern" Only matching part rg o "pattern" Invert match rg v "pattern" Multiline search rg U "pattern. \nmore" File Filtering By File Type Ripgrep has built in file type definitions. Use t to include, T to exclude: Common types: py , js , ts , rust , go , java , c , cpp , rb , php , html , css , json , yaml , md , txt , sh By Glob Pattern By File Size Directory Control Context Options Output Formats Regex Patterns Ripgrep uses Rust regex syntax by default: Multiline Matching Replacement (Preview Only) Ripgrep can show what replacements would look like (doesn't modify files): Searching Special Files Compressed Files Binary Files Large Files For files too large to read into context: Performance Tips 1. Be specific with paths Don't search from root when you know the subdir 2. Use file types t py is faster than g " .py" 3. Use fixed strings F when you don't need regex 4. Limit depth max depth when you know structure 5. Let gitignore work Don't use no ignore unless needed 6. Use word boundaries w is optimized Common Patterns Find function definitions Find imports/requires Find TODO/FIXME comments Find error handling Find class definitions Search in books/documents Combining with Other Tools Exit Codes Code Meaning 0 Matches found 1 No matches found 2 Error occurred Useful for scripting: Common Mistakes Mistake Fix Pattern has special chars Use F for fixed strings or escape: rg "foo\.bar" Can't find hidden files Add hidden or uu Missing node modules Add no ignore (but it's usually right to skip) Regex too complex Try P for PCRE2 with lookahead/lookbehind Output too long Use m N to limit, or l for just filenames Binary file skipped Add binary or a for text mode Need to see full line Remove o (only matching) flag When to Prefer Other Tools Task Better Tool Structured JSON queries jq Column based text processing awk Stream editing/substitution sed (actually modifies files) Find files by name only fd or find Simple file listing ls or glob Full file content needed Read tool