SuperAPI AI 工具集

bump-dependency

编程与开发

查看项目

更新于 10-15 22:14

技能介绍

用途:在 Home Assistant Core 仓库中系统化升级某个 Python 包依赖版本,覆盖所有引用该包的核心集成,并重新生成派生文件、验证集成、提交 PR。

主要能力与流程:先确定目标包与目标版本,搜索所有 manifest.json 和 requirements 文件中的引用;运行内置校验脚本解析版本、GitHub 仓库、发布标签格式及 PR 链接:uv run --no-sync python3 ./.claude/skills/bump-dependency/scripts/resolve_dependency.py <package> <old_version> [--new-version <new_version>]。随后创建分支、更新各 manifest.json 版本约束,运行生成器 uv run --no-sync python3 -m script.gen_requirements_all 更新派生依赖文件,并用 uv pip install "<package>==<version>" 在虚拟环境中验证安装。

验证与检查:对相关集成运行 uv run --no-sync pytest tests/components/<integration_name>,失败则修复并重跑;再运行 uv run --no-sync prek run,修复格式与 lint 问题直到通过。

提交与 PR:提交更改后推送分支,依据 .github/PULL_REQUEST_TEMPLATE.md 生成 PR 正文;注意 GitHub 标签格式不一致(v1.2.3、1.2.3、release-1.2.3),须先用 resolve_dependency.py 确认标签;PR 模板需完整保留各节、注释和未勾选框,仅可在不适用时移除 Breaking change 节,并在 Dependency upgrade 与测试相关项打勾。需先向用户展示草稿并等待明确确认,再用 gh pr create --repo home-assistant/core --base dev --head <username>:bump-<package>-to-<version> --title "Bump <package> to <version>" --body-file <pr_body_file> 发起 PR。

限制:资料未说明支持的其他包管理器或非 Home Assistant 项目;具体测试与 lint 依赖本地环境,失败需人工分析修复。