--- name: release description: colmsg のバージョンリリースを計画・準備・公開するときに、互換性判断、リリースPR、GitHub Release、配布先更新の手順を適用する。 --- # colmsg のリリース このスキルは、colmsg の次回リリースを計画・準備・公開する依頼に使う。通常の機能PRや、リリースと無関係な変更には適用しない。 ## 変更内容とバージョンを決める - 最新のGitHub Releaseとタグを確認し、そこから現在の `main` までに入った変更を調べる。 - CLIのオプションと表示、保存ファイルの形式、公開Rust APIを利用者向けインターフェースとして扱う。これらに互換性のない変更があれば、SemVerのメジャーバージョン更新を検討する。 - 既存の `CHANGELOG.md` と過去のリリースPRを参考に、変更点、破壊的変更、利用者が必要とする移行手順をまとめる。 ## リリースPRを作る - `main` の変更を取り込んだリリースブランチを使う。ブランチ名は `release/vX.Y.Z` とする。 - `Cargo.toml` のパッケージバージョンと `Cargo.lock` の `colmsg` バージョンを一致させる。 - `CHANGELOG.md` の先頭に新バージョンの節を追加する。互換性に影響する変更と移行方法は明示する。 ## GitHub Releaseを作る - [Releaseワークフロー](../../../.github/workflows/release.yml) は `workflow_dispatch` で実行する。バージョンは `Cargo.toml` から読み取られ、ワークフローがタグとGitHub Releaseを作成するため、手動でタグを作らない。 - タグが既に存在する場合は処理を止め、既存タグとReleaseの状態を調べる。既存リリースを上書きしたり、別バージョンのタグを使ったりしない。 - 公開後、GitHub Releaseのタイトル、生成されたリリースノート、5つの配布アーカイブを確認する。自動生成ノートに破壊的変更や移行方法が載っていなければ、Release本文に追記する。 ## HomebrewとAUR - [Homebrew更新ワークフロー](../../../.github/workflows/homebrew-update.yml) と [AUR更新ワークフロー](../../../.github/workflows/aur-update.yml) は、GitHub Release公開後に個別実行する。両方とも最新Releaseを参照する。 - 更新を依頼された場合に実行する。 - GitHub Releaseの依頼だけでは、HomebrewやAURの別リポジトリ更新まで依頼されたとは扱わない。明示的な依頼がなければ、更新手順を案内して止める。 ## 操作範囲 - リリースの評価・計画・PR準備だけを依頼された場合、Releaseやパッケージ更新のワークフローを実行しない。 - 公開が明示的に依頼されている場合も、まず変更内容、バージョン、CI結果を確認してから公開する。 - 作業ツリーに既存の変更がある場合は保持し、ユーザーの明示的な指示なしに破棄しない。