The WrapGod Migration Engine automates the mechanical part of upgrading a .NET codebase when a library ships breaking changes. Given a migration schema that describes what changed — renames, moves, removals, structural restructurings — the engine walks your source files, applies the rules via Roslyn syntax rewriting, and writes the results back atomically.
The engine is syntax-only (no compilation required). It handles broken code gracefully, preserves all whitespace and comments, and injects missing using directives automatically.
Quick Start
# Generate a draft schema from two NuGet versions
wrap-god migrate generate --package MudBlazor --from 6.0.0 --to 7.0.0
# Preview the changes
wrap-god migrate apply --schema mudblazor.6.0.0-to-7.0.0.wrapgod-migration.json --dry-run
# Apply for real
wrap-god migrate apply --schema mudblazor.6.0.0-to-7.0.0.wrapgod-migration.json
# Check progress
wrap-god migrate status --schema mudblazor.6.0.0-to-7.0.0.wrapgod-migration.json
# Correlate compiler errors to migration rules
wrap-god migrate verify --schema mudblazor.6.0.0-to-7.0.0.wrapgod-migration.json
Architecture diagram, full lifecycle, public API (MigrationEngine, StatefulMigrationEngine, IRuleRewriter, MigrationResult), performance, extension points