← marketplace
engineerstoolsha:12eb9c96281b5525manual

ripgrep

Use when searching code fast with ripgrep (rg): recursive regex search that respects .gitignore, with type filters, case control, and globs.

Install confidence
curl --create-dirs -fsSL https://skillmake.xyz/i/ripgrep -o ~/.claude/skills/ripgrep/SKILL.md
Pinned content
sha:12eb9c96281b5525
Generated with
manual
Source
github.com

The file served at /api/marketplace/ripgrep-12eb9c96/raw matches this hash. Inspect before install, then copy the command.

2,662 chars · ~666 tokens
---
name: ripgrep
description: "Use when searching code fast with ripgrep (rg): recursive regex search that respects .gitignore, with type filters, case control, and globs."
source: https://github.com/BurntSushi/ripgrep
generated: 2026-07-02T18:43:19.195Z
category: tool
audience: engineers
---

## When to use

- Searching a large codebase for a string or regex quickly
- Filtering matches by file type or glob pattern
- Listing files that contain (or omit) a pattern
- Replacing slow grep -r pipelines in scripts and editors

## Key concepts

### gitignore awareness

rg skips files matched by .gitignore, .ignore, and hidden files by default, which is why results differ from grep -r.

### Type filters

`--type` / `-t` restricts search to a language (e.g. py, js); `rg --type-list` shows all defined types.

### Smart case

Pass `-S` for smart case: case-insensitive when the pattern is all lowercase, case-sensitive otherwise; `-i` forces insensitive.

### Globs

`-g` includes/excludes paths by glob, e.g. `-g '*.rs'` or `-g '!test/**'` to negate.

### Default regex engine

rg uses Rust's linear-time regex (no backreferences); pass `-P` for the PCRE2 engine when you need lookaround or backrefs.

### Fixed strings

`-F` treats the pattern literally so regex metacharacters are matched as-is.

## API reference

```
rg PATTERN [PATH]
```

Recursively search for a regex pattern from PATH (default cwd).

```
rg 'TODO' src/
```

```
rg -i / -S PATTERN
```

Case-insensitive (-i) or smart-case (-S) matching.

```
rg -i 'createclient'
```

```
rg --type py PATTERN  (alias rg -t py)
```

Limit search to files of a given type.

```
rg --type py 'def main'
```

```
rg -l / -c / -g GLOB / -w
```

List matching files (-l), count per file (-c), glob filter (-g), whole-word (-w).

```
rg -l 'import requests' --type py
rg -w 'id' -g '!**/dist/**'
rg -P '(?<=foo)bar'
```

## Gotchas

- rg ignores files listed in .gitignore and hidden files by default; use -u, -uu, or -uuu to relax (the last also searches binary files).
- The default regex engine rejects backreferences and lookaround; use -P for PCRE2 if it was compiled in.
- Patterns starting with - are parsed as flags; use -e PATTERN or put -- before the pattern.
- rg searches recursively by default, so `rg foo` with no path covers the whole tree, unlike grep.
- -t/--type needs a known type name; for ad-hoc extensions use -g '*.ext' instead.
- Output is colorized and grouped for TTYs but flat when piped, which can surprise scripts parsing output.

---
Generated by SkillMake from https://github.com/BurntSushi/ripgrep on 2026-07-02T18:43:19.195Z.
Verify against source before relying on details.

File: ~/.claude/skills/ripgrep/SKILL.md