Назад към всички

file-search

// Modern file and content search using fd, ripgrep (rg), and fzf. Triggers on: fd, ripgrep, rg, find files, search code, fzf, fuzzy find, search codebase.

$ git log --oneline --stat
stars:194
forks:37
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
namefile-search
descriptionModern file and content search using fd, ripgrep (rg), and fzf. Triggers on: fd, ripgrep, rg, find files, search code, fzf, fuzzy find, search codebase.
compatibilityRequires fd, ripgrep (rg), and optionally fzf. Install: brew install fd ripgrep fzf (macOS).
allowed-toolsBash

File Search

Modern file and content search.

fd - Find Files

# Find by name
fd config                    # Files containing "config"
fd -e py                     # Python files

# By type
fd -t f config               # Files only
fd -t d src                  # Directories only

# Exclude
fd -E node_modules           # Exclude directory
fd -E "*.min.js"             # Exclude pattern

# Execute command
fd -e py -x wc -l            # Line count per file

rg - Search Content

# Simple search
rg "TODO"                    # Find TODO
rg -i "error"                # Case-insensitive

# By file type
rg -t py "import"            # Python files only
rg -t js -t ts "async"       # JS and TS

# Context
rg -C 3 "function"           # 3 lines before/after

# Output modes
rg -l "TODO"                 # File names only
rg -c "TODO"                 # Count per file

fzf - Interactive Selection

# Find and select
fd | fzf

# With preview
fd | fzf --preview 'bat --color=always {}'

# Multi-select
fd -e ts | fzf -m | xargs code

Combined Patterns

# Find files, search content
fd -e py -x rg "async def" {}

# Search, select, open
rg -l "pattern" | fzf --preview 'rg -C 3 "pattern" {}' | xargs vim

Quick Reference

TaskCommand
Find TS filesfd -e ts
Find in srcfd -e ts src/
Search patternrg "pattern"
Search in typerg -t py "import"
Files with matchrg -l "pattern"
Count matchesrg -c "pattern"
Interactivefd | fzf
With previewfd | fzf --preview 'bat {}'

Performance Tips

TipWhy
Both respect .gitignoreAuto-skip node_modules, dist
Use -t over -gType flags are faster
Narrow the pathrg pattern src/ faster
Use -F for literalsAvoids regex overhead

Additional Resources

For detailed patterns, load:

  • ./references/advanced-workflows.md - Git integration, shell functions, power workflows