一键导入
version-bump
Prepare a new Xamal version locally — bump @version in mix.exs, roll the CHANGELOG.md
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Prepare a new Xamal version locally — bump @version in mix.exs, roll the CHANGELOG.md
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | version-bump |
| description | Prepare a new Xamal version locally — bump @version in mix.exs, roll the CHANGELOG.md |
| metadata | {"version":"1.0.0"} |
Prepare the repository for a new release locally. This skill never commits,
tags, pushes, or publishes — it only edits files and verifies them. Use the
release skill for the privileged steps (those need push rights / HEX_API_KEY).
0.3.3). If the user didn't give one, infer from the
unreleased changes and SemVer, then confirm:
0.3.2 → 0.3.3)0.3.2 → 0.4.0)0.3.2 → 1.0.0), or minor while 0.xmix.exs (@version "...").Confirm the repo is clean and current. Run git fetch and check the
working tree is clean and the local branch is not behind its remote. If the
remote has moved, stop and tell the user to integrate first — tagging a stale
commit is the failure mode this skill exists to prevent.
Bump @version in mix.exs. Change only the @version "..." attribute
(line ~4). Everything else (package(), docs(), source_ref) is derived
from it — do not touch those.
Roll the changelog. In CHANGELOG.md:
## [Unreleased] heading to ## [x.y.z].## [Unreleased] section above it (so contributors always
have a target for the next cycle).[x.y.z]: https://github.com/dmkenney/xamal/releases/tag/vx.y.z### Added/Changed/Fixed/Removed,
no dates). Do not switch formats.## [Unreleased] is empty, draft entries from
git log <prev-tag>..HEAD --oneline and the PR titles, then ask the user to
review them. Never invent user-facing notes for internal/CI-only commits
without flagging them.Verify the wiring is still correct (these are derived, not edited — confirm they didn't drift):
README.md install snippet uses a ~> constraint
(e.g. {:xamal, "~> 0.3", ...}). It should only change on a major/minor
boundary that moves the constraint, never on a patch. Leave it alone unless
the new version crosses that boundary.mix.exs docs() source_ref: "v#{@version}" and package() links still
point at the right places (they're derived — just sanity-check).Run mix ci. It must pass clean (credo, architecture policy, dialyzer 0
errors, all tests). If it fails, stop and report — do not proceed.
Report the two files changed (mix.exs, CHANGELOG.md), the version
delta, and the changelog section that will become the release notes. Then hand
off: tell the user the prep is done and the release skill (or a maintainer)
handles commit → push → tag → publish.
git commit, git tag, git push, or mix hex.publish.package()/docs() directly or add a maintainers: field
(Hex uses package owners via mix hex.owner, not the deprecated field).~> constraint on a patch release.