mirror of
https://github.com/penpot/penpot.git
synced 2026-09-19 02:16:14 +00:00
.agents is the shared home that opencode, Claude Code (through the .claude/skills symlink) and Codex all read, so the skills and the saved plans now live there instead of .opencode: - .opencode/skills moved to .agents/skills (24 files, no content changes). - .opencode/plans moved to .agents/plans; the .gitignore entry follows, so plans stay untracked. - .claude/skills symlink retargeted to ../.agents/skills. - planner, make-a-plan and review-plan updated to the new plans path; new .agents/README.md documents every skill with when-to-use examples and links to each SKILL.md. - workflow/creating-issues memory: create-issue path updated. opencode discovers .agents/skills natively, so .opencode needs no reciprocal link. AI-assisted-by: omen-alpha
3.1 KiB
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 |
|
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
Basic search
# 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
rgis often faster thangrep -r- Use
-tfor file type filtering instead of--include - Combine with other tools:
rg pattern -l | xargs tool - Add custom types in
~/.ripgreprc - Use
--statsto see search performance
Documentation
GitHub: https://github.com/BurntSushi/ripgrep User Guide: https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md