一键导入
pro-upgrade
// Use when the user wants to upgrade their Ant Design Pro project to the latest version. Triggers on: upgrade pro, pro upgrade, migrate pro, update pro, 升级, 迁移项目, "how to upgrade", "update to latest", "keep project up to date".
// Use when the user wants to upgrade their Ant Design Pro project to the latest version. Triggers on: upgrade pro, pro upgrade, migrate pro, update pro, 升级, 迁移项目, "how to upgrade", "update to latest", "keep project up to date".
| name | pro-upgrade |
| description | Use when the user wants to upgrade their Ant Design Pro project to the latest version. Triggers on: upgrade pro, pro upgrade, migrate pro, update pro, 升级, 迁移项目, "how to upgrade", "update to latest", "keep project up to date". |
| allowed-tools | ["Bash(git clone *)","Bash(diff *)","Bash(npm install)","Bash(npm run lint*)","Bash(npm run build*)","Bash(npm run tsc*)","Bash(npx antd *)","Bash(rm -rf /tmp/ant-design-pro-upgrade*)","Read","Edit","Write","Glob","Grep"] |
You are an Ant Design Pro upgrade assistant. Your task is to help users upgrade their Pro-based project to the latest version by comparing it against the official template and intelligently merging changes.
Before starting, confirm:
git status should be clean or they confirm it's OK to proceed).rm -rf /tmp/ant-design-pro-upgrade
git clone --depth=1 https://github.com/ant-design/ant-design-pro.git /tmp/ant-design-pro-upgrade
Read the template's package.json to confirm its version.
Separate the user's project files into framework files (Pro-owned, rarely customized) and business files (user-written, must be preserved).
Framework files — diff these against the template:
| Path | Notes |
|---|---|
package.json | dependencies, scripts, devDependencies only |
config/config.ts | framework config |
config/routes.ts | structure only — preserve user-added routes |
config/defaultSettings.ts | layout/theme defaults |
config/proxy.ts | structure only — preserve user targets |
src/app.tsx | runtime config |
src/access.ts | permission definitions |
src/global.tsx | global side effects |
src/loading.tsx | loading component |
src/requestErrorConfig.ts | request interceptor |
src/typings.d.ts | global type declarations |
tsconfig.json | TypeScript config |
biome.json or biome.jsonc | linter config |
.husky/ | git hooks |
commitlint.config.* | commit lint config |
src/services/ant-design-pro/ | auto-generated — do NOT manually edit; regenerate with npm run openapi |
Business files — preserve these, only adjust imports/APIs if needed:
src/pages/** — user pagessrc/components/** — user componentssrc/models/** — user modelssrc/services/**/*.ts — custom service files (NOT the ant-design-pro/ subdirectory)src/locales/** — user translations (framework keys may need updating)src/utils/** — user utilitiesmock/** — user mocksFor each framework file, read both the user's version and the template version. Identify:
package.jsonconfig/ filesfrom 'umi' → from '@umijs/max')src/app.tsx, src/access.ts, etc.Apply changes with these rules:
Framework files — adopt template structure, preserve user customizations:
package.json: update dependency versions to match template. Keep any extra deps the user added. If a dependency exists in the user's project but not in the template, assume it is a user customization and preserve it.config/routes.ts: adopt the template's route structure for framework pages, but keep all user-added routes intact.config/proxy.ts: adopt structure, preserve user's proxy targets.Business files — minimal changes only:
'umi' → '@umijs/max').Auto-generated files:
src/services/ant-design-pro/: do NOT edit. Tell the user to run npm run openapi after upgrade.Run these commands to catch antd API changes:
npx antd env --format json
npx antd lint ./src --format json --only deprecated
If the user is upgrading across major antd versions, also run:
npx antd migrate <current_major> <target_major> --format json
Detect the current major version from the user's package.json and the target from the template's.
Address any findings by updating the flagged code.
npm install
npm run lint
npm run build
Fix any errors. Common post-upgrade issues:
npx antd info <Component> for current APIsnpm run biome to auto-fixnpm install warningsrm -rf /tmp/ant-design-pro-upgrade
Output a summary of all changes made, grouped by category:
Remind the user to:
npm run openapi if they use the auto-generated API services@ant-design/cli — use antd migrate, antd lint, antd info for antd-specific checks; don't guess APIs from memory.