Agent Skills › pawurb/hotpath-rs › hotpath_bump

hotpath_bump

GitHub

用于在仓库中批量更新 hotpath 项目的所有版本引用,包括六个 Rust crate 的 Cargo.toml、中间件配置、技能文档及 GitHub Actions 工作流标签,确保发布时版本一致性。

skills/hotpath_bump/SKILL.md pawurb/hotpath-rs

Trigger Scenarios

用户要求 bump 或 release 新版本 需要统一更新所有 crate 和依赖的版本号

Install

npx skills add pawurb/hotpath-rs --skill hotpath_bump -g -y
More Options

Use without installing

npx skills use pawurb/hotpath-rs@hotpath_bump

指定 Agent (Claude Code)

npx skills add pawurb/hotpath-rs --skill hotpath_bump -a claude-code -g -y

安装 repo 全部 skill

npx skills add pawurb/hotpath-rs --all -g -y

预览 repo 内 skill

npx skills add pawurb/hotpath-rs --list

SKILL.md

Frontmatter
{
    "name": "hotpath_bump",
    "description": "Bump the hotpath version number across the workspace and related files. Updates the versions of all six published crates (drain included) in Cargo.toml files (exact patch version), version references in the backend middleware, hotpath_init skill, and README (major.minor only), and the relay workflow release tag pins (exact `vX.Y.Z` tag). Use when the user wants to bump, bump the version, or release a new hotpath version.",
    "allowed-tools": "Bash, Read, Edit, Grep, Glob"
}

Bump hotpath Version

Bump the hotpath version number in every place it appears. The user provides the new version (e.g. 0.25.0); if only major.minor is given, assume patch 0.

Three formats are used:

  • Exact version (X.Y.Z, e.g. 0.25.0) - all Cargo.toml entries
  • Major.minor only (X.Y, e.g. 0.25) - crate version references
  • Release tag (vX.Y.Z, e.g. v0.25.0) - hotpath-relay.yml pins

1. Cargo.toml files - exact version X.Y.Z

Update the version field in the [package] section of each crate:

  • crates/hotpath/Cargo.toml
  • crates/hotpath-macros/Cargo.toml
  • crates/hotpath-meta/Cargo.toml
  • crates/hotpath-macros-meta/Cargo.toml
  • crates/hotpath-drain/Cargo.toml
  • crates/hotpath-drain-meta/Cargo.toml

Update the version in the six [workspace.dependencies] entries in the root Cargo.toml:

hotpath-macros = { path = "./crates/hotpath-macros", version = "X.Y.Z" }
hotpath-drain = { path = "./crates/hotpath-drain", version = "X.Y.Z" }
hotpath = { path = "./crates/hotpath", version = "X.Y.Z" }
hotpath-meta = { path = "./crates/hotpath-meta", version = "X.Y.Z" }
hotpath-macros-meta = { path = "./crates/hotpath-macros-meta", version = "X.Y.Z" }
hotpath-drain-meta = { path = "./crates/hotpath-drain-meta", version = "X.Y.Z" }

All six crates always share the same version; never bump one without the others. This matters for the drain crates even when their code is unchanged: published hotpath-drain depends on hotpath-meta, so a drain left on an older release keeps pulling a stale hotpath-meta copy into downstream lockfiles (and splits meta profiling across two versions). All six are published together via just cargo-publish, which lists them in dependency order.

2. Other references - major.minor X.Y

  • ../hotpath-backend/src/config/middleware.rs (separate repo, sibling directory):

    ("{{HOTPATH_VERSION}}", "X.Y"),
    
  • skills/hotpath_init/SKILL.md - every version occurrence (hotpath = "X.Y", hotpath = { version = "X.Y", ... })

  • README.md - every version occurrence (cargo install hotpath --version '^X.Y', hotpath = "X.Y")

3. Relay release tag - vX.Y.Z

Adopters pin the reusable relay workflow to the release tag, so these point at the tag this release creates:

  • ../hotpath-backend/src/config/middleware.rs:

    ("{{HOTPATH_RELEASE_TAG}}", "vX.Y.Z"),
    
  • skills/hotpath_init_ci_forks/SKILL.md - every vX.Y.Z occurrence (the hotpath-relay.yml@vX.Y.Z pin and the pinning instructions)

  • .github/workflows/hotpath-relay.yml - the hotpath-relay.yml@vX.Y.Z pin in the usage comment at the top

Leave .github/workflows/cloud-random-benchmark-relay.yml on @main: it tests the relay on the default branch.

4. Verify

Search for stragglers with the old version, excluding lockfiles, target dirs, and third-party code:

rg -n 'OLD_X\.OLD_Y' Cargo.toml README.md skills/ crates/hotpath/Cargo.toml crates/hotpath-macros/Cargo.toml crates/hotpath-meta/Cargo.toml crates/hotpath-macros-meta/Cargo.toml crates/hotpath-drain/Cargo.toml crates/hotpath-drain-meta/Cargo.toml
rg -n 'OLD_X\.OLD_Y' ../hotpath-backend/src/config/middleware.rs .github/workflows/hotpath-relay.yml

Ignore matches that are not hotpath version references (other dependencies may coincidentally share the number). Then run cargo check so Cargo.lock picks up the new versions.

Rules

  • Do not commit; leave changes for the user to review.
  • Do not bump versions of test crates or any other dependency versions.

Version History

  • 9ce3284 Current 2026-10-18 15:35

Same Skill Collection

skills/hotpath_init_ci_forks/SKILL.md
skills/hotpath_init_ci/SKILL.md
skills/hotpath_init/SKILL.md
skills/syncmeta/SKILL.md
skills/hotpath_cloud/SKILL.md
skills/hotpath_init_grafana/SKILL.md

Metadata

Files
0
Version
9ce3284
Hash
0549ea10
Indexed
2026-10-18 15:35

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-19 11:12
浙ICP备14020137号-1