Learn-skills.dev release
Guide for releasing a new version of the project, including version bumping, changelog updates, and tagging.
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/agentty-xyz/agentty/release" ~/.claude/skills/neversight-learn-skills-dev-release && rm -rf "$T"
manifest:
data/skills-md/agentty-xyz/agentty/release/SKILL.mdsource content
Release Workflow
This skill guides you through the process of releasing a new version of the project.
Workflow
-
Preparation
- Ensure the git working directory is clean:
.git status - Pull the latest changes:
.git pull origin main
- Ensure the git working directory is clean:
-
Version Selection
- Always ask the user which version bump to apply:
,major
, orminor
.patch - Do not update versions until the user confirms one of these options.
- Always ask the user which version bump to apply:
-
Version Bump
- Update the
field in the rootversion
.Cargo.toml - Verify
is updated (e.g., runCargo.lock
to trigger update).cargo check
- Update the
-
Verification
- Run tests:
.cargo test -q
- Run tests:
-
Documentation Review
- Check if agent models, keybindings, or session states changed since the last release:
git diff <previous_tag>..HEAD -- crates/agentty/src/domain/agent.rs crates/agentty/src/domain/session.rs crates/agentty/src/ui/state/help_action.rs - If any of those files changed, verify the corresponding doc pages are up to date:
— agent backends and models.docs/site/content/docs/agents/backends.md
— session lifecycle and workflow.docs/site/content/docs/usage/workflow.md
— keybindings.docs/site/content/docs/usage/keybindings.md
- Run
to verify no broken internal links.zola check --root docs/site
- Check if agent models, keybindings, or session states changed since the last release:
-
Changelog
- Update
.CHANGELOG.md - Ensure there is an entry for the new version with the current date:
.## [vX.Y.Z] - YYYY-MM-DD - Ensure content adheres to Keep a Changelog.
- Add a
section under the new release entry with a bullet list of GitHub usernames (example:### Contributors
).- @minev-dev - Build the contributor list from commits since the previous tag and deduplicate names.
- Update
-
Contributors
- Generate the contributor username list from commit emails between tags:
git log <previous_tag>..HEAD --format='%ae' | sed -nE 's/.*\\+([^@]+)@users\\.noreply\\.github\\.com/\\1/p' | sort -u | sed 's/^/- @/' - If a contributor does not use a GitHub noreply email, map them manually to their GitHub username.
- Generate the contributor username list from commit emails between tags:
-
Commit
- Stage changes:
.git add Cargo.toml Cargo.lock CHANGELOG.md - Commit with message:
.git commit -m "Release vX.Y.Z"
- Stage changes:
-
Tagging
- Create a git tag with the 'v' prefix:
.git tag vX.Y.Z - Important: The release workflow depends on the
prefix (e.g.,v
).v0.1.4
- Create a git tag with the 'v' prefix:
-
Push
- Push the commit:
.git push origin main - Push the tag:
.git push origin vX.Y.Z
- Push the commit:
-
Completion
- The GitHub Actions workflow will automatically create the release and publish artifacts.