Introducing Upshift: AI-Powered Dependency Upgrades
Every developer knows the pain: you run npm outdated and see a wall of packages that need updating. React 19 is out. Express 5 shipped. TypeScript has a new major version. But upgrading means hours of reading changelogs, hunting for migration guides, and hoping your tests catch whatever breaks.
Today we're launching Upshift, a CLI tool that uses AI to make dependency upgrades safe and predictable.
The Problem
Dependabot tells you what to upgrade. That's the easy part. The hard part is understanding what will break and how to fix it.
When you upgrade a major version, you need to:
- Read through changelogs (if they exist)
- Find migration guides (often scattered across blog posts)
- Identify deprecated APIs in your codebase
- Make the changes and hope you didn't miss anything
- Manually rollback if tests fail
This is why teams accumulate technical debt. It's not that upgrades are hard—it's that they're tedious and risky. So they get postponed.
How Upshift Works
Upshift is a CLI that scans, explains, and upgrades your dependencies:
# Scan for outdated packages
upshift scan
# Get AI-powered analysis of breaking changes
upshift explain react --ai --from 18.2.0 --to 19.0.0
# Upgrade with automatic rollback
upshift upgrade react
The --ai flag is where the magic happens. Instead of dumping a changelog on you, Upshift uses GPT-4 to analyze the upgrade and give you:
- Breaking changes that will affect your code
- Migration steps in plain English
- Code patterns to search for in your codebase
- Specific replacements like
res.send()→res.json()
Real Example: Express 4 → 5
Here's what Upshift's AI analysis looks like for upgrading Express:
🤖 AI Analysis:
# Upgrading Express from 4.18.0 to 5.0.0
## Breaking Changes
1. res.send() no longer accepts objects directly
→ Use res.json() for JSON responses
2. Built-in bodyParser removed
→ Use express.json() instead
3. Error handlers need 4 params: (err, req, res, next)
## Code to search for:
res.send({ ... }) → res.json({ ... })
bodyParser.json() → express.json()
No more reading through 50 release notes. The AI extracts exactly what you need to know.
Safe Upgrades with Rollback
When you run upshift upgrade, it:
- Backs up your lockfile and node_modules
- Installs the new version
- Runs your test suite
- Automatically rolls back if tests fail
You can also do a dry run first with upshift upgrade react --dry-run to see what would happen.
Pricing
Upshift is free for basic usage:
- Free: Unlimited scans, upgrades, and basic explanations
- AI credits: The
--aiflag costs 1 credit. You get 10 free credits to start. - Credit packs: 100 credits for $5, 300 for $15, 1000 for $40
- Pro subscription: $9/mo includes 100 credits + 20% bonus on packs
We price AI features separately because they have real costs (API calls), but we wanted the core workflow to be free forever.
Get Started
npm install -g upshift-cli
cd your-project
upshift scan
That's it. In 30 seconds you'll see which dependencies need attention. Add --ai when you want the deep analysis.
What's Next
We're just getting started. On the roadmap:
- AI-generated code fixes (not just explanations)
- VS Code extension
- GitHub Action for automated PR scanning
- Multi-repo dashboard
Follow us on GitHub to stay updated.
— The Upshift Team