Create a new Gitea release for this project using semantic versioning. ## Current state Fetch tags and find the latest version: ``` !git fetch --tags && git tag --sort=-v:refname | head -5 ``` Commits since the last release (if no tags exist, this shows all commits): ``` !git log $(git describe --tags --abbrev=0 2>/dev/null && echo "$(git describe --tags --abbrev=0)..HEAD" || echo "") --oneline ``` ## Instructions 1. **Determine current version** from the tag output above. If no `vX.Y.Z` tags exist, treat current version as `v0.0.0`. 2. **Analyze commits** using conventional commit prefixes to pick the semver bump: - Breaking changes (`!` after type, or `BREAKING CHANGE` in body) → **major** bump - `feat:` → **minor** bump - `fix:`, `chore:`, `deps:`, `revert:`, and everything else → **patch** bump - Use the **highest** applicable bump level across all commits 3. **Generate release notes** — group commits into sections: - **Features** — `feat:` commits - **Fixes** — `fix:` commits - **Other** — everything else (`chore:`, `deps:`, `revert:`, etc.) - Omit empty sections. Each commit is a bullet point with its short description (strip the prefix). 4. **Present for approval** — show the user: - Current version → proposed new version - The full release notes - The exact `tea` command that will run - Ask the user to confirm before proceeding 5. **Create the release** — on user approval, run: ``` tea releases create --login gitea --repo ryan/c4 --tag --target main -t "" -n "" ``` Do NOT create a local git tag — Gitea creates it server-side. 6. **Verify** — run `tea releases ls --login gitea --repo ryan/c4` to confirm the release was created.