File Organizer
Manages file organization through safe, predictable batch operations.
Core Workflows
Directory Structure
Create standard project layouts:
project/
├── src/ - Source code
├── docs/ - Documentation
├── tests/ - Test files
├── assets/ - Images, fonts, media
├── scripts/ - Build scripts, utilities
└── config/ - Configuration files
Moving Files
mv <source> <dest>- Single filefind . -name "*.ext" -exec mv {} <dest>/ \;- Batch by extension- Always confirm destination exists
Batch Renaming
Patterns:
- Sequential numbering:
file_{001..100}.txt - Date-based:
YYYY-MM-DD_description - Type-based: Group by extension
Safe approach:
echocommands first (dry run)- Review output
- Remove
echo, execute
Organizing by Type
Group files by extension into folders:
mkdir -p images docs code
find . -name "*.png" -o -name "*.jpg" | xargs -I {} mv {} images/
find . -name "*.md" -o -name "*.txt" | xargs -I {} mv {} docs/
find . -name "*.py" -o -name "*.js" | xargs -I {} mv {} code/
Finding Scattered Files
find . -type f -name "*.ext" # Find by extension
find . -type f -mtime -7 # Modified in last 7 days
find . -type f -size +100M # Large files
Dry Runs First
Always preview batch operations:
echo "Would move these files:"
find . -name "*.ext"
# Review, then execute
Safety Rules
- Never delete without explicit permission (use
trashif available) - Dry run first - Always echo/preview batch operations
- Check destinations - Confirm target directories exist
- Backup before restructure - Snapshot before major moves
- Respect workspace boundaries - Only touch ~/openclaw
When to Read references/patterns.md
Load when:
- Complex rename patterns needed
- Project structure templates required
- Advanced find commands for filtering
- Edge cases (symlinks, special characters)