Skip to content

Technology-Specific Examples

Terminal window
# Rename a React component across the entire project
renamify rename UserCard ProfileCard \
--include "src/**/*.{tsx,ts,js,jsx}" \
--exclude "**/*.test.*"
# Or use specific paths
renamify rename UserCard ProfileCard src/components/ src/pages/

Changes made:

  • Component files: UserCard.tsxProfileCard.tsx
  • Test files: UserCard.test.tsxProfileCard.test.tsx (if not excluded)
  • Import statements: import UserCard from './UserCard'
  • JSX usage: <UserCard /><ProfileCard />
  • Type definitions: UserCardPropsProfileCardProps
Terminal window
# Rename a custom React hook
renamify rename useUserData useProfileData \
--include "src/**/*.{ts,tsx}"
# Or target specific directories
renamify rename useUserData useProfileData src/hooks/ src/components/

Changes made:

// Before
function useUserData(id: string) { ... }
const { data, loading } = useUserData(userId);
// After
function useProfileData(id: string) { ... }
const { data, loading } = useProfileData(userId);
Terminal window
# Rename Django models and related code
renamify rename UserProfile AccountProfile \
--include "**/*.py" \
--exclude "migrations/**"
# Or target specific app directories
renamify rename UserProfile AccountProfile apps/users/ apps/accounts/

Changes made:

# models.py - Before
class UserProfile(models.Model):
def get_user_profile_display(self): ...
# models.py - After
class AccountProfile(models.Model):
def get_account_profile_display(self): ...
# views.py - Before
def user_profile_view(request): ...
profile = UserProfile.objects.get(id=1)
# views.py - After
def account_profile_view(request): ...
profile = AccountProfile.objects.get(id=1)
Terminal window
# Rename Flask route handlers
renamify rename getUserData fetchUserProfile \
--include "**/*.py" \
--exclude "venv/**"
# Or target specific modules
renamify rename getUserData fetchUserProfile app/ routes/
Terminal window
# Rename Rust modules and functions
renamify rename user_manager profile_manager \
--include "**/*.rs" \
--exclude "target/**"
# Or target specific source directories
renamify rename user_manager profile_manager src/ lib/

Changes made:

// Before
mod user_manager {
pub fn get_user_manager() -> UserManager { ... }
}
use user_manager::UserManager;
// After
mod profile_manager {
pub fn get_profile_manager() -> ProfileManager { ... }
}
use profile_manager::ProfileManager;
Terminal window
# Rename crate references
renamify rename my_crate awesome_crate \
--include "**/Cargo.toml,**/*.rs"
Terminal window
# Rename Go packages
renamify rename userservice profileservice \
--include "**/*.go" \
--exclude "vendor/**"
# Or target specific packages
renamify rename userservice profileservice pkg/ cmd/

Changes made:

// Before
package userservice
func GetUserService() *UserService { ... }
// After
package profileservice
func GetProfileService() *ProfileService { ... }
Terminal window
# Rename throughout a Node.js project
renamify rename mypackage awesome_package \
--include "**/*.{js,json,md}" \
--exclude "node_modules/**"
# Or target specific directories
renamify rename mypackage awesome_package src/ lib/ docs/

Changes made:

  • package.json name field
  • Import statements: require('mypackage')
  • Documentation references
  • Configuration files
Terminal window
# Rename Express route handlers
renamify rename userRoutes profileRoutes \
--include "**/*.js" \
--exclude "node_modules/**"
# Or target route directories
renamify rename userRoutes profileRoutes routes/ controllers/
Terminal window
# Rename database tables and columns (be careful!)
renamify rename user_data profile_data \
--include "**/*.sql" \
--exclude "migrations/**" \
--dry-run # Always dry-run first for SQL!

Changes made:

-- Before
CREATE TABLE user_data (
id SERIAL PRIMARY KEY,
user_data_json JSONB
);
-- After
CREATE TABLE profile_data (
id SERIAL PRIMARY KEY,
profile_data_json JSONB
);
Terminal window
# Update environment variable names
renamify rename DATABASE_HOST DB_HOST \
--include "**/*.{env,yml,yaml,json}"
Terminal window
# Rename service references in Docker/K8s files
renamify rename userservice profileservice \
--include "**/*.{yml,yaml,dockerfile}"
Terminal window
# Rename across multiple languages in a microservice setup
renamify rename userservice profileservice \
--include "**/*.{js,py,go,rs,yml,yaml,json}" \
--exclude "**/node_modules/**,**/target/**,**/__pycache__/**"
# Or target specific service directories
renamify rename userservice profileservice services/ api/ config/

This handles:

  • Service names in configuration files
  • API endpoint references
  • Docker service names
  • Inter-service communication code
  • Documentation updates
Terminal window
# Include Next.js specific files
renamify rename oldPage newPage \
--include "**/*.{tsx,ts,js,jsx}" \
--include "pages/**" \
--include "app/**"
# Or target specific Next.js directories
renamify rename oldPage newPage pages/ app/ components/
Terminal window
# Include Vue single file components
renamify rename UserWidget ProfileWidget \
--include "**/*.{vue,js,ts}" \
--include "src/components/**"
# Or target Vue directories
renamify rename UserWidget ProfileWidget src/components/ src/views/
Terminal window
# PHP Laravel project renaming
renamify rename UserController ProfileController \
--include "**/*.php" \
--exclude "vendor/**"
# Or target specific Laravel directories
renamify rename UserController ProfileController app/Http/Controllers/ app/Models/
  • Node.js: --exclude "node_modules/**"
  • Rust: --exclude "target/**"
  • Python: --exclude "venv/**,__pycache__/**"
  • Go: --exclude "vendor/**"
  • Web: --include "**/*.{js,ts,tsx,jsx,html,css,scss}"
  • Backend: --include "**/*.{py,js,go,rs,rb,php}"
  • Config: --include "**/*.{json,yml,yaml,toml,env}"
Terminal window
# Always start with dry-run for unfamiliar codebases
renamify dry-run pattern replacement --include "src/**"