name: refactor-ts description: Guides TypeScript refactoring operations including moving files, moving symbols between files, and renaming symbols across the codebase. Use when user wants to reorganize code structure.
TypeScript Refactoring Skill
This skill guides the use of the refactor-ts CLI tool for common TypeScript code reorganization tasks.
When to Use
- User wants to move a TypeScript file to a new location
- User wants to extract a symbol (class, function, interface, etc.) to a different file
- User wants to rename a symbol across the entire codebase
- User is reorganizing code structure and needs import updates handled automatically
Available Operations
1. Move File (refactor-ts move-file)
Moves a TypeScript file to a new location and updates all import references.
npx refactor-ts move-file <source> <destination>
Example:
npx refactor-ts move-file src/game/Player.ts src/game/entities/Player.ts
2. Move Symbol (refactor-ts move-symbol)
Moves a symbol from one file to another, updating imports and copying dependencies.
npx refactor-ts move-symbol <file> <symbol> <destination>
Supported symbols: classes, functions, variables, interfaces, enums, type aliases
Example:
npx refactor-ts move-symbol src/game/Player.ts PlayerState src/game/state/PlayerState.ts
3. Rename Symbol (refactor-ts move-symbol)
Renames a symbol and updates all references across the codebase. This uses the same move-symbol command - when the destination is a name rather than a file path, it performs a rename.
npx refactor-ts move-symbol <file> <oldName> <newName>
Supported symbols: classes, functions, variables, interfaces, enums, type aliases
Example:
npx refactor-ts move-symbol src/game/Player.ts Player GamePlayer
Process
- Identify the operation type based on what the user wants to do
- Determine the arguments needed for the command
- Run the appropriate command with the correct arguments
- Verify the changes by checking that TypeScript compiles without errors
Common Patterns
-
Extracting a class to its own file: Use
move-symbolto move the class, which will create the destination file if needed -
Reorganizing into subdirectories: Use
move-fileto relocate files while keeping imports valid -
Renaming for consistency: Use
move-symbolwith a new name (not a file path) to rename throughout the codebase
chat Comments (0)
Sign in to join the discussion and leave a comment.
Skill Details
Related Skills
Build your own?
Join 12,000+ developers contributing to the Claude ecosystem.
No comments yet. Be the first to share your thoughts!