金色时刻 · 15:48
让好资源,触手可及
AGENT SKILL

release

release 是面向软件开发的 Agent Skill,来自 ceedaragents/cyrus。查看技能说明、操作步骤与使用约定,并通过原项目了解详细用法。

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

SKILL.md

下载 MD ↓
namerelease
descriptionRun 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: bash 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

来源:ceedaragents/cyrus · Apache-2.0 许可 · 许可原文 · MD 为来源页保存的历史版本