bump-release

安装量: 63
排名: #11966

安装

npx skills add https://github.com/paulrberg/agent-skills --skill bump-release
Bump Release
Support for both regular and beta releases.
Parameters
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)
Steps
Locate the package
- The user may be in a monorepo where the package to release lives in a subdirectory. Look for
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.
Update the
CHANGELOG.md
file with all changes since the last version release (
skip this step for beta releases
).
Bump the version in
package.json
:
Regular release
Follow semantic versioning (e.g., 1.2.3)
Beta release
Add
-beta.X
suffix (e.g., 1.2.3-beta.1)
Format files
- If a
justfile
exists in the repository, run
just full-write
to ensure
CHANGELOG.md
and
package.json
are properly formatted
Commit the changes with a message like "docs: release "
Create a new git tag by running
git tag -a v -m ""
Note
When
--dry-run
flag is provided, display what would be done without making any actual changes to files, creating commits, or tags.
Tasks
Process
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
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:
For regular releases
:
PATCH
(x.x.X) - Bug fixes, documentation updates
MINOR
(x.X.x) - New features, backward-compatible changes
MAJOR
(X.x.x) - Breaking changes
For beta releases
(
--beta
flag):
If current version has no beta suffix: Add
-beta.1
to the version
If current version already has beta suffix: Increment beta number (e.g.,
-beta.1
-beta.2
)
If moving from beta to release: Remove beta suffix and use the base version
Beta Release Logic
When
--beta
flag is provided in the $ARGUMENTS
Check for explicit version
- If
version
provided:
If version already has beta suffix → use as-is
If version has no beta suffix → append
-beta.1
Otherwise, parse current version
from
package.json
and
determine beta version
:
If current version is
1.2.3
Create
1.2.4-beta.1
(increment patch + beta.1)
If current version is
1.2.3-beta.1
Create
1.2.3-beta.2
(increment beta number)
If current version is
1.2.3-beta.5
Create 1.2.3-beta.6 (increment beta number) Skip CHANGELOG.md update - Beta releases don't update the changelog Commit and tag with beta version (e.g., v1.2.4-beta.1 ) Output 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. Inclusion Criteria For regular releases only (changelog generation is skipped for beta releases): Files field constraint - If 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 CHANGELOG Production changes only - When no files field exists, exclude test changes, CI/CD workflows, and development tooling Reference pull requests - Link to PRs when available for context Net changes only - Examine diffs between the current branch and the previous tag to identify changes Only dependencies and peerDependencies changes - Exclude changes to devDependencies Examples Regular Release

Create a regular patch/minor/major release

/bump-release

Preview what a regular release would do

/bump-release --dry-run Beta Release

Create a beta release with -beta.X suffix

/bump-release --beta

Preview what a beta release would do

/bump-release --beta --dry-run Explicit Version

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 Version Examples 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 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 Resources references/common-changelog.md — Common Changelog format and writing guidelines

返回排行榜