install
source · Clone the upstream repo
git clone https://github.com/dyoshikawa/rulesync
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/dyoshikawa/rulesync "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.rulesync/skills/draft-release" ~/.claude/skills/dyoshikawa-rulesync-draft-release && rm -rf "$T"
manifest:
.rulesync/skills/draft-release/SKILL.mdsource content
First, let's work on the following steps.
- Confirm that you are currently on the main branch and pull the latest changes. If not on main branch, switch to main branch.
- Compare code changes between the previous version tag and the latest commit to prepare the release description.
- Write in English.
- Do not include confidential information.
- Sections,
,What's Changed
andContributors
are needed.Full Changelog
will be used as the release notes../tmp/release-notes/*.md
Then, from $ARGUMENTS, get the new version without v prefix, and assign it to $new_version. For example, if $ARGUMENTS is "v1.0.0", the new version is "1.0.0".
If $ARGUMENTS is empty, determine the new version automatically by performing the
release-dry-run skill.
Let's resume the release process.
- Run
.git pull - Run
.git checkout -b release/v${new_version} - Update
function to return the ${new_version} ingetVersion()
, and runsrc/cli/index.ts
. If the checks fail, fix the code until pass. Then, executepnpm cicheck
,git add
andgit commit
.git push - Update the version with
.pnpm version ${new_version} --no-git-tag-version - Since
will be modified, executepackage.json
andgit commit
.git push - As a precaution, verify that
ingetVersion()
is updated to the ${new_version}.src/cli/index.ts - Run
to the main branch.gh pr create - Create a draft release using
command on thegh release create v${new_version} --draft --title v${new_version} --notes-file ./tmp/release-notes/*.md
repository. This creates a draft release so that the publish-assets workflow can upload assets later.github.com/dyoshikawa/rulesync