Andrey Antukh 59c8a690da ♻️ Add when to use sections to all skills
Every skill in .opencode/skills now carries a "When to use" section:
triggers in any phrasing plus the matching /command for the flow
skills, one-line triggers for the utility skills, an
explicit-invocation mirror for ste, and the proactive case for
resolve-git-conflicts.

code-review-criteria drops its old usage bullets ("before merging any
PR ...") for the same role pattern as plan-review-criteria: loaded by
the reviewer subagent of the review-code flow, redirect there to
review code. Flow and criteria skills no longer compete for the same
trigger.

AI-assisted-by: omen-alpha
2026-09-08 21:12:28 +02:00

3.1 KiB

name, description, homepage, metadata
name description homepage metadata
ripgrep Blazingly fast text search tool - recursively searches directories for regex patterns with respect to gitignore rules. https://github.com/BurntSushi/ripgrep
clawdbot
emoji requires install
🔎
bins
rg
id kind formula bins label
brew brew ripgrep
rg
Install ripgrep (brew)
id kind package bins label
apt apt ripgrep
rg
Install ripgrep (apt)

ripgrep (rg)

Fast, smart recursive search. Respects .gitignore by default.

When to use

  • Searching file contents across the repo for regex patterns — the default code search, respects .gitignore.

Quick Start

# Search for "TODO" in current directory
rg "TODO"

# Case-insensitive search
rg -i "fixme"

# Search specific file types
rg "error" -t py       # Python files only
rg "function" -t js    # JavaScript files

Common patterns

# Whole word match
rg -w "test"

# Show only filenames
rg -l "pattern"

# Show with context (3 lines before/after)
rg -C 3 "function"

# Count matches
rg -c "import"

Advanced Usage

File type filtering

# Multiple file types
rg "error" -t py -t js

# Exclude file types
rg "TODO" -T md -T txt

# List available types
rg --type-list

Search modifiers

# Regex search
rg "user_\d+"

# Fixed string (no regex)
rg -F "function()"

# Multiline search
rg -U "start.*end"

# Only show matches, not lines
rg -o "https?://[^\s]+"

Path filtering

# Search specific directory
rg "pattern" src/

# Glob patterns
rg "error" -g "*.log"
rg "test" -g "!*.min.js"

# Include hidden files
rg "secret" --hidden

# Search all files (ignore .gitignore)
rg "pattern" --no-ignore

Replacement Operations

# Preview replacements
rg "old_name" --replace "new_name"

# Actually replace (requires extra tool like sd)
rg "old_name" -l | xargs sed -i 's/old_name/new_name/g'

Performance Tips

# Parallel search (auto by default)
rg "pattern" -j 8

# Skip large files
rg "pattern" --max-filesize 10M

# Memory map files
rg "pattern" --mmap

Common Use Cases

Find TODOs in code:

rg "TODO|FIXME|HACK" --type-add 'code:*.{rs,go,py,js,ts}' -t code

Search in specific branches:

git show branch:file | rg "pattern"

Find files containing multiple patterns:

rg "pattern1" | rg "pattern2"

Search with context and color:

rg -C 2 --color always "error" | less -R

Comparison to grep

  • Faster: Typically 5-10x faster than grep
  • Smarter: Respects .gitignore, skips binary files
  • Better defaults: Recursive, colored output, line numbers
  • Easier: Simpler syntax for common tasks

Tips

  • rg is often faster than grep -r
  • Use -t for file type filtering instead of --include
  • Combine with other tools: rg pattern -l | xargs tool
  • Add custom types in ~/.ripgreprc
  • Use --stats to see search performance

Documentation

GitHub: https://github.com/BurntSushi/ripgrep User Guide: https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md