SKILL-002: Project-Wide Rename
Overview
Renaming a complex .NET solution is error-prone. This skill automates the process of renaming files, directories, text content, and git configuration, with safety mechanisms to prevent data loss.
Trigger Phrases
rename project <old> <new>
safe rename <old> to <new>
fix pending rename
Inputs
| Parameter |
Type |
Required |
Default |
Description |
--old-name |
string |
Yes |
- |
Original project name (e.g., "Scrutor") |
--new-name |
string |
Yes |
- |
New project name (e.g., "ELR") |
--mode |
string |
No |
auto |
planned, recovery, or auto |
--dry-run |
switch |
No |
False |
Preview changes (mandatory if dirty) |
Modes
- Planned Mode: Requires a clean git status. Best for starting a rename operation from scratch.
- Recovery Mode: Allows dirty git status. Best for finishing a partial rename or cleaning up a manual attempt.
Outputs
- Console Output: Progress log of renamed files and updated content.
- Report:
RENAME_SUMMARY.md with list of changes.
- Git Branch:
rename-<old>-to-<new> containing the changes.
Preconditions
- Git repository root.
- .NET SDK installed (for build verification).
- Permissions to modify all files.
Safety/QA Checks
- Exclusions: Ignores
bin, obj, .git, node_modules.
- Build Check: optional verification build after rename.
- Rollback: Ability to
git reset --hard if something goes wrong.
Implementation
See rename_project.ps1.
Integration
# Example
.\skills\02_project_rename\rename_project.ps1 -OldName "Scrutor" -NewName "ELR" -DryRun