manuelmauro/algonaut/prepare-release
Claude Code and agent skill by manuelmauro/algonaut
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Checking that the SKILL.md file is still in the repository.
Prepare a new algonaut version release with changelog and workspace-wide version bumps
Install
npx vskill@latest install manuelmauro/algonaut/prepare-releaseSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Prepare Release
Steps to prepare a new algonaut release.
algonaut is a Cargo workspace of 13 crates (the root algonaut library plus 12 algonaut_* members) that are version-locked: they all share one version and ship together. A release therefore bumps every crate, not just one.
Checklist
make ciis green. It is fully offline — its cucumber/e2e stages are
compile-only (check-cucumber/check-e2e use cargo test --no-run), and lefthook runs the same make ci on every commit. The node-backed run suites (make cucumber, make test-e2e) are separate; run them against a live node (make sandbox or make harness) if you want that coverage too
cargo docbuilds (make doc— note it only warns; see Docs)- Bump the version across the whole workspace (all 13 crates + the
[workspace.dependencies] pins) — see Version Bump
- Run
cargo checkto confirm the bumped manifests resolve (Cargo.lockis
gitignored here, so it is not committed)
- Reconcile
## [Unreleased]against the git history since the last tag — add
any notable change that never got an entry (see Changelog)
- Promote
## [Unreleased]inCHANGELOG.mdto the new version - Update version references in
README.md(the "What's new since 0.4.2" list) - Commit the bump, changelog, and docs (stage with
git add -A) - Create the annotated
vX.Y.Ztag - Publish the crates to crates.io in dependency order
- Create the GitHub release for the tag (see GitHub Release)
Version Bump
The version lives in two places per release:
- the
[package] version = "X.Y.Z"of the rootalgonautand each of the 12
algonaut_* member crates, and
- the matching
version = "X.Y.Z"on each path dependency in the root
Cargo.toml [workspace.dependencies] table.
These crates do not use version.workspace = true, so all of these must move together. Do it in one shot with cargo-edit:
If cargo-edit isn't installed (cargo install cargo-edit), bump by hand: the root [package].version, the 12 entries in [workspace.dependencies], and each member crate's [package].version. Verify nothing was missed:
Then run cargo check to confirm every crate still resolves at the new version:
Cargo.lock is gitignored in this repo (line 4 of .gitignore), as is usual for a library workspace — cargo check regenerates it locally, but there is nothing to stage or commit for it.
Changelog
CHANGELOG.md follows Keep a Changelog and SemVer. New work accumulates under ## [Unreleased] as it lands.
First, reconcile `[Unreleased]` against the git history since the last tag. Entries are written incrementally per PR, so a change can land without one (or a bullet can describe a later feature as extending a base that was never itself recorded). Diff the two and fill any gap before promoting the header:
Watch especially for foundational entries: a bullet that says a feature "now also does X" implies an earlier entry introduced the feature — make sure that introduction is actually present, and lead the section with it.
Then promote the header — rename ## [Unreleased] to the version and date and open a fresh [Unreleased] above it:
Keep the existing house style: each bullet is a self-contained paragraph, prefix breaking changes with Breaking:, and reference the backing ADR (docs/adr/<slug>.md) or PR/issue number where there is one.
Docs
make doc is cargo doc --no-deps --open — it does not pass -D warnings, so it surfaces rustdoc lints (broken/private intra-doc links) as warnings without failing. A few such warnings are pre-existing and not release blockers; just make sure cargo doc builds (docs.rs needs that) and that the release didn't add new ones. To see them all, run RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --workspace.
Update Version References in Docs
The crates.io / docs.rs / license badges in README.md track the published version automatically — leave them alone. The thing to update by hand is the "What's new since 0.4.2" list: rename the trailing **unreleased** bullet to the new **X.Y** line (and add a fresh **unreleased** bullet if work has already started for the next cycle).
Sweep for any other hardcoded versions before committing:
There is no .github/SECURITY.md in this repo, so there is no supported-versions table to maintain.
Release Commands
Publishing to crates.io
All 13 crates are published together — the umbrella algonaut depends on the members by version, so every one must exist on the registry (see docs/adr/publish-entire-workspace.md). Publish leaf-first, so each crate's dependencies already exist on crates.io when it is published. The verified topological order is:
Dry-run a crate before publishing it:
Publish in order. cargo publish waits for the index to update, so the next crate can resolve the one before it:
cargo workspaces publish (from cargo-workspaces) automates this same ordered, version-locked publish if you prefer a single command.
GitHub Release
Every tag gets a matching GitHub release (gh release list shows the history). Match the established style — a short ## Highlights intro, ### Key Features and ### Breaking Changes bullet lists, and a link to the changelog section — and mark it latest:
The changelog link anchor is the header lowercased with brackets/dots/spaces stripped, e.g. [0.9.0] - 2026-06-11 → CHANGELOG.md#090---2026-06-11.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/prepare-release/SKILL.md
Popularity
- Repository stars
- 70
- Repository forks
- 37
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/manuelmauro/algonaut/prepare-release)