用途:自动化任意项目类型的版本更新与发布流程,包括项目类型识别、版本文件更新、CHANGELOG 生成以及 git 提交、打标签和推送。
主要能力:自动检测项目类型(Node.js、Python、Rust、Go、Unity、Unreal、Claude Code Plugin、通用项目);按 JSON、TOML、YAML、Unity 资源等格式更新版本文件;从 git 提交历史生成 CHANGELOG;处理 git 操作并兼容不同操作系统;支持游戏引擎特定流程,如 Unity 的 version.json 与 ProjectSettings.asset 同步。
使用方式:先运行 python -X utf8 scripts/detect_project.py . 检测项目类型与版本文件;再按语义化版本或用户指定版本,用 python -X utf8 scripts/update_version.py <file1> <file2> ... <new_version> 更新版本;Unity 项目额外运行 python -X utf8 scripts/sync_unity_version.py 同步;可选运行 python -X utf8 scripts/changelog_generator.py <new_version> [since_tag] [changelog_path] 生成 CHANGELOG;随后通过 scripts/git_operations.py 执行 commit、tag、push,或使用 gh release create 创建 GitHub Release。
适用场景:发布新版本、用户要求更新版本或创建发布、需要跨多个文件处理版本、希望从提交自动生成 CHANGELOG、处理 Unity 或 Unreal 等游戏引擎项目。
限制:脚本依赖 Python 3.11+ 且仅使用标准库;所有文件操作使用 UTF-8;需在正确目录运行并存在 git 仓库;项目未检测到或版本文件缺失时需手动创建模板;git 操作需配置远程与认证;Unity 以 version.json 为唯一事实来源并同步到 ProjectSettings.asset。