始める
wharfy を入れて、あとは AI エージェントに渡します。リリースが通るようになったら、 その実行を CI に移します。設定はこれだけ。wharfy は、あなたが覚えるためでなく、 アシスタントが動かすために作られています。
始める前に
- Homebrew(macOS)/ Scoop(Windows)/ インストールスクリプト(Linux)── wharfy を入れるため
- バイナリ用の GitHub リポジトリ ── 成果物の発行先
- 配るバイナリ ── Go ならここでクロスビルドし、そうでなければどの言語のビルド済みでも持ち込める
- 持ちたいチャネル ── Homebrew tap、Scoop bucket、ホスト型 apt/yum リポジトリ。発行のときに用意すればよく、今は不要
1. インストール
macOS(Homebrew):
brew install shirodoromoto/wharfy/wharfy
Windows(Scoop):
scoop bucket add wharfy https://github.com/ShiroDoromoto/scoop-wharfy
scoop install wharfy
Linux:
curl -fsSL https://wharfy.io/install.sh | sh
2. AI に渡す
プロジェクトで、アシスタントに wharfy agent コマンドを実行させます:
wharfy agent
この 1 コマンドが、全コマンド・引数・使う順番・状態の読み方を一度に返します。AI は それを一読して、あとは自分でリリースを回します ── ビルド・発行・公開・検証まで。
3. CI に載せる
リリースは手元よりも GitHub Actions に置くのが基本です。配布物が公開の場で作られ、 署名鍵を誰のマシンにも置かずに済み、ビルドの来歴(provenance)は Actions でしか 署名できません ── 署名に使う OIDC の身元を渡せるのが Actions だけだからです。
wharfy secrets
登録すべき鍵、ランナーに要るツール、ワークフローに貼る permissions: / env: が
出ます。wharfy は対話を求めず TTY も要らないので、手で叩いたコマンドが、そのまま
ワークフローの走らせるコマンドになります。
意図的に選ぶべきなのは実行する機械ではなく、きっかけのほうです。タグの push か手動 dispatch で走らせ、マージのたびには走らせません。
リリースの流れ
wharfy status # 今どこ?(何が build/release/publish 済みで、どこに出ているか)
wharfy build # クロスビルド。prebuilt: なら丸ごと飛ばせる → next: sign | release
wharfy release # GitHub Release に上げ、来歴を署名する → next: publish
wharfy promote # 検証した prerelease を latest に切り替える → next: publish
wharfy publish # 持てるチャネルへ発行・審査制は準備 → next: verify
wharfy verify # 全チャネルを、利用者の側から確かめる
どのコマンドも --json を取り、出力の最後に next: を書きます。だから順番を
覚えておく必要は、あなたにも AI にもありません。