Skip to content

Quick Start

The fastest way to rename something across your codebase:

Terminal window
renamify rename old_name new_name

This will:

  1. Show you a preview of all changes
  2. Ask for confirmation
  3. Apply changes atomically
  4. Create backups for undo

Let’s say you want to rename getUserName to fetchUserProfile:

Terminal window
# Rename with preview and confirmation
renamify rename getUserName fetchUserProfile

You’ll see output like:

Files to modify: 15
┌─────────────────────────────────────┬──────────┬────────────────────┬─────────────────────┐
│ File │ Lines │ Old │ New │
├─────────────────────────────────────┼──────────┼────────────────────┼─────────────────────┤
│ src/auth.js │ 23, 45 │ getUserName │ fetchUserProfile │
│ src/auth.js │ 12 │ get_user_name │ fetch_user_profile │
│ components/UserProfile.tsx │ 89 │ GetUserName │ FetchUserProfile │
│ constants.py │ 5 │ GET_USER_NAME │ FETCH_USER_PROFILE │
└─────────────────────────────────────┴──────────┴────────────────────┴─────────────────────┘
Files to rename: 2
┌─────────────────────────────────────┬─────────────────────────────────────┐
│ Current Path │ New Path │
├─────────────────────────────────────┼─────────────────────────────────────┤
│ utils/get-user-name.js │ utils/fetch-user-profile.js │
│ tests/getUserName.test.js │ tests/fetchUserProfile.test.js │
└─────────────────────────────────────┴─────────────────────────────────────┘
Apply these changes? [y/N]: y
✅ Applied successfully! Operation ID: abc123

If you make a mistake, you can easily undo:

Terminal window
# See recent operations
renamify history
# Undo the last operation
renamify undo abc123

For large renames, use the plan/apply workflow for extra safety:

Terminal window
# Step 1: Create a plan
renamify plan old_name new_name
# Step 2: Review the plan file
cat .renamify/plan.json
# Step 3: Apply when ready
renamify apply
Terminal window
# Only rename in src/ directory
renamify rename old_name new_name src/
# Or use include patterns for more control
renamify rename old_name new_name --include "src/**"
# Exclude test files
renamify rename old_name new_name --exclude "**/*test*"
Terminal window
# Don't rename files, only content
renamify rename old_name new_name --no-rename-files
# Don't rename directories
renamify rename old_name new_name --no-rename-dirs
Terminal window
# Only handle camelCase and snake_case
renamify rename old_name new_name --only-styles camel,snake
  1. Preview is automatic - Renamify shows a preview by default before applying
  2. Commit before large renames - Makes git-based rollback possible in addition to Renamify’s built-in history
  3. Start small - Try on a subset with --include first
  4. Use undo - Renamify’s undo is often faster than git reset