用途
just-upgrade 用于在仓库中以非交互方式执行依赖升级(just upgrade),完成工具链、JS 与 Python 依赖更新,并对次版本、主版本升级所涉及的调用点做必要修改,最终以 CI 通过作为完成标志。
主要能力与执行顺序
命令接受一个布尔参数 --yes(可用 just --usage upgrade 确认)。--yes 会自动接受对话框,并转发给 js_upgrade,使其以 pnpm dlx --yes npm-check-updates@latest --upgrade --cooldown 1d 代替交互式的 npm-check-updates。
升级顺序为:tooling_upgrade(mise 自更新、改写 .config/mise.dev.toml 中的 min_version、mise upgrade/lock、pinact 更新 GitHub Actions),随后是 _mise_web_version_sync、_js_sync-engine-versions、_mise_gha_version_sync;接着 js_upgrade(npm-check-updates、pnpm install、pnpm audit --fix=update、update-browserslist-db)与 py_upgrade(uv sync -U、uv tool upgrade --all);最后执行 upgrade 主体(playwright install、write-versions)。
版本窗口与限制
.pinact.yaml 的 min_age 为 30,pinact 会跳过 30 天内的发布;.config/mise.toml 的 minimum_release_age 为 14d,mise 会警告并跳过该窗口内的新版本。因窗口而未产生变更即视为完成,不应放宽窗口。升级过程中各步骤会执行 git add;若 js_upgrade 遇到 pnpm 优先级或引擎不匹配(ERR_PNPM_UNSUPPORTED_ENGINE),应立即停止并报告。
使用方式
运行 just upgrade --yes 后,先运行 llm-ide-rules download,再运行 llm-ide-rules ignores all,并提交 instructions.md、commands.md 与 .gitignore。
调用点更新
跳过补丁版本。对比 web/package.json、pyproject.toml、锁文件与 .github action pin,对每个次版本或主版本升级阅读变更日志,若存在与本仓库调用点匹配的弃用或替换,就在同一次变更中修改该调用点,仅改新版本所需的行,不重命名函数、不提取辅助函数、不改写控制流。每处修改在 PR 正文中以表格记录:包、旧版本、新版本、改动内容、原因。若新版本不影响调用点则跳过。
完成条件
完成使用点修改后运行 just js_lint、just py_lint、just js_test、just py_test,推送并观察 PR 直到 Backend 与 Frontend 通过。若失败源于 direnv、PATH、pnpm/工具优先级、Docker、证书或密钥,应立即停止并报告,不要尝试临时绕过。
适用场景
适用于该仓库维护者进行批量依赖升级、审查版本升级带来的调用点变更,以及在 PR 流程中确保 lint 与测试通过。
限制
该技能依赖特定仓库结构与 just、mise、pnpm、uv 等工具,平台、收费与价格信息暂未提供。