Codemod Generator Skill
Overview
This skill generates automated code migration scripts (codemods) that transform consumer code to use new API versions, reducing the burden of SDK upgrades on developers.
Capabilities
- •Create AST-based code transformations
- •Support multiple languages (JavaScript, TypeScript, Python, Go)
- •Provide dry-run mode with change preview
- •Implement safe rollback mechanisms
- •Generate detailed migration reports
- •Handle edge cases and partial migrations
- •Support interactive migration modes
- •Validate transformations with tests
Target Processes
- •Backward Compatibility Management
- •Package Distribution
- •SDK Versioning and Release Management
Integration Points
- •jscodeshift for JavaScript/TypeScript
- •libcst for Python
- •go-codemod for Go
- •Rector for PHP
- •Custom AST transformers
Input Requirements
- •Source and target API versions
- •Transformation rules specification
- •Test cases for validation
- •Edge case handling requirements
- •Rollback strategy
Output Artifacts
- •Codemod scripts per language
- •Dry-run reports
- •Migration validation tests
- •Edge case documentation
- •CLI wrapper for execution
- •Rollback scripts
Usage Example
yaml
skill:
name: codemod-generator
context:
sourceVersion: "1.x"
targetVersion: "2.0"
languages:
- typescript
- python
transformations:
- type: methodRename
from: oldMethod
to: newMethod
- type: parameterChange
method: createResource
changes:
- name: config
wrap: options
dryRun: true
generateTests: true
Best Practices
- •Always provide dry-run mode first
- •Generate comprehensive change reports
- •Handle partial migrations gracefully
- •Include rollback capabilities
- •Test codemods against real codebases
- •Document manual intervention cases