migrate-to-vinext
Installation
Summary
Automated migration from Next.js to vinext, a Vite-based Next.js reimplementation.
- Handles compatibility scanning, package replacement, Vite config generation, and ESM conversion with a single
vinext initcommand or manual fallback steps - Supports both App Router and Pages Router; existing
app/,pages/, andnext.config.jswork unchanged — no application code modifications required - Includes native Cloudflare Workers deployment via
vinext deploywith direct access to bindings (D1, R2, KV, AI) throughcloudflare:workersimports, plus Nitro integration for other platforms (Vercel, Netlify, AWS, Deno Deploy) - Provides compatibility checking, troubleshooting guidance, and known limitations documentation to surface issues before and during migration
SKILL.md
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.