駅の構内放送は、必要なことを全部言っています。発車の番線、遅れ、接続、乗り換え。聞いていれば情報は足りているはずです。
それでも人はホームの電光掲示板を見ます。掲示板に出ているのは、次の二本だけです。時刻と行き先と番線。放送より情報はずっと少ないのに、判断はそちらで付きます。
知らせが多いことと、判断が付くことは別です。放送は全部を伝えていて、そのぶん自分に関係のある一つを取り出す作業が聞く側に残っています。掲示板は、その作業を先に済ませてあります。
判断のために要る情報は、たいてい思っているよりずっと少ないものです。
月曜の朝に三十通
先週出した提案が四件あります。提案というのは、こう直しましたので確認してくださいという形の申し出で、GitHub では PR と呼ばれます。
一件はテストが落ちていました。一件はレビューで直してほしいと言われています。一件は通っていて、取り込むだけ。一件は相手を待っています。
でも、どれがどれなのか覚えていません。GitHub からのメールは金曜から三十通来ていて、開いていません。四つのプロジェクトを一つずつコマンドで確かめると、それで十五分使います。
構内放送を全部聞いている状態です。
見るべきものは二つだけ
必要な情報は、実は少ないです。テストが通っているか。そしてレビューでどう言われているか。
この二つの組み合わせで、次に何をすべきかが決まります。
| テスト | レビュー | 誰の番か |
|---|---|---|
| 赤 | 未 | こちら — テストを直す |
| 緑 | 未 | 相手 — 待つ |
| 緑 | 直してほしい | こちら — 直す |
| 緑 | 通った | こちら — 取り込む |
四行のうち三行がこちらの番です。待っていればいい場合は少なく、たいてい何かする番になっています。
朝に一度見れば、その日にやることが決まります。
四つのプロジェクトを一枚に並べる
MulmoTerminal には、これを一枚で出す画面があります。AI を何枚ものマスに並べて見張るための画面で、無料で、オープンソースとして公開されています。
上に提案、下に issue。issue というのは直したいことのメモで、番号が付きます。どちらもプロジェクトごとにまとまって、件数が出ます。
そして一行に、上の二つが並んでいます。丸の色がテストの状態で、緑が通った、赤が落ちた、琥珀が走っている、淡いのがテスト無しです。そのあとに番号とタイトル、下書きか通ったか直してほしいかレビュー待ちか、出した人と最後に動いた時刻。
これが四つのプロジェクト分、縦に並びます。掲示板と同じ幅の情報です。
見るプロジェクトは、自分で登録する
自動では増えません。作業したフォルダからも、会話からも増えません。
手間のようですが、意図があります。自動で集めると、一度触っただけのプロジェクトが延々と居座ります。見たいものは、触ったものより必ず少ない。
登録は設定の画面に owner/repo の形で入れるだけで、即座に効きます。再起動は要りません。
わざと自動更新しない
これは最初は不便に見えて、あとで納得する仕様です。右上の更新ボタンを押すまで、内容は変わりません。
理由は、裏で gh コマンドを実行しているからです。gh は GitHub が配っているコマンドです。自動更新にすると、プロジェクトの数と間隔をかけた回数、黙って GitHub に問い合わせが走ります。
これは呼び出し回数の制限の話でもあり、何も操作していないのに画面が変わる体験の話でもあります。見ているあいだに行が動くと、押そうとした行が別のものに変わります。
掲示板が一秒ごとに書き換わったら、読めません。
トークンを預けない
前提は gh auth login だけです。そしてアプリはトークンを保存も参照もしません。gh のログイン権限でそのまま見えます。
どのプロジェクトを見るかも、必ずサーバー側の設定から取ります。ブラウザからのリクエストで指定することはできません。
画面を誰かに見られたとしても、そこから別のプロジェクトを覗かせることはできない作りです。
作業中のマスの横で開くと、そのプロジェクトが先頭に来る
この画面は二通りの開き方があって、中身は同じです。全画面で開くか、作業中のマスの横に開くか。
横に開いたほうには、一つ違いがあります。そのマスのプロジェクトが専用の枠として先頭に出ます。
開いているものが一件も無い場合も、提案なし、issue なしとして先頭に出ます。無いも答えなので、出さないと読み込み中なのか本当に無いのかが分かりません。
行をクリックすると GitHub が開く
アプリの中では開きません。別のタブで GitHub が開きます。
読むのも書くのも GitHub でやることなので、中途半端に真似しないという判断だと思います。掲示板が切符を売らないのと同じです。
上限がある
一つのプロジェクトで、提案は百件まで、issue は二十件までです。超えるとこれ以上ありますという注記と、GitHub へのリンクが出ます。
黙って切り捨てないので、全部出ていないことが分かります。
GitLab も同じ場所に並ぶ
GitHub 以外を使っている場合もあります。ホストを付けて書けば、GitLab のプロジェクトも同じ画面に並びます。
gh と同じ役割を GitLab 用のコマンドが果たすので、一覧も、issue からの着手も、提案の作成も動きます。
一つだけ違います。GitLab の行のテストの色は、たいてい空です。一覧にテストの状態が入っておらず、読むには一件ずつ問い合わせが必要なためです。
自社で立てている GitLab の場合は、一度だけ宣言します。アドレスからは GitLab なのか別のものなのか分からないので。宣言する前は、その行が対応していないではなく、足すべき設定を挙げて出ます。
使ってみる
MulmoTerminal は、次の一行で立ち上がります。ターミナル(Windows なら PowerShell、Mac ならターミナル)を開いて、そのまま貼り付けます。
npx mulmoterminal@latest
ブラウザが開いて http://localhost:34567 が表示されれば成功です。インストールという作業はなく、合わなければ閉じるだけで終わります。止めるときは、打ったターミナルで Ctrl + C を押します。
動かない場合、足りないものは次の二つのどちらかです。
| 確かめ方 | 無ければ | |
|---|---|---|
| Node.js 22.12 以上 | node -v |
nodejs.org/ja/download の LTS。入れたらターミナルを閉じて開き直す |
| Claude Code | claude --version |
macOS は curl -fsSL https://claude.ai/install.sh | bash、Windows は irm https://claude.ai/install.ps1 | iex。そのあと claude でログイン |
Claude Code は、AI をターミナルから使うためのコマンドです。使うには Claude の有料プラン(Pro / Max / Team / Enterprise)か API のアカウントが必要で、無料プランには含まれていません。MulmoTerminal 自体は無料で、AI の使用量はその契約から引かれます。
先に gh を入れます。GitHub のアカウントが要ります。無ければ github.com で作ります。
# macOS
brew install gh
# Windows(PowerShell)
winget install -e --id GitHub.cli
そのあとログインします。画面の指示に従うだけです。
gh auth login
トークンをこのアプリに預けることはありません。gh のログインをそのまま使います。
そのうえで、ツールバーの Settings の Pull request repos を開いて、見たいプロジェクトを owner/repo の形で入れて Add します。即座に効きます。四つあるなら四回繰り返します。
ツールバーの Pull requests を開きます。

設定ファイルに直接書くこともできます。書く場所は ~/.mulmoterminal/config.json です。無ければ作ります。
{ "prRepos": ["acme/web", "acme/api"] }
手で書いたときはアプリを再起動します。
上に提案、下に issue が、プロジェクトごとにまとまって出れば成功です。自動では更新されないので、右上の更新ボタンを押すまで内容は変わりません。
やめるときは、Settings の Pull request repos の各行の ✕ で消せます。設定ファイルから消しても同じです。GitHub 側には何も起きません。
まとめ
構内放送は全部を伝えていて、そのぶん自分に関係のある一つを取り出す作業が聞く側に残ります。掲示板は情報をずっと減らして、そのかわり判断が付きます。
提案の状態も同じで、要るのはテストの色とレビューの状態の二つだけです。その組み合わせで、次にやることが決まります。
自動更新しないのは、見ているあいだに行が動くと押そうとした行が変わるからで、そして裏で gh を実行しているからです。
