MulmoTerminal の PR 本文フッター — 3 日後にレビューが付いたとき、どのクローンで作業したか迷わない

MulmoTerminal の PR 本文フッター — 3 日後にレビューが付いたとき、どのクローンで作業したか迷わない

課題:3 日後にレビューが付いて、どのクローンで作業したか思い出せない

3 日前に出した PR にレビューが付きました。「ここをもう一度直してほしい」。

直すために、作業していたフォルダを開こうとします。どれだったか思い出せません。

~/src/myrepo
~/src/myrepo2
~/src/myrepo3

同じリポジトリのクローンが 3 本あります。どれかで作業したはずです。GitHub の PR のページを見ても、どのローカルフォルダで作業したかはどこにも書いてありません。

なぜクローンが 3 本あるのか。AI エージェントを並列に動かすようになると、1 体に 1 フォルダを割り当てる と自然にそうなります。お互いの変更を壊さないためです。そこから、どの PR をどのフォルダで作ったか分からない問題が始まります。

既存のやり方とそのコスト

ブランチ名で推測する

PR のページにはブランチ名が出ています。fix-login というブランチが分かっても、それがどのフォルダに checkout されていたかは分かりません。3 本のクローンの git branch を順に見ていくと、たいていは 1 本にしか残っていませんが、全部マージ済みでクリーンアップされていると、どれにも無い状態になります。

3 本を順に開いて確かめる

1 本目を開いて git log を見る。無い。2 本目を開く。無い。3 本目にあった。2 分くらいです。

大した時間ではありません。ただしレビューが付くたびに毎回やります。PR が 4 件並行していると、4 回やります。

MulmoTerminal の解決:PR 本文の末尾に 1 行だけ入れる

MulmoTerminal で作った PR には、本文の末尾に 1 行入ります。

work in myrepo3

これだけです。既定で有効になっていて、切ることもできます。

本の奥付の印刷所の行と同じ位置にあります。読者のためではなく、次に刷る人のための情報です。

詳細

ブランチ名は書かない。フォルダ名だけを書く

ここが設計として効くところです。入るのは、もとのフォルダの名前です。worktree で切ったサブフォルダではなく、その上の「クローンした場所」の名前です。

ブランチ名を書かない理由は明快で、ブランチ名は PR のページがすでに大きく表示しているからです。書く価値がありません。フォルダ名はどこにも出ていないので、これが欠けている情報です。

分かることを全部書くのではなく、分からないことだけ書く。情報を足すときに、他のどこにも書いていないものを選んでいます。

このアプリが作った PR だけに入る

既にある PR の本文に、あとから勝手に 1 行が追加されることはありません。アプリが PR 本文を管理し続ける作りにはなっていません。作るときに 1 行足して、それで終わりです。

同じブランチで + New PR ボタンを押しても、PR が既にあればそれが開くだけで、行が二重に付くこともありません。

あとから編集してかまわない

MulmoTerminal は PR 本文を上書きしません。レビューのやり取りの中で本文を直して work in <フォルダ名> を消しても、戻すことはしません。1 回だけ書く設定です。

1 行の付加に失敗しても、PR 作成は成功する

gh が無い、通信エラー、GitHub 側の一時障害 — どれが起きても PR の作成自体は成功して開きます。本文の末尾に 1 行足せなかっただけです。

優先順位として正しい設計です。1 行の付加情報のために、PR の作成が失敗してはいけません。

設定変更は即座、再起動不要

{ "prWorkdirFooter": false }

これを ~/.mulmoterminal/config.json に書くか、設定画面の GitHub and GitLab のチェックで切れます。設定は PR を作るたびにファイルから読み直しているので、変更は即座に効きます。再起動は要りません。

副作用として、隣で動いている別の MulmoTerminal からも変更が見えます。起動時に一度読むのではなく、使うたびに読むことで、複数を同時に動かしていても食い違いません。PR 作成は頻繁ではないので、毎回読んでも負荷になりません。

既定で有効にしている理由

フォルダを 1 本しか持っていない人には、この 1 行は無意味です。work in myrepo と書かれても、他に候補がないので。

それでも既定で有効です。あとでクローンを 2 本目に増やしたときに、「そのとき出した PR には書いてない」が起きないようにするためです。奥付が一刷目にも印刷所を書いておくのと同じ理由です。

使ってみる

既存の MulmoTerminal インストールがあれば、設定なしで動きます。すでに有効です。初めての方は MulmoTerminal 完全ガイド の「使い方 3 ステップ」から。

動作確認の最小シナリオ

  1. MulmoTerminal で任意のリポジトリの worktree を切り、エージェントを起動
  2. 何か変更してコミットし、ヘッダーの + New PR ボタンから PR を作る
  3. GitHub で開いた PR の本文の末尾に work in <クローン名> があれば成功

切りたいときは ~/.mulmoterminal/config.json に { "prWorkdirFooter": false } を書くか、設定画面の GitHub and GitLab のチェックを外します。すでに作った PR の本文は書き換わりません。

まとめ

関連: MulmoTerminal 公式ガイドの GitHub ページ / MulmoTerminal の git worktree 隔離 / MulmoTerminal の PR / Issue 横断ビュー

この記事をシェア

関連記事

記事一覧に戻る