mcpField
F
find-replace

find-replace

github.com/0xdarkmatterDevelopment7877 installsUpdated 2w ago
Repository

About find-replace

find-replace is a command-line skill for using sd to find and replace text in files. It is intended for code and text edits, with guidance on previewing batch changes and avoiding partial matches.

Key features

  1. 01Global text replacement with sd
  2. 02Replacement across multiple files
  3. 03Preview and safe batch workflow
  4. 04Regex word-boundary patterns
  5. 05Escaping special characters

Use cases

  1. 01Rename variables or functions across source files
  2. 02Update import paths in a project
  3. 03Preview a replacement before applying it

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/0xdarkmatter/claude-mods --skill find-replace

After installing, type/find-replacein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

assets/
.gitkeep
references/
advanced-patterns.md
scripts/
.gitkeep

Details

From the project README

Find Replace

Modern find-and-replace using sd.

sd Basics

# Replace in file (in-place)
sd 'oldText' 'newText' file.txt

# Replace in multiple files
sd 'oldText' 'newText' *.js

# Preview without changing (pipe)
cat file.txt | sd 'old' 'new'

sd vs sed

sedsd
sed 's/old/new/g'sd 'old' 'new'
sed -i 's/old/new/g'sd 'old' 'new' file
sed 's#path/to#new/path#g'sd 'path/to' 'new/path'

Key difference: sd is global by default, no delimiter issues.

Common Patterns

# Variable/function rename
sd 'oldName' 'newName' src/**/*.ts

# Word boundaries (avoid partial matches)
sd '\boldName\b' 'newName' src/**/*.ts

# Import path update
sd "from '../utils'" "from '@/utils'" src/**/*.ts

# Capture groups
sd 'console\.log\((.*)\)' 'logger.info($1)' src/**/*.js

Safe Batch Workflow

# 1. List affected files
rg -l 'oldPattern' src/

# 2. Preview replacements
rg 'oldPattern' -r 'newPattern' src/

# 3. Apply
sd 'oldPattern' 'newPattern' $(rg -l 'oldPattern' src/)

# 4. Verify
rg 'oldPattern' src/  # Should return nothing
git diff              # Review changes

Special Characters

CharacterEscape
.\.
*\*
[ ]\[ \]
$\$
\\\

Tips

TipReason
Always preview with rg -r firstAvoid mistakes
Use git before bulk changesEasy rollback
Use \b for word boundariesAvoid partial matches
Quote patternsPrevent shell interpretation

Additional Resources

For detailed patterns, load:

  • ./references/advanced-patterns.md - Regex, batch workflows, real-world examples

Comments

Markdown supported