一键导入
pdk-release
Release echo-pdk packages to npm. Bumps versions, creates tags, triggers GitHub Actions, and verifies frontend consumption.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Release echo-pdk packages to npm. Bumps versions, creates tags, triggers GitHub Actions, and verifies frontend consumption.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | pdk-release |
| description | Release echo-pdk packages to npm. Bumps versions, creates tags, triggers GitHub Actions, and verifies frontend consumption. |
| allowed-tools | Bash, Read, Edit |
Automates the full release process for echo-pdk packages including npm publish via GitHub Actions.
/pdk-release core minor # Release core package with minor bump
/pdk-release cli patch # Release CLI package with patch bump
/pdk-release core,cli minor # Release multiple packages
/pdk-release all patch # Release all packages
core, cli, language, or all (comma-separated for multiple)patch, minor, or majorcd /Users/yoadelkayam/github/PDK/echo-pdk
# Verify clean working directory
git status -sb
# Ensure on main and up-to-date
git checkout main
git pull origin main
# Run tests
pnpm test
# Build all packages
pnpm build
If tests fail, STOP and report the failure.
Read current versions from package.json files:
# Core package
cat packages/core/package.json | grep '"version"'
# CLI package
cat packages/cli/package.json | grep '"version"'
# Language package
cat packages/language/package.json | grep '"version"'
Calculate new versions based on bump type and update package.json files.
Version bump rules:
patch: 0.5.1 → 0.5.2minor: 0.5.1 → 0.6.0major: 0.5.1 → 1.0.0Edit the "version" field in each package.json being released.
Get commits since last tag:
# For core package
git log $(git tag -l 'core-v*' --sort=-v:refname | head -1)..HEAD --oneline -- packages/core/
# For CLI package
git log $(git tag -l 'cli-v*' --sort=-v:refname | head -1)..HEAD --oneline -- packages/cli/
# For language package
git log $(git tag -l 'language-v*' --sort=-v:refname | head -1)..HEAD --oneline -- packages/language/
Stage and commit all changes:
git add packages/*/package.json
git commit -m "chore: release @goreal-ai/echo-pdk v{CORE_VERSION}, @goreal-ai/echo-pdk-cli v{CLI_VERSION}
Co-Authored-By: Claude <noreply@anthropic.com>"
Create annotated tags for each package being released:
# For core
git tag -a core-v{VERSION} -m "Release @goreal-ai/echo-pdk v{VERSION}"
# For CLI
git tag -a cli-v{VERSION} -m "Release @goreal-ai/echo-pdk-cli v{VERSION}"
# For language
git tag -a language-v{VERSION} -m "Release @goreal-ai/echo-pdk-language v{VERSION}"
git push origin main
git push --tags
This triggers the npm publish workflow.
# For core package
gh release create core-v{VERSION} \
--title "@goreal-ai/echo-pdk v{VERSION}" \
--notes "## Changes
{CHANGELOG_CONTENT}
## Breaking Changes
None"
# For CLI package
gh release create cli-v{VERSION} \
--title "@goreal-ai/echo-pdk-cli v{VERSION}" \
--notes "## Changes
- Updated to use @goreal-ai/echo-pdk v{CORE_VERSION}"
# For language package
gh release create language-v{VERSION} \
--title "@goreal-ai/echo-pdk-language v{VERSION}" \
--notes "## Changes
{CHANGELOG_CONTENT}"
Wait for workflows to complete:
# Check workflow status
gh run list --limit 5
# Watch specific run
gh run watch {RUN_ID}
All workflows should show completed with success status.
# Check npm for new versions
npm view @goreal-ai/echo-pdk version
npm view @goreal-ai/echo-pdk-cli version
npm view @goreal-ai/echo-pdk-language version
Verify gra-echostash-fe is using the correct version:
# Check current version in frontend
cat /Users/yoadelkayam/github/Echostash/gra-echostash-fe/package.json | grep "@goreal-ai/echo-pdk"
If frontend needs update:
cd /Users/yoadelkayam/github/Echostash/gra-echostash-fe
# Update to new version
pnpm update @goreal-ai/echo-pdk@{NEW_VERSION}
# Verify update
cat package.json | grep "@goreal-ai/echo-pdk"
# Run frontend build to verify compatibility
pnpm build
Report whether frontend update is needed and its status.
After completing, report:
| Package | Old Version | New Version | npm Status | GitHub Release |
|---|---|---|---|---|
| core | x.x.x | y.y.y | ✅/❌ | URL |
| cli | x.x.x | y.y.y | ✅/❌ | URL |
| language | x.x.x | y.y.y | ✅/❌ | URL |
Frontend Status:
If release fails:
# Delete local tags
git tag -d core-v{VERSION}
git tag -d cli-v{VERSION}
# Delete remote tags
git push --delete origin core-v{VERSION}
git push --delete origin cli-v{VERSION}
# Reset commit
git reset --hard HEAD~1
git push --force-with-lease
# Delete GitHub releases
gh release delete core-v{VERSION} --yes
gh release delete cli-v{VERSION} --yes