bump-release by paulrberg/agent-skills
npx skills add https://github.com/paulrberg/agent-skills --skill bump-release支持常规版本和 Beta 版本的发布。
version: 可选,指定要使用的明确版本号(例如 2.0.0)。如果提供,则跳过自动版本推断--beta: 创建带有 -beta.X 后缀的 Beta 版本--dry-run: 预览发布操作,而不进行任何实际更改(不修改文件、不提交、不打标签)package.json;如果未找到,则询问要发布哪个包。所有文件路径(CHANGELOG.md、package.json、)都相对于包目录。广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
justfileCHANGELOG.md 文件(对于 Beta 版本,跳过此步骤)。package.json 中的版本号:
-beta.X 后缀(例如 1.2.3-beta.1)justfile,则运行 just full-write 以确保 CHANGELOG.md 和 package.json 格式正确git tag -a v<version> -m "<version>" 创建一个新的 git 标签注意 : 当提供 --dry-run 标志时,仅显示将要执行的操作,而不实际修改文件、创建提交或标签。
检查参数 - 确定是否提供了 version 参数,是否为 Beta 发布(--beta),和/或是否为试运行(--dry-run)
检查工作树是否干净 - 运行 git status --porcelain 以确认没有与此发布无关的未提交更改。如果有,则在继续之前运行 commit 技能来提交它们
编写更新日志 - 检查当前分支与上一个标签之间的差异以编写更新日志。然后通过查看提交历史记录查找相关的 PR,并将它们添加到每个更新日志条目中(如果有的话)。如果 package.json 包含 files 字段,则仅包含这些指定文件/目录内的更改。如果不存在 files 字段,则包含除测试更改、CI/CD 工作流和开发工具之外的所有更改
遵循格式 - 参考 references/common-changelog.md 了解通用更新日志规范
检查版本 - 从 package.json 获取当前版本
提升版本 - 如果提供了 version 参数,则直接使用它。否则,如果自上次发布以来有更改,则根据语义化版本控制规则递增:
--beta 标志):
-beta.1-beta.1 → -beta.2)确认版本 - 当版本是推断出来的(没有明确的 version 参数)时,在继续之前使用 AskUserQuestion 进行确认:
<当前版本> → <推断版本>?"如果用户选择了替代选项,则在后续步骤中使用该版本。当 --dry-run 处于活动状态时跳过此步骤(改为在预览中显示推断的版本)
当在 $ARGUMENTS 中提供了 --beta 标志时
version:
-beta.1package.json 解析当前版本 并 确定 beta 版本:
1.2.3: 创建 1.2.4-beta.1(递增补丁版本 + beta.1)1.2.3-beta.1: 创建 1.2.3-beta.2(递增 beta 编号)1.2.3-beta.5: 创建 1.2.3-beta.6(递增 beta 编号)CHANGELOG.md 更新 - Beta 发布不更新更新日志v1.2.4-beta.1)仅针对常规发布,按照 references/common-changelog.md 中的格式和编写指南,在 CHANGELOG.md 中生成更新日志条目。使用 Changed、Added、Removed、Fixed 类别(按此顺序)。每个条目必须以祈使语气的一般现在时动词开头。
仅针对常规发布(Beta 发布跳过更新日志生成):
package.json 包含 files 字段,则仅包含该数组中指定的文件/目录的更改。所有其他代码库更改应排除在更新日志之外files 字段时,排除测试更改、CI/CD 工作流和开发工具# 创建常规的补丁/次版本/主版本发布
/bump-release
# 预览常规发布将执行的操作
/bump-release --dry-run
# 创建带有 -beta.X 后缀的 Beta 版本
/bump-release --beta
# 预览 Beta 发布将执行的操作
/bump-release --beta --dry-run
# 指定确切的版本号
/bump-release 2.0.0
# 指定确切的 Beta 版本号
/bump-release 2.0.0-beta.1
# 与标志结合使用
/bump-release 2.0.0 --dry-run
| 当前版本 | 发布类型 | 新版本 |
|---|---|---|
1.2.3 | 常规 | 1.2.4 (补丁) |
1.2.3 | Beta | 1.2.4-beta.1 |
1.2.3-beta.1 | Beta | 1.2.3-beta.2 |
1.2.3-beta.5 | 常规 | 1.2.3 |
1.2.3 | 2.0.0 | 2.0.0 |
1.2.3 | 2.0.0 + Beta | 2.0.0-beta.1 |
references/common-changelog.md — 通用更新日志格式和编写指南每周安装量
109
代码仓库
GitHub 星标数
41
首次出现
2026年2月5日
安全审计
安装于
claude-code104
codex91
opencode87
gemini-cli87
github-copilot87
amp87
Support for both regular and beta releases.
version: Optional explicit version to use (e.g., 2.0.0). When provided, skips automatic version inference--beta: Create a beta release with -beta.X suffix--dry-run: Preview the release without making any changes (no file modifications, commits, or tags)package.json in the current working directory first; if not found, ask which package to release. All file paths (CHANGELOG.md, package.json, justfile) are relative to the package directory.CHANGELOG.md file with all changes since the last version release (skip this step for beta releases).package.json:
-beta.X suffix (e.g., 1.2.3-beta.1)justfile exists in the repository, run just full-write to ensure CHANGELOG.md and package.json are properly formattedgit tag -a v<version> -m "<version>"Note : When --dry-run flag is provided, display what would be done without making any actual changes to files, creating commits, or tags.
Check for arguments - Determine if version was provided, if this is a beta release (--beta), and/or dry-run (--dry-run)
Check for clean working tree - Run git status --porcelain to verify there are no uncommitted changes unrelated to this release. If there are, run the commit skill to commit them before proceeding
Write Changelog - Examine diffs between the current branch and the previous tag to write Changelog. Then find relevant PRs by looking at the commit history and add them to each changelog (when available). If package.json contains a files field, only include changes within those specified files/directories. If no files field exists, include all changes except test changes, CI/CD workflows, and development tooling
If the user picks an alternative, use that version for the remaining steps. Skip this step when --dry-run is active (show the inferred version in the preview instead)
When --beta flag is provided in the $ARGUMENTS
version provided:
-beta.1package.json and determine beta version :
1.2.3: Create 1.2.4-beta.1 (increment patch + beta.1)1.2.3-beta.1: Create 1.2.3-beta.2 (increment beta number)1.2.3-beta.5: Create (increment beta number)For regular releases only, generate changelog entries in CHANGELOG.md following the format and writing guidelines in references/common-changelog.md. Use the Changed, Added, Removed, Fixed categories (in that order). Every entry must begin with a present-tense verb in imperative mood.
For regular releases only (changelog generation is skipped for beta releases):
package.json contains a files field, only include changes to files/directories specified in that array. All other codebase changes should be excluded from the CHANGELOGfiles field exists, exclude test changes, CI/CD workflows, and development tooling# Create a regular patch/minor/major release
/bump-release
# Preview what a regular release would do
/bump-release --dry-run
# Create a beta release with -beta.X suffix
/bump-release --beta
# Preview what a beta release would do
/bump-release --beta --dry-run
# Specify exact version
/bump-release 2.0.0
# Specify exact beta version
/bump-release 2.0.0-beta.1
# Combine with flags
/bump-release 2.0.0 --dry-run
| Current Version | Release Type | New Version |
|---|---|---|
1.2.3 | Regular | 1.2.4 (patch) |
1.2.3 | Beta | 1.2.4-beta.1 |
1.2.3-beta.1 | Beta | 1.2.3-beta.2 |
1.2.3-beta.5 |
references/common-changelog.md — Common Changelog format and writing guidelinesWeekly Installs
109
Repository
GitHub Stars
41
First Seen
Feb 5, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
claude-code104
codex91
opencode87
gemini-cli87
github-copilot87
amp87
Follow format - Consult references/common-changelog.md for the Common Changelog specification
Check version - Get current version from package.json
Bump version - If version argument provided, use it directly. Otherwise, if unchanged since last release, increment per Semantic Versioning rules:
--beta flag):
-beta.1 to the version-beta.1 → -beta.2)Confirm version - When the version was inferred (no explicit version argument), use AskUserQuestion to confirm before proceeding:
<current> → <inferred>?"1.2.3-beta.6v1.2.4-beta.1)| Regular |
1.2.3 |
1.2.3 | 2.0.0 | 2.0.0 |
1.2.3 | 2.0.0 + Beta | 2.0.0-beta.1 |