Use this skill to publish a RustFS release (alpha, beta, or stable) with a minimal, auditable diff and a complete ship flow (edit -> verify -> commit -> push -> PR).
Validated baseline: release pattern used in PR #2957.
Required inputs
Exact target version, for example 1.0.0-beta.4.
Delivery scope:
Local only (edit/verify).
Local + git (commit/push).
Full GitHub flow (commit/push/PR).
If target version is missing or ambiguous, stop and ask before editing.
Read before editing
AGENTS.md (root and nearest path-specific files).
.github/pull_request_template.md.
Current branch status and diff against origin/main.
Default release file scope
Treat the following file list as the default checklist for each release bump:
Cargo.toml
Cargo.lock
README.md
README_ZH.md
flake.nix
helm/rustfs/Chart.yaml
rustfs.spec
Only drop a file when the current repository release process clearly no longer requires it.
Hard release policy
Docker doc tags use <version> (for example rustfs/rustfs:1.0.0-beta.4), not v<version>.
Helm chart version mapping follows beta.N -> 0.N.0.
rustfs.specRelease uses prerelease suffix only (for example beta.4).
Do not change these rules without explicit confirmation.
Step-by-step workflow
Confirm intent and isolate scope
Confirm target version string exactly.
Confirm whether user requested local-only or full GitHub flow.
Inspect current branch and ensure only release-related files are touched for this task.
Update workspace versions
Bump [workspace.package].version in Cargo.toml.
Bump internal workspace crate dependency versions in Cargo.toml.
Update Cargo.lock so workspace package versions match target version.
Re-scan for partial leftovers.
Update release assets
README.md and README_ZH.md: update versioned Docker examples to target version.
flake.nix: update package version to target version.
helm/rustfs/Chart.yaml:
appVersion = target version.
version follows chart mapping rule, for example:
1.0.0-beta.3 -> 0.3.0
1.0.0-beta.4 -> 0.4.0
rustfs.spec:
Set Release to prerelease suffix (example beta.4).
Add/update top changelog entry with exact format:
* Thu May 20 2026 houseme <housemecn@gmail.com>
- Update RPM package to RustFS 1.0.0-beta.4
Changelog identity and time must come from current environment:
git config --get user.name
git config --get user.email
date '+%a %b %d %Y'
Changelog version text must match target release version exactly.
Verify before shipping
Run:
cargo fmt --all
cargo fmt --all --check
make pre-commit
If verification passes, run cargo clean.
If make pre-commit fails, return BLOCKED with root cause and do not silently widen scope to fix unrelated issues unless user asks.
Commit strategy
Preferred split when both parts changed:
chore(release): prepare <version> for Cargo.toml and Cargo.lock.
chore(release): align release assets for <version> for docs and packaging files.
If user asks for one commit, use one commit.
Stage only intended release files; do not include unrelated working tree changes.
1---2name: rustfs-rustfs-rustfs3description: RustFS Release Version Bump4---5# RustFS Release Version Bump67Use this skill to publish a RustFS release (alpha, beta, or stable) with a minimal, auditable diff and a complete ship flow (`edit -> verify -> commit -> push -> PR`).89Validated baseline: release pattern used in PR `#2957`.1011## Required inputs1213- Exact target version, for example `1.0.0-beta.4`.14- Delivery scope:15- Local only (`edit/verify`).16- Local + git (`commit/push`).17- Full GitHub flow (`commit/push/PR`).1819If target version is missing or ambiguous, stop and ask before editing.2021## Read before editing2223- `AGENTS.md` (root and nearest path-specific files).24- `.github/pull_request_template.md`.25- Current branch status and diff against `origin/main`.2627## Default release file scope2829Treat the following file list as the default checklist for each release bump:3031- `Cargo.toml`32- `Cargo.lock`33- `README.md`34- `README_ZH.md`35- `flake.nix`36- `helm/rustfs/Chart.yaml`37- `rustfs.spec`3839Only drop a file when the current repository release process clearly no longer requires it.4041## Hard release policy4243- Docker doc tags use `<version>` (for example `rustfs/rustfs:1.0.0-beta.4`), not `v<version>`.44- Helm chart version mapping follows `beta.N -> 0.N.0`.45- `rustfs.spec` `Release` uses prerelease suffix only (for example `beta.4`).46- Do not change these rules without explicit confirmation.4748## Step-by-step workflow49501. Confirm intent and isolate scope51- Confirm target version string exactly.52- Confirm whether user requested local-only or full GitHub flow.53- Inspect current branch and ensure only release-related files are touched for this task.54552. Update workspace versions56- Bump `[workspace.package].version` in `Cargo.toml`.57- Bump internal workspace crate dependency versions in `Cargo.toml`.58- Update `Cargo.lock` so workspace package versions match target version.59- Re-scan for partial leftovers.60613. Update release assets62- `README.md` and `README_ZH.md`: update versioned Docker examples to target version.63- `flake.nix`: update package version to target version.64- `helm/rustfs/Chart.yaml`:65- `appVersion` = target version.66- `version` follows chart mapping rule, for example:67- `1.0.0-beta.3` -> `0.3.0`68- `1.0.0-beta.4` -> `0.4.0`69- `rustfs.spec`:70- Set `Release` to prerelease suffix (example `beta.4`).71- Add/update top changelog entry with exact format:72- `* Thu May 20 2026 houseme <housemecn@gmail.com>`73- `- Update RPM package to RustFS 1.0.0-beta.4`74- Changelog identity and time must come from current environment:75- `git config --get user.name`76- `git config --get user.email`77- `date '+%a %b %d %Y'`78- Changelog version text must match target release version exactly.79804. Verify before shipping81- Run:82- `cargo fmt --all`83- `cargo fmt --all --check`84- `make pre-commit`85- If verification passes, run `cargo clean`.86- If `make pre-commit` fails, return `BLOCKED` with root cause and do not silently widen scope to fix unrelated issues unless user asks.87885. Commit strategy89- Preferred split when both parts changed:90- `chore(release): prepare <version>` for `Cargo.toml` and `Cargo.lock`.91- `chore(release): align release assets for <version>` for docs and packaging files.92- If user asks for one commit, use one commit.93- Stage only intended release files; do not include unrelated working tree changes.94956. Push and PR96- Push branch:97- `git push -u origin <branch>` (first push), or `git push` (tracking already exists).98- Create PR with template headings unchanged:99- `gh pr create --base main --head <branch> --title ... --body-file ...`100- PR title/body must be English.101- Use `N/A` for non-applicable template sections.102- Include verification commands and any `BLOCKED` reason clearly.103104## Recommended check commands105106- `git status --short --branch`107- `git diff --name-only origin/main...HEAD`108- `git diff --stat origin/main...HEAD`109- `rg -n "<old_version>|<new_version>" Cargo.toml Cargo.lock README.md README_ZH.md flake.nix helm/rustfs/Chart.yaml rustfs.spec`110- `cargo fmt --all`111- `cargo fmt --all --check`112- `make pre-commit`113- `cargo clean`114115## Output contract116117When using this skill, always report:118119- Target version.120- Files changed.121- Any assumptions or uncertainties requiring confirmation.122- Verification result (`PASSED` or `BLOCKED`) with key evidence.123- Commit message(s) used.124- Push status and PR URL when GitHub flow is requested.125126---127> Source: [rustfs/rustfs](https://github.com/rustfs/rustfs) — distributed by [TomeVault](https://tomevault.io).128<!-- tomevault:4.0:skill_md:2026-06-25 -->
Run npx skillmds@latest add tomevault-io/rustfs-rustfs-rustfs in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
RustFS Release Version Bump It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.