Files
via/.claude/commands/release.md
Ryan Hamamura a68c251d0a
Some checks failed
CI / Build and Test (push) Failing after 1m12s
CI / Build and Test (pull_request) Failing after 31s
chore: make Gitea the primary remote, GitHub as mirror
- Migrate CI workflow from GitHub Actions to Gitea Actions
- Update /pr command to create/merge PRs on Gitea only
- Update /release command to create releases on Gitea only
- Remove /pr-create and /pr-merge commands (consolidated into /pr)
- Push code and tags to both remotes for GitHub mirroring
2026-02-20 08:15:48 -10:00

1.1 KiB

Create a new release on Gitea. Push tags to both remotes.

Pre-flight

  1. Worktree guard: If the working directory is inside .claude/worktrees/, STOP and tell the user: "Releases must be created from a non-worktree session on main. Exit this worktree or start a new session, then run /release." Do not proceed.
  2. Verify you are on main. If not, STOP.
  3. Verify there are no uncommitted changes. If there are, STOP — they should go through a PR.
  4. Run git pull --ff-only on main. Fetch tags from all remotes.

Release

  1. Review commits since the last tag. Recommend a semver bump:
    • major: breaking/incompatible API changes
    • minor: new features, meaningful new behavior
    • patch: bug fixes, docs, refactoring with no new features Present the proposed version, bump rationale, and commit list. Wait for user approval.
  2. Tag the new version. Push the tag to both remotes: git push gitea <tag> && git push origin <tag>.
  3. Generate release notes grouped by type (features, fixes, chores).
  4. Create a Gitea release with tea releases create using the notes.
  5. Report the release URL and confirm all remotes are up to date.