Andrey Antukh fbfef42145 ♻️ Move skills and plans to .agents for cross-tool use
.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
2026-09-08 19:40:38 +00:00

3.4 KiB

name, description, homepage, metadata
name description homepage metadata
fd-find A fast and user-friendly alternative to 'find' - simple syntax, smart defaults, respects gitignore. https://github.com/sharkdp/fd
clawdbot
emoji requires install
📂
bins
fd
id kind formula bins label
brew brew fd
fd
Install fd (brew)
id kind package bins label
apt apt fd-find
fd
Install fd (apt)

fd - Fast File Finder

User-friendly alternative to find with smart defaults.

When to use

  • Locating files or directories by name or pattern — prefer it over plain find: simpler syntax, smart defaults, respects .gitignore.

Quick Start

# Find files by name
fd pattern

# Find in specific directory
fd pattern /path/to/dir

# Case-insensitive
fd -i pattern

Common patterns

# Find all Python files
fd -e py

# Find multiple extensions
fd -e py -e js -e ts

# Find directories only
fd -t d pattern

# Find files only
fd -t f pattern

# Find symlinks
fd -t l

Advanced Usage

Filtering

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

# Include hidden files
fd -H pattern

# Include ignored files (.gitignore)
fd -I pattern

# Search all (hidden + ignored)
fd -H -I pattern

# Maximum depth
fd pattern -d 3

Execution

# Execute command on results
fd -e jpg -x convert {} {.}.png

# Parallel execution
fd -e md -x wc -l

# Use with xargs
fd -e log -0 | xargs -0 rm

Regex patterns

# Full regex search
fd '^test.*\.js$'

# Match full path
fd --full-path 'src/.*/test'

# Glob pattern
fd -g "*.{js,ts}"

Time-based filtering

# Modified within last day
fd --changed-within 1d

# Modified before specific date
fd --changed-before 2024-01-01

# Created recently
fd --changed-within 1h

Size filtering

# Files larger than 10MB
fd --size +10m

# Files smaller than 1KB
fd --size -1k

# Specific size range
fd --size +100k --size -10m

Output formatting

# Absolute paths
fd --absolute-path

# List format (like ls -l)
fd --list-details

# Null separator (for xargs)
fd -0 pattern

# Color always/never/auto
fd --color always pattern

Common Use Cases

Find and delete old files:

fd --changed-before 30d -t f -x rm {}

Find large files:

fd --size +100m --list-details

Copy all PDFs to directory:

fd -e pdf -x cp {} /target/dir/

Count lines in all Python files:

fd -e py -x wc -l | awk '{sum+=$1} END {print sum}'

Find broken symlinks:

fd -t l -x test -e {} \; -print

Search in specific time window:

fd --changed-within 2d --changed-before 1d

Integration with other tools

With ripgrep:

fd -e js | xargs rg "pattern"

With fzf (fuzzy finder):

vim $(fd -t f | fzf)

With bat (cat alternative):

fd -e md | xargs bat

Performance Tips

  • fd is typically much faster than find
  • Respects .gitignore by default (disable with -I)
  • Uses parallel traversal automatically
  • Smart case: lowercase = case-insensitive, any uppercase = case-sensitive

Tips

  • Use -t for type filtering (f=file, d=directory, l=symlink, x=executable)
  • -e for extension is simpler than -g "*.ext"
  • {} in -x commands represents the found path
  • {.} strips the extension
  • {/} gets basename, {//} gets directory

Documentation

GitHub: https://github.com/sharkdp/fd Man page: man fd