Claude Code Plugins

Community-maintained marketplace

Feedback

whalefall-version-update

@nyealovey/WhaleFall
0
0

WhaleFall(鲸落) 全局版本更新/发版同步工作流. 用于 bump 版本号(语义化 MAJOR.MINOR.PATCH)、消除 APP_VERSION/pyproject/env/uv.lock/部署脚本/健康检查/页脚/错误页/README/CHANGELOG/About 时间轴的版本漂移,并提供自检脚本与提交/PR 模板.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name whalefall-version-update
description WhaleFall(鲸落) 全局版本更新/发版同步工作流. 用于 bump 版本号(语义化 MAJOR.MINOR.PATCH)、消除 APP_VERSION/pyproject/env/uv.lock/部署脚本/健康检查/页脚/错误页/README/CHANGELOG/About 时间轴的版本漂移,并提供自检脚本与提交/PR 模板.

WhaleFall 版本更新

输入

  • 目标版本号 X.Y.Z(语义化版本).
  • 本次发版主题/一句话摘要(用于 CHANGELOG.md 与 About 时间轴).

工作流

  1. 读取强一致清单并确认当前版本号.
    • 需要完整指南时,读取 references/VERSION_UPDATE_GUIDE.md.
  2. 优先更新 app/settings.pyAPP_VERSION,再同步其余文件.
  3. 更新 CHANGELOG.mdapp/templates/about.html 的本次发版记录.
  4. 运行自检脚本与质量命令,核对 git status 只包含必要文件.

强一致文件清单(必须同步)

  • app/settings.py: 更新 APP_VERSION(运行时版本号唯一来源).
  • pyproject.toml: 更新 [project].version.
  • env.example: 更新 APP_VERSION=....
  • uv.lock: 在 [[package]] name = "whalefalling" 节点更新 version = "...".
  • scripts/deploy/deploy-prod-all.sh: 更新脚本头部注释/横幅/日志中的版本号.
  • app/routes/main.py: 更新 app_version 返回值(供前端展示).
  • app/templates/base.html: 更新页脚版本展示.
  • nginx/error_pages/404.htmlnginx/error_pages/50x.html: 更新错误页版本展示.
  • README.md: 更新顶部徽章与底部“最后更新/版本”.
  • CHANGELOG.md: 顶部新增或更新本次版本条目(倒序).
  • app/templates/about.html: 时间轴追加本次版本记录(不改历史条目).

验证与自检

  1. 运行版本一致性自检脚本(本 skill 自带): python3 scripts/check_version_sync.py --root <repo_root> --expected X.Y.Z.
    • 不传 --expected 时,脚本会从 app/settings.pyAPP_VERSION 推导并作为期望值.
  2. 运行质量/检查命令(按需选择): make qualityruff check <files>.
  3. 核对 git status/git diff,避免仅为版本号而改动 docs/architecture/*docs/reports/* 等大文档.

输出模板

  • 提交信息: chore: bump version to X.Y.Zchore: release vX.Y.Z.
  • PR 核对清单:
    • app/settings.pyAPP_VERSION 已更新并作为基准值
    • pyproject.toml/env.example/uv.lock 已同步
    • /admin/api/app-infoapp_version 已同步
    • 页脚/错误页/README 已同步
    • CHANGELOG.md 与 About 时间轴已补充
    • python3 scripts/check_version_sync.py --root <repo_root> 通过

兼容与回退

  • 若仓库中缺少指南里提到的历史脚本(例如 check_missing_docs_smart.py),使用 make quality 作为回退验证.
  • 若依赖文件出现与项目版本相同的数字,先确认是否为第三方依赖版本,避免误替换.