# MigFlow > Agent-friendly migration playbooks for legacy → modern stacks. Each playbook is structured for AI execution: philosophy, setup, before/after transformations, pitfalls, validation checklist, and a ready-to-use prompt. ## Index - [All playbooks (JSON)](/playbooks.json): machine-readable list of every playbook. ## frontend - [Create React App → Vite](/playbooks/cra-to-vite.json): Migrate a Create React App project to Vite for faster dev server startup and builds. - [Cypress → Playwright](/playbooks/cypress-to-playwright.json): Replace Cypress with Playwright for cross-browser end-to-end testing with async/await. - [Enzyme → React Testing Library](/playbooks/enzyme-to-rtl.json): Migrate Enzyme-based tests to React Testing Library, adopting user-centric testing patterns. - [Pretender → Mock Service Worker](/playbooks/pretender-to-msw.json): Replace Pretender's in-memory fake server with MSW for network-level request interception. - [React Class Based → React Functional Components](/playbooks/class-to-functional-components.json): Migrate React class based components to functional components with hooks. - [Vanilla Redux → Redux Toolkit + RTK Query](/playbooks/redux-to-redux-toolkit.json): Replace boilerplate-heavy vanilla Redux with Redux Toolkit and RTK Query for data fetching. ## backend - [Express → Fastify](/playbooks/express-to-fastify.json): Migrate an Express HTTP server to Fastify for built-in validation, schema-first design, and higher throughput. ## data - [Lodash → Native JavaScript](/playbooks/lodash-to-native.json): Replace Lodash utility functions with native JavaScript equivalents to reduce bundle size. - [Moment.js → date-fns](/playbooks/moment-to-date-fns.json): Replace Moment.js with date-fns for tree-shakeable, immutable date utilities. ## language - [Callbacks and Promises → async/await](/playbooks/callbacks-to-async-await.json): Replace callback-based and raw Promise chains with async/await for readable async code. - [Flow → TypeScript](/playbooks/flow-to-typescript.json): Replace Flow type annotations with TypeScript equivalents across a JavaScript codebase. - [JavaScript → TypeScript](/playbooks/javascript-to-typescript.json): Incrementally migrate a JavaScript codebase to TypeScript with strict mode. - [PropTypes → TypeScript](/playbooks/proptypes-to-typescript.json): Replace runtime PropTypes validation with compile-time TypeScript interfaces. ## infra - [CommonJS → ESM](/playbooks/commonjs-to-esm.json): Replace require/module.exports with ES module import/export syntax. - [Jest → Vitest](/playbooks/jest-to-vitest.json): Replace Jest with Vitest for faster test execution in Vite-based projects. - [Webpack → Vite](/playbooks/webpack-to-vite.json): Replace Webpack with Vite for native ESM dev server and faster builds.