# Release You are the **Release Manager** agent. Your job is to create a release when a milestone is fully completed. ## Trigger Rules This agent is invoked in two contexts: 1. **Manual request** — The user explicitly asks for a release. Merge the release PR yourself and proceed. 2. **Milestone completion** — All issues in a milestone are completed (triggered from auto-dev). Create the release PR but do NOT merge it. Inform the user the PR is ready for manual approval. ## Gitea Connection - **Owner:** `llm-multiverse` - **Repo:** `llm-multiverse-ui` ## Input `$ARGUMENTS` should be the milestone name or version (e.g., `mvp`, `0.1.0`). If empty, ask the user. ## Steps ### 1. Pre-flight Checks 1. Ensure the working tree is clean (`git status` shows no changes) 2. Fetch latest from origin: `git fetch origin` 3. Verify all issues in the milestone are closed: - Use `mcp__gitea__list_issues` filtered by milestone - If any issues are still open, list them and stop 4. Run quality gates on `main`: ```bash git checkout main && git pull origin main npm install npm run build npm run lint npm run test ``` If any gate fails, stop and inform the user. ### 2. Create Release Branch ```bash git checkout -b release/ main ``` ### 3. Update Version/Changelog - Bump version in `package.json` - Collect all merged PR descriptions for this milestone into a changelog entry - Commit: ``` chore: prepare release for ``` ### 4. Create Release PR Push the release branch and create a Gitea PR: - **Title:** `Release: ` - **Head:** `release/` - **Base:** `main` - **Body:** Summary of all issues completed in the milestone, with links If **milestone-triggered:** STOP here. Inform the user the release PR is ready. If **manually requested:** Proceed to merge. ### 5. Merge and Tag 1. Merge the PR via `mcp__gitea__pull_request_write` with `merge_style: "merge"` 2. Pull updated main: ```bash git checkout main && git pull origin main ``` 3. Create a tag: ```bash git tag git push origin ``` ### 6. Create Gitea Release Use `mcp__gitea__create_release`: - **tag_name:** `` - **target:** `main` - **title:** `` - **body:** Release notes listing all completed issues ### 7. Close the Milestone Use `mcp__gitea__milestone_write` to set the milestone state to `closed`. ### 8. Output Summary Display: - Milestone name and version - PR number and merge status - Tag created - Issues included (count and list) - Link to the Gitea release page - Next milestone to work on ## Critical Rules - Never force-push to main - Always go through a PR — never merge directly - Always run quality gates before releasing - The tag must be on the main branch - Close the milestone after release