mirror of
https://github.com/penpot/penpot.git
synced 2026-05-24 01:13:43 +00:00
Update agent configurations: change commiter mode to all, rename engineer agent to "Penpot Engineer", and remove obsolete testing agent. Add new read-only planner agent for architecture analysis and planning. Add four new skills: bat-cat (syntax-highlighted cat clone), fd-find (fast file finder), jq-json-processor (JSON processor), and ripgrep (fast text search). Add fd-find and bat packages to devenv Dockerfile. Update .gitignore to exclude opencode package-lock and plans directory. Signed-off-by: Andrey Antukh <niwi@niwi.nz>
151 lines
3.0 KiB
Markdown
151 lines
3.0 KiB
Markdown
---
|
|
name: ripgrep
|
|
description: Blazingly fast text search tool - recursively searches directories for regex patterns with respect to gitignore rules.
|
|
homepage: https://github.com/BurntSushi/ripgrep
|
|
metadata: {"clawdbot":{"emoji":"🔎","requires":{"bins":["rg"]},"install":[{"id":"brew","kind":"brew","formula":"ripgrep","bins":["rg"],"label":"Install ripgrep (brew)"},{"id":"apt","kind":"apt","package":"ripgrep","bins":["rg"],"label":"Install ripgrep (apt)"}]}}
|
|
---
|
|
|
|
# ripgrep (rg)
|
|
|
|
Fast, smart recursive search. Respects `.gitignore` by default.
|
|
|
|
## Quick Start
|
|
|
|
### Basic search
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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:**
|
|
```bash
|
|
rg "TODO|FIXME|HACK" --type-add 'code:*.{rs,go,py,js,ts}' -t code
|
|
```
|
|
|
|
**Search in specific branches:**
|
|
```bash
|
|
git show branch:file | rg "pattern"
|
|
```
|
|
|
|
**Find files containing multiple patterns:**
|
|
```bash
|
|
rg "pattern1" | rg "pattern2"
|
|
```
|
|
|
|
**Search with context and color:**
|
|
```bash
|
|
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
|