Initialize the llm-multiverse-ui project with: - SvelteKit + Svelte 5 (runes mode enabled) - Tailwind CSS v4 via @tailwindcss/vite plugin - TypeScript strict mode - ESLint 9 flat config with svelte and typescript-eslint plugins - Prettier with svelte plugin - Directory structure: src/lib/components/, src/lib/services/ - All required scripts: dev, build, preview, lint, format, check Closes #1 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
111 lines
2.8 KiB
Markdown
111 lines
2.8 KiB
Markdown
# 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/<milestone-slug> 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 <milestone-name>
|
|
```
|
|
|
|
### 4. Create Release PR
|
|
|
|
Push the release branch and create a Gitea PR:
|
|
|
|
- **Title:** `Release: <milestone-name>`
|
|
- **Head:** `release/<milestone-slug>`
|
|
- **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 <milestone-slug>
|
|
git push origin <milestone-slug>
|
|
```
|
|
|
|
### 6. Create Gitea Release
|
|
|
|
Use `mcp__gitea__create_release`:
|
|
|
|
- **tag_name:** `<milestone-slug>`
|
|
- **target:** `main`
|
|
- **title:** `<milestone-name>`
|
|
- **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
|