case-aware symbol renaming with automatic convention transformation
Intelligently renames code symbols (variables, functions, classes) across a codebase while automatically transforming the name across all detected naming conventions (camelCase, snake_case, PascalCase, SCREAMING_SNAKE_CASE). The system analyzes identifier usage patterns to determine which convention applies in each context, then applies the transformation consistently. For example, renaming 'user_name' to 'account_id' automatically generates 'userName' in camelCase contexts and 'USER_NAME' in constant contexts.
Unique: Implements multi-convention case transformation detection that automatically applies the correct naming style (camelCase, snake_case, PascalCase, etc.) to each occurrence based on context analysis, rather than simple string replacement or single-convention support
vs alternatives: Outperforms IDE built-in refactoring tools by handling cross-convention transformations automatically, and exceeds basic regex-based tools by understanding semantic context of identifier usage
atomic file and directory renaming with conflict detection
Renames files and directories in a codebase with built-in conflict detection and atomic transaction semantics — all changes succeed or none are applied. The system scans for references to the old file/directory name across the codebase (imports, requires, relative paths, configuration files) and updates them in a single atomic operation. If conflicts are detected (e.g., target name already exists, circular references), the entire operation is rejected before any changes are written.
Unique: Provides atomic transaction semantics for file/directory operations with automatic reference resolution across import statements, relative paths, and configuration files in a single all-or-nothing operation
vs alternatives: Safer than IDE refactoring tools because it guarantees atomicity and detects conflicts before applying changes, and more comprehensive than shell scripts because it understands code semantics and updates dynamic references
codebase-wide identifier search with pattern matching
Searches for identifiers (variables, functions, classes, file names) across the entire codebase using pattern matching that understands code structure. The search tool can locate all occurrences of a symbol, filter by context (e.g., function definitions vs. usages), and return results with file paths, line numbers, and surrounding code context. This enables AI assistants to understand the scope and impact of a rename operation before planning it.
Unique: Provides code-structure-aware search that understands identifier context and scope, returning results with semantic information (definition vs. usage) rather than simple text matching
vs alternatives: More accurate than grep-based search because it understands code syntax and scope, and faster than IDE search for large codebases because it operates on indexed codebase state
rename operation planning with preview and case transformation preview
Creates a detailed execution plan for a rename operation before applying it, showing exactly which files will be modified, which lines will change, and how case transformations will be applied. The plan includes a preview of the changes in multiple formats (diff, side-by-side, summary) so AI assistants and developers can review the impact before execution. The plan object can then be passed to the apply tool to execute all changes atomically.
Unique: Separates planning from execution, allowing AI assistants to generate detailed previews of case transformations and file modifications before committing to changes, with support for multiple preview formats
vs alternatives: Enables safer AI-assisted refactoring by allowing preview-before-apply workflows, unlike simple rename tools that apply changes immediately without review
atomic execution of planned rename operations
Executes a previously-planned rename operation atomically, applying all file modifications, symbol renames, and reference updates in a single transaction. If any part of the operation fails (e.g., file write error, conflict detected), the entire operation is rolled back and no changes are persisted. The execution returns a detailed result object with the status of each modified file and any errors encountered.
Unique: Provides true atomic transaction semantics for multi-file refactoring operations, rolling back all changes if any part fails, rather than best-effort or partial-success models
vs alternatives: Guarantees consistency across multi-file renames better than sequential file operations, and provides better error recovery than shell scripts or IDE batch operations
unlimited undo/redo with operation history tracking
Maintains a complete history of all rename and replace operations performed on the codebase, allowing unlimited undo and redo of any previous operation. Each operation is tracked with metadata (timestamp, old name, new name, files affected) and can be individually undone or redone. The history is accessible via the renamify_history tool, and undo/redo operations are themselves atomic and reversible.
Unique: Provides unlimited undo/redo with full operation history tracking and metadata, allowing developers to explore refactoring options without fear of permanent mistakes
vs alternatives: Exceeds Git-based undo because it tracks individual rename operations rather than commits, and provides better granularity than IDE undo stacks which are often limited in depth
simple regex and literal string replacement without case transformation
Performs straightforward find-and-replace operations using regex patterns or literal strings, without applying case-aware transformations. This tool is useful for bulk replacements that don't require convention-aware logic (e.g., replacing a hardcoded string, updating a configuration value, or applying a simple regex pattern). Unlike the case-aware rename tool, this operates on exact pattern matches without analyzing naming conventions.
Unique: Provides a simple, direct find-and-replace mechanism without case transformation logic, complementing the case-aware rename tool for scenarios where literal or regex matching is appropriate
vs alternatives: Faster than case-aware rename for simple replacements because it skips convention analysis, and more flexible than IDE find-replace because it's accessible via MCP for AI assistants
mcp server integration for ai assistant tool access
Exposes all Renamify capabilities as MCP (Model Context Protocol) tools that AI assistants can call directly. The MCP server runs as a Node.js process and communicates with AI assistants via the standard MCP protocol, allowing assistants to search, plan, preview, and apply rename operations without requiring manual CLI invocation. The server handles tool invocation, parameter validation, and result serialization according to MCP specifications.
Unique: Implements a full MCP server exposing all Renamify capabilities as callable tools, enabling AI assistants to autonomously plan and execute refactoring operations with preview and rollback support
vs alternatives: Enables AI-assisted refactoring at a higher level of autonomy than CLI-based tools, and provides better safety than direct filesystem access because operations are planned and previewed before execution
+2 more capabilities