بنقرة واحدة
publish
Publish Unity plugin to GitHub/OpenUPM. Use when the user wants to release a new version.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Publish Unity plugin to GitHub/OpenUPM. Use when the user wants to release a new version.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | publish |
| description | Publish Unity plugin to GitHub/OpenUPM. Use when the user wants to release a new version. |
| disable-model-invocation | true |
| argument-hint | [version, e.g. 1.6.11] |
| shell | bash |
!git status --short
!git branch --show-current
!git log --oneline -5
!git tag --sort=-v:refname | head -5
If a version was provided as argument ($ARGUMENTS), use that. If no version was provided (argument is empty), determine the latest tag from the pre-flight output above, parse its major.minor.patch components, and suggest the next possible versions:
Present these options and ask the user to pick one (or type a custom version). Wait for their response before proceeding.
Once the version is determined (referred to as VERSION below), proceed with the publish steps.
main, stop immediately and warn the user:
git checkout main)git fetch origin main then compare HEAD against origin/main. If local main is behind or ahead of remote, warn the user and suggest git pull origin main. Do NOT proceed until HEAD is in sync with origin/main.A Unity plugin release may include artifacts from two upstream repos. Ask the user whether either has changes that need building before this release:
C++ core (balancy_cpp) → native binaries in Plugins/:
Plugins/Android/{arm64-v8a,armeabi-v7a,x86_64}/libBalancyCore.soPlugins/WebGL/libBalancyCore.aPlugins/Windows/x86_64/libBalancyCore.dllPlugins/iOS/libBalancyCore.aPlugins/macOS/libBalancyCore.dylibIf the C++ core has changes, the user needs to build it first (e.g., build_unity_all_platforms.sh or individual platform scripts in balancy_cpp). The build scripts copy the binaries here automatically.
TypeScript plugin (plugin_cpp_typescript) → WebView resources in WebView/Resources/:
balancy-webview-bridge.txtWebGL/balancy-webview.umd.js and .map.txt files (shell, css-animations, js-animations, performance, styles)If the TypeScript plugin has changes, the user needs to build it first (npm run build in plugin_cpp_typescript). The build copies these files here automatically.
Ask the user: "Do the C++ core or TypeScript plugin have changes that need building for this release, or is this a version-only bump?" Not every release updates these — some are package.json-only bumps (e.g., v1.6.6, v1.6.8 were version-only). Once the user confirms, proceed.
Update the version in package.json:
# Update "version": "..." in package.json to VERSION
Use the Edit tool to change the version field. Then check for all changed files:
git diff --stat
git status --short
Stage package.json plus any updated release artifacts (native binaries, WebView resources). Do NOT stage .meta files unless they correspond to newly added files.
git add package.json <any-changed-artifacts>
git commit -m "VERSION"
The commit message should be just the version number (e.g., 1.6.11), matching previous release commits like 1.6.10, 1.6.9, etc.
Create and push the version tag. Ask the user for confirmation before pushing.
git tag vVERSION
git push origin main
git push origin vVERSION
This triggers the CI workflow (.github/workflows/release.yml) which:
OpenUPM watches for new tags and automatically publishes the package.
After pushing:
gh run list --limit 1
curl -s https://package.openupm.com/co.balancy.unity | jq '."dist-tags".latest'
If the returned version matches VERSION, the publish is fully complete. OpenUPM typically picks up new tags within a few hours, so if it's not there yet, inform the user and offer to check again later.Clients who installed via Git URL will need to click Update in Unity Package Manager, or re-add the package URL to get the new version.
Report the result to the user.
balancy-webview-bridge.txt) must come from a completed TypeScript plugin build. Always verify it's current before releasing..github/workflows/release.yml still uses a placeholder name (com.yourcompany.yourpackage). This doesn't affect functionality but could be updated to co.balancy.unity for clarity.