بنقرة واحدة
uncommonroute-release
// Use when publishing UncommonRoute. A release is only complete after all required steps are done: version sync, validation, GitHub push/tag/release, PyPI publish, and npm publish.
// Use when publishing UncommonRoute. A release is only complete after all required steps are done: version sync, validation, GitHub push/tag/release, PyPI publish, and npm publish.
| name | uncommonroute-release |
| description | Use when publishing UncommonRoute. A release is only complete after all required steps are done: version sync, validation, GitHub push/tag/release, PyPI publish, and npm publish. |
Use this skill when the user asks to release, publish, cut a version, or ship UncommonRoute.
A release is not done until all of these succeed:
If any one of those is missing, the release is incomplete.
git status --short first.Use the bundled script to update every tracked version string together:
python3 .codex/skills/uncommonroute-release/scripts/sync_version.py <version>
This script updates:
pyproject.tomluncommon_route/cli.pyuncommon_route/proxy.pyuncommon_route/support.pyopenclaw-plugin/package.jsonopenclaw-plugin/src/index.jsRun the repo test suite and package checks before publishing:
PYTHONPATH=. python3 -m pytest tests -q
python3 -m build
python3 -m twine check dist/*
cd openclaw-plugin && npm pack --dry-run
Use a fresh build output. Do not upload stale artifacts from a previous version.
After validation passes:
v<version>main and the tagTypical commands:
git tag v<version>
git push origin main --follow-tags
gh release create v<version> dist/*.whl dist/*.tar.gz --title "v<version>" --notes "<notes>"
TWINE_USERNAME=__token__ TWINE_PASSWORD="$TWINE_PASSWORD" python3 -m twine upload dist/*
cd openclaw-plugin && npm publish --access public
Check all three public destinations after publish:
Report the exact released version and any remaining caveats.