AI-powered software modernization
for .NET, React & Next.js
UpgradePilot automatically upgrades ASP.NET Zero, ABP Framework, .NET, React and Next.js applications to newer versions — without silently overwriting your customizations. Run it free and self-hosted, or let UpgradePilot Cloud run it for your whole team.
A solution for every stack in your repo
Each stack has its own guide: what UpgradePilot runs, what you still review by hand, and the official upgrade docs to read alongside it.
ASP.NET Zero
Template-based upgrades for ASP.NET Zero solutions, with your customizations kept intact.
Read the guide →ABP Framework
Move ABP applications and modules to a newer ABP release with AST-aware merging.
Read the guide →.NET
NuGet bumps, target-framework upgrades, Roslyn codemods and EF Core migration checks.
Read the guide →React
npm-verified dependency upgrades and official react-codemod transforms for React apps.
Read the guide →Next.js
@next/codemod transforms and Pages Router vs App Router detection for Next.js upgrades.
Read the guide →.NET + React/Next.js
Backend and frontend in one repo: .NET upgrades and validates first, then the frontend runs the same pipeline.
Read the guide →Built to be trusted with production code
Not a single AI prompt rewriting your codebase and hoping for the best — a pipeline of specialized, tested agents that show their work.
AST-based, not regex
Template and code comparison run on Roslyn syntax trees, so merges understand C# structure instead of guessing from text diffs.
Customizations stay untouched
The Semantic Merge Engine only auto-propagates a template change when your code never touched that member. Everything else becomes an explicit, reviewable conflict.
Explainable by construction
Every agent result carries a confidence score, a human-readable explanation, and citations — never a hidden decision.
Real agents, really tested
Real dotnet build / test / ef invocations, real git/gh operations, real NuGet vulnerability scans — 179 tests, not a demo.
Open core, not open-weak
The same agents that run in the free CLI also power the hosted Cloud product. Nothing is held back from the free tier to make the paid tier look better.
Extensible via MCP
A real Model Context Protocol server exposes repository, build, and test tools that any MCP-compatible AI client can call.
From “we’re three versions behind” to a reviewable pull request
- Discover. Detects your stack, framework version, project layout and dependencies — .NET, npm, or both.
- Plan. Pulls the target version’s template and release notes, then builds an upgrade plan with cited sources.
- Merge & refactor. Semantic three-way merge on C# syntax trees, Roslyn codemods, and real
react-codemod/@next/codemodtransforms. - Validate. Runs your real restore, build, tests, EF Core migrations check and a NuGet vulnerability scan.
- Deliver. Opens a pull request with an upgrade report, flagged conflicts, and a rollback plan.
Why teams choose the free app — and why some move to Cloud
People choose the free, self-hosted app when…
- They want to audit the code before pointing it at a production repo (Apache-2.0).
- One developer or a small team is upgrading one repo at a time.
- Security policy keeps session data on their own machines.
- They already pay an LLM provider and prefer to bring their own key.
People choose Cloud when…
- They manage many repos or client projects and want upgrades scheduled and tracked.
- They’d rather not manage API keys, runners or infrastructure.
- Several people need a shared dashboard and org roles.
- They want priority support when an upgrade is on a deadline.
See how an upgrade plays out
Walkthroughs of the situations teams actually get stuck in, and what UpgradePilot does in each.
A customized ASP.NET Zero SaaS product, several versions behind
A SaaS product built on an ASP.NET Zero template two years ago. The team has customized tenant management, billing and the permission model, and every upgrade attempt stalled in the merge.
See the walkthrough → ABP FrameworkAn ABP modular application with in-house modules
A modular ABP solution with several internal modules that override ABP services and module configuration.
See the walkthrough → .NETA .NET API with EF Core and a risky migration history
A line-of-business API with many projects, Central Package Management and a long EF Core migration history.
See the walkthrough →Pick how you want to run it
The boundary is delivery mode, not capability. Self-host it for free, or let UpgradePilot Cloud run it for your whole organization.
Run the full agent pipeline yourself. One repo, one user, your own LLM key.
- ✓ Every shipped agent, unmodified — no feature gating
- ✓ Runs locally via the CLI, in your own process
- ✓ Apache-2.0 licensed — audit, fork, or modify freely
- ✓ Bring your own LLM API key, pay only what you use
- ✓ Local session storage (SQLite) — no data leaves your machine
- ✓ Your own GitHub credentials for PRs and pushes
- ✓ Community support via GitHub Issues & Discussions
Hosted, multi-tenant infrastructure for teams running upgrades across many repos.
- ✓ Everything in Open Source, hosted and managed
- ✓ Multi-tenant orgs — invite your whole team
- ✓ Scheduled & automated upgrades across repos
- ✓ Dashboard to start, track, and review sessions
- ✓ Metered LLM billing included — no API key required
- ✓ Enterprise SSO/SAML, audit logs, usage analytics roadmap
- ✓ GitHub Enterprise, GitLab, Bitbucket, Azure DevOps connectors roadmap
- ✓ Priority support
Detailed comparison
| Capability | Open Source | Cloud |
|---|---|---|
| Where it runs | Locally, via the CLI, in your own process | Hosted, multi-tenant infrastructure |
| Scope | One repo, one user, one run at a time | Many repos/orgs, scheduled, concurrent |
| LLM billing | Bring your own API key | Metered, included |
| Session state | Local file (SQLite) | Persisted, multi-tenant database |
| Trigger | Manual CLI invocation | Webhooks, schedules, dashboard, API |
| Identity | Your local git/GitHub credentials | Enterprise SSO/SAML, org roles |
| Integrations | GitHub, via your own gh auth |
GitHub Enterprise, GitLab, Bitbucket, Azure DevOps |
| Observability | Local console/file output | Org dashboards, audit logs, usage analytics |
| Support | Community (GitHub) | Priority support |
| Price | Free, forever | Custom — contact sales |
Frequently asked questions
What is UpgradePilot?
UpgradePilot is an open-source (Apache-2.0) multi-agent platform that upgrades ASP.NET Zero, ABP Framework, .NET, React and Next.js applications to newer framework versions while preserving your customizations. It analyzes the repository, merges template changes with Roslyn syntax trees, runs real builds and tests, and opens a pull request.
Is UpgradePilot free?
Yes. The open-source core is free forever under the Apache-2.0 license and runs locally through the CLI. You bring your own LLM API key and pay your LLM provider directly for what you use. UpgradePilot Cloud, the hosted multi-tenant plan for teams, is paid; pricing is custom, so contact us for a quote.
Which frameworks and languages does UpgradePilot support?
ASP.NET Zero, ABP Framework, plain .NET (NuGet packages, target frameworks, EF Core migrations), React, Next.js (Pages Router and App Router), and mixed repositories that combine a .NET backend with a React or Next.js frontend.
Will UpgradePilot overwrite my custom code?
No. The Semantic Merge Engine only auto-propagates a template change when your code never touched that member. Anything you changed becomes an explicit conflict that is flagged in the pull request for a human to resolve. Nothing is silently overwritten.
How does UpgradePilot upgrade an ASP.NET Zero or ABP application?
It detects your current version, downloads the target version’s template, compares the template and your code using Roslyn syntax trees (not text diffs), runs a semantic three-way merge, applies package and API refactoring, checks database migrations, validates with a real build and test run, and opens a pull request with the conflicts called out.
How does UpgradePilot upgrade React and Next.js apps?
It upgrades package.json dependencies and verifies them with a real npm install, applies the official react-codemod and @next/codemod transforms (chosen from each framework’s own release notes), then validates with npm run build and your Jest or Vitest suite. For Next.js it detects whether you use the Pages Router or the App Router.
Contact us
Questions about self-hosting, Cloud pricing, or enterprise needs — we'd like to hear from you.
Reach us directly
What to expect
We typically reply within 1–2 business days. For Cloud/enterprise inquiries, tell us your team size and which framework you're upgrading from so we can prepare before we talk.