cva-migrate
Migrate a cva project between versions
This skill is a router. It identifies the source and destination versions, then loads at most one curated guide. Today, the cva@1.0.0-beta.11 and cva@1.0.0-beta.12 routes are curated, plus the route from class-variance-authority@0.6.0 through 0.7.1 to cva@1.0.0-beta.12. Research every other route, including downgrades, in Step 3. Never load unrelated references because their instructions may not apply.
cva@beta is not covered by semver and changes without warning. Treat every route below as version-to-version migration guidance, not a semver contract.
Step 1: identify the route
A route pairs the installed version with the destination version.
Destination. Use the version the user asked for. If they did not name one, ask, or take the destination from whichever release they are reacting to. Do not assume "latest": cva parks the npm latest dist-tag at 0.0.0 and publishes prereleases under beta.
Installed version. Read what is actually resolved in the project, not the range in package.json. Ask the project's package manager, adding its workspace selector in a monorepo: