PlugWiki

migrate-to-vinext Skill (Cloudflare's own repo): Migrate Next.js to vinext

Moves a Next.js project to vinext, Cloudflare's Vite-based Next.js reimplementation, and sets up deployment.

Installs
8.7K
on skills.sh
Stars
9.3K
on GitHub
Files
3
besides SKILL.md
Updated
Nov 2026
last repo commit

This skill, from Cloudflare's own vinext repo, walks your assistant through migrating a Next.js app to vinext. It scans for compatibility gaps, runs vinext init, falls back to a manual package swap if needed, and can set up Cloudflare Workers or Nitro deployment.

It stops if next is not in your package.json. The README calls vinext under active development and not yet a drop-in replacement for every app. It runs npx and package-manager commands in your project.

Good for

  • Next.js teams that want to run on Vite or Cloudflare Workers
  • Developers who want a compatibility report before they migrate
  • Anyone moving a Pages Router or App Router app without rewriting app code

Install migrate-to-vinext

Claude Code

  1. 1

    Download the skill folder from https://github.com/cloudflare/vinext/tree/HEAD/.agents/skills/migrate-to-vinext.

  2. 2

    Put it at ~/.claude/skills/migrate-to-vinext/ so that SKILL.md sits directly inside.

  3. 3

    Start a new session; the skill loads when its description matches the task.

Requires Node.js, A Next.js project.

Keep the references folder with SKILL.md. The skill runs npx, package-manager and deploy commands in your project, so there is no Claude app upload route. The vinext repo holds this one skill and no plugin manifest.

Built from the package data we hold. Not yet tested by us.

What's in the skill

When it loads

Migrates Next.js projects to vinext (Vite-based Next.js reimplementation). Load when asked to migrate, convert, or switch from Next.js to vinext. Handles compatibility scanning, package replacement, Vite config generation, ESM conversion, and deployment setup (Cloudflare Workers natively, other platforms via Nitro).

Sections in SKILL.md

  1. FIRST: Verify Next.js Project
  2. Quick Reference
  3. Phase 1: Check Compatibility
  4. Phase 2: Automated Migration (Recommended)
  5. Phase 3: Manual Migration
  6. 3a. Replace packages
  7. 3b. Update scripts
  8. 3c. Convert to ESM
  9. 3d. Generate vite.config.ts
  10. 3e. Update .gitignore
  11. Phase 4: Deployment (Optional)
  12. Option A: Cloudflare Workers (recommended for Cloudflare)
  13. Option B: Other platforms (via Nitro)
  14. Phase 5: Verify
  15. Known Limitations
  16. Anti-patterns

Key facts

Installs on skills.sh
8,734 (Nov 2, 2026)
Last repo commit
Nov 1, 2026

What it includes

  • Stops unless next is in dependencies; detects the package manager and router.

    Lockfile picks pnpm, yarn, bun or npm. An app/ folder means App Router; only pages/ means Pages Router.

    Files · Verify Next.js project

  • Scans the project for compatibility issues and prints a scored report.

    Run through npx if vinext is not installed. Critical gaps are reported before going on.

    Runs code · Phase 1: vinext check

  • Automated migration: installs vite, adds type: module, scripts and vite.config.ts.

    The SKILL.md calls it non-destructive: Next.js keeps working next to vinext, and you test with the dev:vinext script.

    Runs code · Phase 2: vinext init

  • Fallback: replace packages, update scripts, convert to ESM, write vite.config.ts.

    This path uninstalls next and installs vinext and vite with your package manager.

    Delete · Phase 3: Manual migration

  • Cloudflare Workers via npx @vinext/cloudflare deploy, or other hosts through Nitro.

    The Cloudflare route builds and deploys with wrangler. Nitro presets cover Vercel, Netlify, Deno Deploy and Node.

    Runs code · Phase 4: Deployment

  • Starts the dev server, checks key routes and reports the result with full errors.

    Troubleshooting lives in references/troubleshooting.md.

    Runs code · Phase 5: Verify

  • Seven rows, such as next/image, next/font/google, domain i18n, next/jest and PPR.

    Turbopack and webpack config are ignored; use Vite plugins instead.

    Known limitations

  • Seven rules, such as do not rewrite next/* imports or touch app/ and pages/.

    It also says not to skip the compatibility check and to prefer cloudflare:workers for bindings.

    Anti-patterns

From the official docs

Permissions

Medium risk

It installs packages, edits your config and can deploy your app. Commit first, and name the deploy target yourself.

What it can do

  • Read your data
  • Create and change things
  • Delete things
  • Read-only mode

Watch out for

  • It changes your project and runs installs

    vinext init installs packages, renames config files and edits package.json. The manual path uninstalls next. Commit first so you can undo. github.com

  • It can deploy to Cloudflare Workers

    Phase 4 builds and deploys with npx @vinext/cloudflare deploy through wrangler. Say which target and account you want, and ask for a dry run first. The README lists a --dry-run option. github.com

  • The project is still maturing

    The README says vinext is under active development and not a drop-in replacement for every app. Test before you move production traffic. github.com

Technical details
Turning on read-onlyNo read-only mode. vinext check only scans; the other phases edit the project.
Talks tonpm registry (package installs and npx). Cloudflare, through wrangler, if you deploy
Scopes
  • Edits package.json, config files and .gitignore; renames CJS config files

  • Installs npm packages (vinext, vite, @vitejs/plugin-rsc and others) with your package manager

  • Can build and deploy to Cloudflare Workers or another host if you choose

Questions

What does migrate-to-vinext do?

It guides your assistant through moving a Next.js project to vinext, Cloudflare's Vite-based reimplementation of the Next.js API. It checks compatibility, runs the automated migration, fixes config and sets up a Cloudflare Workers or other deployment.

Is this Cloudflare's own skill?

Yes, it lives in the vendor's own repo, cloudflare/vinext. The README calls it an optional Agent Skill and prefers running vinext init directly for a repeatable migration.

How do I install it?

Use the install box above. The README command is npx skills add cloudflare/vinext, then open your Next.js project and say "migrate this project to vinext".

Is vinext ready for production?

The README says vinext is under active development and not yet a drop-in replacement for every application or production workload. Expect gaps in newer App Router features, and run vinext check against your app first.

Will it break my Next.js setup?

The automated vinext init path is described as non-destructive: Next.js keeps working beside vinext, and the README says it does not modify next.config, tsconfig.json or source files. The manual fallback uninstalls next, so use version control.

Will it deploy my app?

Only if you pick a deployment target in Phase 4. The Cloudflare route runs a build and deploys with wrangler. The README says vinext init asks which target you want, Cloudflare or Node. The README also says agents must ask you which target you want, then pass --platform=cloudflare or --platform=node.

Do the SKILL.md and README agree on what vinext init does?

Not fully. The SKILL.md lists seven steps; the README lists eight. The SKILL.md adds .gitignore entries (/dist/, .vinext/) and @vitejs/plugin-rsc for App Router. The README adds a start:vinext script, a deployment platform prompt and, for Cloudflare, a generated cloudflare.config.ts. Our advice: follow the README output when they differ.

Information

updated Nov 2, 2026

Folder
.agents/skills/migrate-to-vinext

cloudflare/vinextskills.sh

Sources

Docs, issue trackers and discussions this page is built from.

Show all 3
  1. migrate-to-vinext SKILL.md · github.com
  2. vinext README · github.com
  3. references/troubleshooting.md · github.com

Updated Nov 2, 2026.