用途:系统化升级项目依赖,尽量做到零破坏。核心原则是一次只升级一个包、每次升级后测试、失败即回滚、绝不自动提交。
主要能力:先通过扫描包管理器文件识别项目生态(如 go.mod、package.json、pyproject.toml、Cargo.toml、*.csproj),支持混合项目并分别处理各生态。随后审计依赖:列出过期包并运行漏洞扫描器,例如 Go 用 go list -u -m all 与 govulncheck ./...,Node.js 用 npm outdated 与 npm audit,Python 用 pip list --outdated 与 pip-audit,Rust 用 cargo outdated 与 cargo audit,.NET 用 dotnet list package --outdated 与 --vulnerable。若扫描器未安装,会在报告中注明并继续。
使用方式:将过期包按优先级分类(CRITICAL 已知 CVE、HIGH 落后大版本或依赖 EOL、MEDIUM 落后小版本、LOW 仅落后补丁版本),生成升级计划表并等待用户批准。用户可选择全部升级、指定包或跳过。批准后按优先级逐个升级:查阅变更日志或迁移指南、执行升级命令、更新锁文件、运行测试;测试失败立即用 git checkout -- <dependency-file> <lockfile> 回滚并报告,继续处理剩余包。全部完成后验证锁文件完整性(如 go mod verify、npm ci --dry-run、cargo build --dry-run),最后输出摘要,包含成功、失败回滚、跳过项、剩余漏洞与锁文件状态。
适用场景:需要安全、可控地更新多生态项目依赖,尤其关注漏洞修复与破坏性变更评估时。
限制:不自动提交、不创建分支,git 操作留给用户;一次只升级一个包;失败必须立即回滚;所有结果均需报告。具体各生态命令与优先级信号见其 references 目录,资料未提供更多细节。