원클릭으로
release
// Run the autonomous release procedure: infer the next version when needed, verify upstream main and CI, create and push the tag, update GitHub release notes, and watch the release workflow to completion.
// Run the autonomous release procedure: infer the next version when needed, verify upstream main and CI, create and push the tag, update GitHub release notes, and watch the release workflow to completion.
Upgrade dependencies and runtimes safely, run CI, and report higher-risk options.
Push the current content to obot-platform/discobot main, watch GitHub Actions with gh run watch, fix CI failures, and repeat until main CI passes.
Delegate a goal to a sub-agent and iterate until it is complete.
Use when building, changing, or reviewing Datastar UIs, signals, data-* attributes, backend actions, SSE responses, or Rocket components.
Analyze outstanding git changes and organize them into logical, well-structured commits. Use when the user wants to commit changes or organize their work into commits.
| name | release |
| description | Run the autonomous release procedure: infer the next version when needed, verify upstream main and CI, create and push the tag, update GitHub release notes, and watch the release workflow to completion. |
| allowed-tools | Bash(git tag, git log, git describe, git push, git branch, git remote, git fetch, git rev-parse, git ls-remote, git for-each-ref, gh run list, gh run view, gh run watch, gh release view, gh release edit, gh api, pnpm ci, pnpm check, pnpm test, go test), Read, Glob, Grep, Edit, AskUserQuestion |
| metadata | {"argument-hint":"[version-or-tag]"} |
Run a release as autonomously as possible. Treat /release as authorization to perform the normal release flow end-to-end without pausing for approval on the happy path. Keep the user informed with brief status updates, but continue automatically unless a blocking failure, missing permission, ambiguous repository state, or history-rewriting correction requires a decision.
obot-platform/discobot as the canonical upstream repository./release as approval to perform the standard release actions for the chosen tag: fetching refs, pushing the current HEAD to the canonical main branch when needed, waiting for CI, creating and pushing the release tag, updating the GitHub release, and watching the release workflow to completion.HEAD commit is confirmed to be on that upstream repository's main branch.HEAD commit has completed successfully.gh run watch <run-id> --exit-status.HEAD.v.git describe --tags --abbrev=0 2>/dev/null || echo "no tags"git tag --sort=-v:refname | head -20v1.2.3-alpha4, use the next alpha tag: v1.2.3-alpha5.v1.2.3-beta2, use the next beta tag: v1.2.3-beta3.v1.2.3-rc7, use the next RC tag: v1.2.3-rc8.v1.2.3, assume the next release should start an RC cycle for that same numeric base: v1.2.3-rc1.v0.1.0-rc1.git remote -v.obot-platform/discobot.origin or upstream; discover it from the URL.git fetch <remote> --tagsgit fetch <remote> maingit rev-parse HEADgit rev-parse <remote>/mainHEAD is not equal to <remote>/main:
main.HEAD to <remote> main automatically.HEAD == <remote>/main.git rev-parse HEAD.gh run list --commit <sha>.gh run watch <run-id> --exit-status.success is acceptable.failure, cancelled, timed_out, or action_required are blocking.gh run view <run-id> and, when helpful, gh run view <run-id> --log-failed.pnpm check, pnpm test, pnpm ci, go test, or narrower commands as needed).main automatically and restart the CI verification cycle from the beginning for the new HEAD.git log --oneline <previous-tag>..HEADgit tag -a <tag> -m "Release <tag>"git push <remote> <tag>gh api repos/obot-platform/discobot/releases/generate-notes -f tag_name=<tag> -f target_commitish=<sha> -f previous_tag_name=<previous-tag>gh release edit <tag> --title "Discobot <tag>" --notes-file <file>gh run list results from before and after the tag push..github/workflows/release.yml) for the release commit/tag.gh run watch <run-id> --exit-statusAsk the user only when:
Use commands along these lines during the procedure:
# Determine canonical remote and current state
git remote -v
git fetch <remote> --tags
git fetch <remote> main
git rev-parse HEAD
git rev-parse <remote>/main
git tag --sort=-v:refname | head -20
git describe --tags --abbrev=0 2>/dev/null || echo "no tags"
# Inspect and wait for commit CI
gh run list --commit <sha>
gh run watch <run-id> --exit-status
gh run view <run-id>
gh run view <run-id> --log-failed
# Review release delta
git log --oneline <previous-tag>..HEAD
# Tag and publish
git tag -a <tag> -m "Release <tag>"
git push <remote> <tag>
# Generate and publish release notes
gh api repos/obot-platform/discobot/releases/generate-notes \
-f tag_name=<tag> \
-f target_commitish=<sha> \
-f previous_tag_name=<previous-tag>
gh release edit <tag> --title "Discobot <tag>" --notes-file <file>
# Watch release workflow after tag push
gh run list --workflow release.yml --commit <sha>
gh run watch <run-id> --exit-status
Keep the user updated with concise status updates:
HEAD is on upstream main,/release
/release v1.2.3
/release v1.2.3-rc4