release | Skill Performance & Reviews | TopRankSkills

TopRank Skills

Home / Skills / tools / release

release

maintained by ceedaragents

star 310 account_tree 51 verified_user MIT License
bolt View GitHub

name: release description: Run a Cyrus release by publishing all packages to npm in the correct dependency order, updating changelogs, and creating git tags.

Release

Publish Cyrus packages to npm and create a release.

Pre-Publishing Checklist

  1. Update CHANGELOG.md and CHANGELOG.internal.md:

    • Move items from ## [Unreleased] to a new versioned section in both files
    • Use the CLI version number (e.g., ## [0.1.22] - 2025-01-06)
    • CHANGELOG.md: Focus on end-user impact from the perspective of the cyrus CLI
    • CHANGELOG.internal.md: Internal development changes, refactors, and tooling updates
  2. Check Linear Issues:

    • Review all Linear issues mentioned in the Unreleased changelog
    • These will be moved from 'MergedUnreleased' to 'ReleasedMonitoring' after release
  3. Commit all changes:

    git add -A
    git commit -m "Prepare release v0.1.XX"
    git push
    

Publishing Workflow

1. Install dependencies from root

pnpm install  # Ensures all workspace dependencies are up to date

2. Build all packages from root first

pnpm build  # Builds all packages to ensure dependencies are resolved

3. Publish packages in dependency order

IMPORTANT: Publish in this exact order to avoid dependency resolution issues:

# 1. Packages with no internal dependencies
cd packages/cloudflare-tunnel-client && pnpm publish --access public --no-git-checks
cd ../..
pnpm install  # Update lockfile

cd packages/claude-runner && pnpm publish --access public --no-git-checks
cd ../..
pnpm install  # Update lockfile

# 2. Core package (depends on claude-runner)
cd packages/core && pnpm publish --access public --no-git-checks
cd ../..
pnpm install  # Update lockfile

# 3. Simple agent runner (depends on claude-runner)
cd packages/simple-agent-runner && pnpm publish --access public --no-git-checks
cd ../..
pnpm install  # Update lockfile

# 4. Packages that depend on core
cd packages/linear-event-transport && pnpm publish --access public --no-git-checks
cd ../..
pnpm install  # Update lockfile

cd packages/config-updater && pnpm publish --access public --no-git-checks
cd ../..
pnpm install  # Update lockfile

# 5. Gemini runner (depends on claude-runner, core, simple-agent-runner)
cd packages/gemini-runner && pnpm publish --access public --no-git-checks
cd ../..
pnpm install  # Update lockfile

# 6. Edge worker (depends on all packages above)
cd packages/edge-worker && pnpm publish --access public --no-git-checks
cd ../..
pnpm install  # Update lockfile

4. Publish the CLI

pnpm install  # Final install to ensure all deps are latest
cd apps/cli && pnpm publish --access public --no-git-checks
cd ../..

5. Create git tag and push

git tag v0.1.XX
git push origin <branch-name>
git push origin v0.1.XX

6. Create GitHub Release

Create a GitHub release using the changelog notes as the content:

gh release create v0.1.XX --title "v0.1.XX" --notes-file - << 'EOF'
<paste the changelog notes for this version here>
EOF

Or interactively:

gh release create v0.1.XX --title "v0.1.XX" --notes "$(cat CHANGELOG.md | sed -n '/## \[0.1.XX\]/,/## \[/p' | head -n -1)"

7. Update Linear Issues

After a successful release, move each Linear issue mentioned in the changelog from 'MergedUnreleased' (Done) status to 'ReleasedMonitoring' (also Done) status.

8. Create Pull Request

IMPORTANT: Always create a PR to merge the release changes back to main:

gh pr create --title "Release v0.1.XX" --body "$(cat <<'EOF'
## Summary
- Release v0.1.XX to npm
- Update changelogs
- Create git tag

## Changes
- CHANGELOG.md updated with v0.1.XX release notes
- CHANGELOG.internal.md updated
- Package versions bumped to 0.1.XX

## Links
- [GitHub Release](https://github.com/ceedaragents/cyrus/releases/tag/v0.1.XX)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"

Key Notes

  • Always use --no-git-checks flag to publish from feature branches
  • Run pnpm install after each publish to update the lockfile
  • The simple-agent-runner package MUST be published before edge-worker
  • Build all packages once at the start, then publish without rebuilding
  • This ensures workspace:* references resolve to published versions

Examples

  • "release" - Run the full release process
  • "/release" - Invoke the release skill

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!

Skill Details

GitHub Stars 310
GitHub Forks 51
Created Jan 2026
Last Updated 6个月前
tools tools package distribution

Related Skills

managing-dependencies
chevron_right
installing-npm-packages
chevron_right
docker
chevron_right
latest-version
chevron_right
metool
chevron_right

Build your own?

Join 12,000+ developers contributing to the Claude ecosystem.