Migration
Upgrading dependencies, languages, frameworks and platforms.
Download all 28
- Migrate JavaScript to TypeScript
Plans and carries out an incremental JavaScript-to-TypeScript migration with config, file order, typed boundaries and a strictness ratchet. Use to move a JS codebase without a freeze.
- Plan an incremental migration
Plans a framework, platform or system migration as small reversible phases using the strangler fig pattern, with data strategy, verification and rollback per phase. Use instead of a big-bang rewrite.
- Upgrade a major dependency
Upgrades a library or framework across major versions using the official migration notes, fixes what breaks, and proves the result with before-and-after checks. Use for any breaking upgrade.
- Adopt strict type checking module by module
Moves a Python or TypeScript codebase to strict type checking one module at a time, fixing real bugs found and ratcheting config so coverage never slides back. Use to adopt strict mode safely.
- Convert class components to hooks
Converts React class components to function components with hooks, mapping lifecycles to effects correctly and keeping refs, error boundaries and behaviour, one component at a time with tests.
- Dependency update sweep track
Brings a project with many outdated dependencies up to date in gated steps, with a risk-ranked inventory, a patch and minor batch, majors one at a time, then lockfile hygiene and update automation.
- Inventory deprecated API usage
Groups deprecation warnings and deprecated API usages by replacement before an upgrade, estimates effort per group and orders the work into small changes that ship on the current version.
- Plan a breaking API version change
Plans a breaking API version change with a deprecation timeline, compatibility shims, a client migration guide and adoption telemetry. Use before changing anything clients rely on.
- Plan an authentication provider migration
Plans moving users from one authentication provider or in-house auth to another, covering password hashes, sessions, social logins, MFA, a dual-run period, a security review gate and rollback.
- Migrate CI to another provider
Plans and writes the migration of CI pipelines from one provider to another, mapping jobs, caches, secrets, triggers and artifacts, with a parallel-run period and a cutover checklist.
- Plan a database engine migration
Plans a move between database engines, such as MySQL to Postgres, covering incompatibilities, data copy, cutover, verification and rollback. Use before committing to a migration date.
- Migrate styles to utility CSS
Migrates component styles from CSS modules, styled-components, Sass or plain CSS to a utility-first framework one component at a time, mapping values to tokens and proving visuals are unchanged.
- Migrate a test suite to another framework
Moves a test suite between frameworks, such as Jest to Vitest or unittest to pytest, in batches with codemods, manual fixes, pass-count parity checks and CI updates. Use for any test framework switch.
- Migrate views to declarative UI
Plans an incremental move from UIKit to SwiftUI or Android Views to Jetpack Compose, with two-way interop, screen order, state hoisting, theming, previews and per-screen risks.
- Migration engineer
Acts as an engineer who leads upgrades and platform moves through inventories, strangler patterns, dual running, reversible steps and a done definition that includes deleting the old path.
- Modernise Python packaging
Moves a Python project from setup.py, requirements files or ad hoc scripts to pyproject.toml with a build backend, locked dependencies, entry points and CI, keeping existing install commands working.
- Move cron jobs to an orchestrator
Moves scattered cron jobs to a scheduler or workflow orchestrator with an owned inventory, explicit dependencies, idempotency, retries, time zone and overlap rules, alerts and a parallel-run cutover.
- Plan a cloud migration
Plans moving workloads from on-premises or another cloud, classifying each with the 6 Rs and ordering waves by dependency and risk, with cutover, rollback and cost checks.
- Plan extracting a service from a monolith
Plans extracting one capability from a monolith with the strangler-fig pattern, covering seams, data ownership, traffic shifting and rollback at every step. Use before splitting a service out.
- Plan a monorepo migration
Plans moving several repositories into a monorepo, covering history preservation, build tooling, CI, code ownership and a staged rollout. Use before consolidating repositories.
- Port firmware to a new microcontroller
Plans porting firmware to a different MCU or vendor SDK, covering HAL gaps, peripherals, clocks, pin mapping, interrupt priorities, toolchain and bootloader, with a board bring-up test order.
- Replace a state management library
Plans moving a frontend app to a new state approach, such as legacy Redux to server-state caching plus local state, by classifying state, migrating slice by slice and deleting the old store safely.
- Upgrade a project's language runtime
Upgrades a language runtime across code, lockfiles, Docker images, CI and docs, fixing deprecations and running the full suite at each gate. Use before a runtime version reaches end of life.
- Switch a build tool
Plans moving between build tools such as Webpack to Vite, Maven to Gradle or Make to CMake, with feature mapping, plugin replacements, environment variables, output parity checks and a CI dual run.
- Switch observability backend
Plans moving logs, metrics and traces to OpenTelemetry and a new backend with a dual-shipping period, name mapping, dashboard and alert parity checks, cost estimates and old agent removal.
- Switch ORM or query layer
Plans replacing an ORM or query builder incrementally, with a query inventory, transaction, lazy loading and null differences, a compatibility layer, per-query tests and performance checks.
- Upgrade a database major version
Plans a Postgres, MySQL or similar major version upgrade, covering breaking changes, extensions, in-place versus replication method, rehearsal, downtime, rollback and statistics.
- Upgrade a game engine version
Plans a game engine major upgrade such as Godot 3 to 4 or a Unity LTS jump, covering backup branch, API and render pipeline changes, shader and asset re-import, plugins and a playtest checklist.
Not: database schema design (data); pure restructuring (refactoring).