
Migrate To Vinext
This automates the jump from Next.js to vinext, a Vite-based reimplementation of the Next.js API. You get a compatibility check, package swaps, ESM conversion, and Vite config generation, all without touching your app code. The skill walks through `vinext init` for automatic migration or manual steps if you want control. It covers both Pages Router and App Router, handles Cloudflare Workers deployment natively (with first-class binding support via `cloudflare:workers`), and falls back to Nitro for Vercel, Netlify, or AWS. Honest take: this is niche, but if you're tired of Next.js build times and want Vite's DX without rewriting routes, it's a clean path.
- skills.sh installs
- 9.3K
- GitHub stars
- 9.3K
- last updated
- Aug 21, 2026
Install
$ npx -y skills add cloudflare/vinext --skill migrate-to-vinext --agent claude-codeInstalls into .claude/skills of the current project.
Files
Migrate Next.js to vinext
vinext reimplements the Next.js API surface on Vite. Existing app/, pages/, and next.config.js work as-is — migration is a package swap, config generation, and ESM conversion. No changes to application code required.
FIRST: Verify Next.js Project
Confirm next is in dependencies or devDependencies in package.json. If not found, STOP — this skill does not apply.
Detect the package manager from the lockfile:
| Lockfile | Manager | Install | Uninstall |
|---|---|---|---|
pnpm-lock.yaml | pnpm | pnpm add | pnpm remove |
yarn.lock | yarn | yarn add | yarn remove |
bun.lockb / bun.lock | bun | bun add | bun remove |
package-lock.json or none | npm | npm install | npm uninstall |
Detect the router: if an app/ directory exists at root or under src/, it's App Router. If only pages/ exists, it's Pages Router. Both can coexist.
Quick Reference
Sponsors
Details
- Repository
- github.com/cloudflare/vinext
- Categories
- Frontend Development, Marketing & SEO, Cloud & Infrastructure