What the agent does
For a Nuxt app like nuxt/movies, the agent reads package.json, nuxt.config.ts and pnpm-lock.yaml before upgrading. The app pins pnpm 11.1.2 and Node ^24.0.0 under devEngines, uses a pnpm workspace (pnpm-workspace.yaml) including the proxy/ Nitro package, and currently depends on nuxt through the npm:nuxt-nightly@4.6.0-29812804.e29b3dd9 alias. Modules in nuxt.config.ts are @vueuse/nuxt, @unocss/nuxt, @nuxt/image, @nuxtjs/i18n and @nuxtjs/html-validator, with future.compatibilityVersion set to 5, image.provider proxy against apiBaseUrl, and i18n strategy no_prefix. Scripts for the quality bar are pnpm lint, pnpm typecheck (nuxt typecheck) and pnpm build (nuxt build).
The upgrade path combines nuxi upgrade with pnpm updates for the module set (@nuxt/image, @nuxtjs/i18n, @unocss/nuxt, @vueuse/nuxt, @nuxt/test-utils, vitest, playwright). The agent resolves whether to stay on a nightly alias or move to a stable nuxt release based on what nuxi offers and what still typechecks. It applies config migrations those releases document (routeRules, image providers, i18n restructureDir already set to '.') and updates eslint via @antfu/eslint-config only when required by peer dependencies.
Validation is pnpm lint, pnpm typecheck and pnpm build after each coherent bump set. Unit tests (pnpm test:unit) and Playwright (pnpm test:e2e) may run as additional signal when dependencies install cleanly; a failure there that is unrelated to the bump is described, not silently ignored. Bumps that break lint, typecheck or build are reverted and listed with the failing command. The proxy workspace package is updated only when its nitropack or ipx peers require it for the app build.
Application pages under app/pages and components under app/components are edited only for migration breakages (import paths, Nuxt Image component props, i18n composables). The agent opens one pull request with one line per successful bump and a skip list for everything that failed closed.
Shared types under shared/ and server routes under server/api are recompiled by nuxt build; the agent fixes type errors there when a module bump changes generated imports. Vercel-oriented vercel.json is left alone unless the build emits a new output contract that requires a documented adjustment, which then appears as its own PR line.
Start it with one API call
POST https://api.prix.dev/o/{org}/sessions with this body:
{
"agent": "claude",
"input": "Upgrade Nuxt and its modules to the latest compatible versions with pnpm and nuxi upgrade, run pnpm lint, pnpm typecheck and pnpm build, and open a pull request with one line per bump. Leave out any upgrade that breaks the build or tests and say why.",
"resources": [
{
"url": "https://github.com/your-org/your-app"
}
]
}- Get an API key. In the console, open Settings, then API keys, and create a key for your org. Send it in the Authorization header as a Bearer token.
- Send the request. POST the body in request.json to https://api.prix.dev/o/{org}/sessions, with your repository as the resources URL. The run starts in its own cloud sandbox.
- Read what came back. Follow the run on its live stream or wait for the run.completed webhook, then read the result and its trajectory.
What comes back
The pull request updates package.json, pnpm-lock.yaml and any nuxt.config.ts or module options required by the new releases. The description lists each bump that passed pnpm lint, pnpm typecheck and pnpm build, notes whether nuxt stayed on nightly or moved to stable, and names skipped bumps with errors.
A reviewer confirms the movies app still builds, that image and i18n modules still resolve against apiBaseUrl, and that no unrelated feature edits landed. Session transcript and PR metadata are on GET /o/{org}/sessions/{id}.
Run it on every weekly Nuxt maintenance
Schedule a weekly POST /o/{org}/sessions per Nuxt application with this prompt and the app repository in resources. Use a new Idempotency-Key every week.
When run.completed fires, drop PR URLs into the maintenance review channel. Skip apps whose previous upgrade PR is still open to avoid lockfile races.
The use case this job follows, with its automation and trigger: Upgrade dependencies weekly.
Why run it on Rush?
Nuxt module peers move together; upgrading on a laptop often leaves a half-updated lockfile. The sandbox runs nuxi and the three pnpm verification commands, reverting bad bumps before anyone else installs.
Several Nuxt apps can upgrade at once under the key’s concurrency limit, each with its own lint, typecheck and build transcript as proof.
Frequently asked questions
This fixture uses nuxt-nightly. Will the agent force a stable release?
It prefers what nuxi upgrade and the verification commands support. If stable passes lint, typecheck and build, it may move off the nightly alias; if only nightly remains compatible, it bumps the nightly pin and says so in the PR.
Does it upgrade the proxy workspace package?
Only when the app build or shared peers require nitropack or ipx changes in proxy/package.json. Unrelated proxy feature work stays out.
Are Playwright tests mandatory?
The prompt’s bar is pnpm lint, pnpm typecheck and pnpm build. e2e is extra signal when browsers install; failures unrelated to the bump are reported without blocking a clean build.
Which package manager is required?
pnpm 11.1.2 per devEngines and the committed pnpm-lock.yaml. The agent enables corepack and does not rewrite the repo to npm.
Will it change future.compatibilityVersion?
Only if a Nuxt release notes that compatibilityVersion 5 must move. Otherwise nuxt.config.ts keeps future.compatibilityVersion at 5 and the PR says when that pin was left alone.