Upgrade site dependencies and frameworks with Cursor

Yesterday I decided it was time to upgrade the dependencies on kentcdodds.com (the site you're probably reading this on). Task: The author used Cursor Composer 1.5 to audit and upgrade dependencies on a large site (42k+ LOC). The workflow involved generating a difficulty-grouped list of outdated packages, then executing upgrades in batches: easy, medium, and major framework migrations (Remix to React Router v7). Human oversight included providing specific context (e.g., Zod v4 exports), reviewing plans, and correcting routing structure issues after the agent's initial attempt.; tools: Cursor. Human role: The original post does not say how a person stayed involved.; limitations: Success relied heavily on existing high-quality tests and documentation. The agent struggled with framework-specific routing conventions, requiring manual correction. Long-running background tasks necessitated monitoring for automated bug fixes (BugBot) and human review before merging. The author noted difficulty in managing multiple concurrent agents and notifications..

Tools

Cursor

Published on Agent Work Atlas:

Overview

Yesterday I decided it was time to upgrade the dependencies on kentcdodds.com (the site you're probably reading this on).

Workflow

The author used Cursor Composer 1.5 to audit and upgrade dependencies on a large site (42k+ LOC). The workflow involved generating a difficulty-grouped list of outdated packages, then executing upgrades in batches: easy, medium, and major framework migrations (Remix to React Router v7). Human oversight included providing specific context (e.g., Zod v4 exports), reviewing plans, and correcting routing structure issues after the agent's initial attempt.

Reported result

Easy and medium upgrades were completed with minor issues handled gracefully. Major upgrades like Vite/Vitest and Zod succeeded smoothly. The complex Remix to React Router v7 migration required human intervention to fix routing conventions and adopt new type handling, but ultimately resulted in a merged PR after background agent iterations and automated bug fixes.

Human role

The original post does not say how a person stayed involved.

Limitations

Success relied heavily on existing high-quality tests and documentation. The agent struggled with framework-specific routing conventions, requiring manual correction. Long-running background tasks necessitated monitoring for automated bug fixes (BugBot) and human review before merging. The author noted difficulty in managing multiple concurrent agents and notifications.

Try it

Act as a senior developer using Cursor Composer. My project is [replaceable: project name/path] with [replaceable: tech stack, e.g., Remix, Vite]. 1. Generate a list of outdated packages grouped by upgrade difficulty (Easy, Medium, Hard). 2. Execute 'Easy' upgrades first. 3. For 'Medium', handle breaking changes carefully, referencing migration guides. 4. For 'Hard' framework migrations (e.g., [replaceable: specific migration]), create a detailed plan, search for docs, and execute. 5. If routing or structure breaks, provide the error output and ask for a fix matching the original structure. 6. Run tests after each batch. Do not merge until I confirm all tests pass and the diff looks correct. Start with a dry run on one package.

Original source

Source reports are not independently verified. Publication date is the catalog publication date, not the original article date.

More cases · Software & development