誰でも投函できる箱の紙を、そのまま機械にかけない

誰でも投函できる箱の紙を、そのまま機械にかけない

郵便で届いた注文書を、そのまま倉庫の出荷指示にする会社はありません。

紙の書式は決まっていて、品番も数量も読み取れます。機械にかければ、そのまま伝票が出て荷物が動きます。それでも間に人を一人置くのは、投函する側を選べないからです。誰でも入れられる箱に入った紙が、そのまま倉庫を動かすなら、箱そのものが入口になります。

だから、読む人が一人入ります。その人は書式を直すわけではなく、内容を疑うわけでもなく、ただ目を通して判子を押します。手間はほとんどありませんが、入口が一つ閉じます。

自動化の効く範囲と、一手だけ残す範囲は別に決まります。

朝の一覧から作業までに六手

朝、GitHub の issue 一覧を見ています。issue というのは、直したいことを書いておくメモで、番号が付きます。

#1234 ログイン後にヘッダーが二重に出る

これは直せそうだと思います。そこから作業を始めるまでに、こうなります。issue の本文を読む。枝の名前を決める。最新のコードを取ってくる。作業用のフォルダを用意する。そこで AI を起動する。issue の内容を貼って頼む。

六手です。二番目から五番目は、毎回同じことをしています。やろうと思ってから実際に頼むまでに数分かかります。

MulmoTerminal は AI を何枚ものマスに並べて見張るための画面で、一マスが一体の AI にあたります。無料で、オープンソースとして公開されています。

五手がボタン一つになる

issue の行の端にあるボタンを押すと、issue を読み込んで、issue/1234-header-duplicate という作業フォルダを最新から分岐して作って、そこで AI を起動します。

issue の本文は入力欄に入った状態になります。

六手目だけ、自動化されていない

ここが、この機能で一番考えられているところだと思います。送信はされません。

理由がはっきり書かれています。issue の本文は、その issue を書いた他人のテキストであることがほとんどです。だから送信せず、入力欄に置いたままにしています。Enter を押すのは人です。

これは効率の話ではなく、入口の話です。

issue には誰でも書き込めます。そこに書かれた文章が自動で AI への指示になる作りだと、他人が書いた文章で AI が動くことになります。このファイルを全部消してから作り直してくださいと書いてあったら、AI はそれを頼まれたことだと解釈します。

一手挟むことで、読んでから押す形になっています。倉庫の前に一人置くのと、同じ一手です。

そして、その一手が効くのは Claude だけ

正直に書かれている制約があります。

Claude 以外は、起動するとすぐ issue の本文を実行します。下書きを置いておく入力欄がないためです。さらに Codex 以外は、道具の使用も自動で承認します。

だから、それらを選んでいるあいだは警告が出続けます。この機能を安全弁として使いたいなら、Claude を選んでおくことになります。

それ以外を選ぶと画面がそう言ってくるので、黙って危ない方に倒れません。

番号が、そのあと全部を繋ぐ

ボタンの本当の価値は、フォルダを作る手間ではないと思います。枝の名前に issue の番号が入ることです。

そのあと、何も指定しなくても繋がります。提案を出すときに本文に Fixes #1234 が入ります。マスのヘッダーに出る作業中の表示が、同じ番号を読みます。issue への作業中ですのコメントも、同じ番号に書きます。取り込まれたときの issue の自動クローズも、同じ番号です。

番号を一回も手で打たずに、issue から取り込みまで繋がります。

手で打つと、どこかで間違えます。#1234 を #1243 と書いて、関係ない issue が閉じるという事故が起きます。

同じ issue を二回押しても、二本目は作らない

一つの issue に対して作業フォルダは一つです。すでにあるものが開いて、そこに会話が残っていればそれが開きます。

その会話を他のところで開いたままなら、何も起こさずにその旨が出ます。

これは一つのフォルダに一体までというルールと同じものです。うっかり二本作って、二本で同じことを直すということになりません。

複製が複数あるときは、初回だけ聞かれる

同じプロジェクトを何本も取ってきている場合は、初回だけどれを使うかを聞かれて、その答えを覚えます。次からは一クリックです。

そのプロジェクトが手元に無い場合は、ボタンが押せない状態になって理由が出ます。黙って失敗しません。

トークンを預けない

前提は一つだけです。

gh auth login

gh は GitHub が配っているコマンドで、これでログインしておくとパソコンから GitHub を読み書きできます。

知っておく価値があるのは、アプリがトークンを保存も参照もしないことです。裏で gh コマンドを実行しているので、自分の gh のログイン権限でそのまま見えます。

AI の道具に GitHub のトークンを渡すことになっていない、という部分です。

どのプロジェクトを見るかも、必ずサーバー側の設定から取ります。ブラウザからのリクエストで指定することはできません。

使ってみる

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 します。たとえば receptron/mulmoterminal です。即座に効きます。

ツールバーの Pull requests を開くと、下の Issues の節に issue が並びます。

PRs & Issues の画面。上に PULL REQUESTS、下に ISSUES がリポジトリごとにまとまって並び、各 issue の行の右端に ▶ ボタンがある

直したい issue の行の右端の再生ボタンを押します。作業フォルダができて、AI が起動して、issue の本文が入力欄に入っています。読んで、必要なら足して、自分で Enter を押します。

マスのヘッダーの枝の名前に issue の番号が入っていれば成功です。以降、提案の Fixes #番号 も作業コメントも自動で繋がります。

起動する AI は Claude を選んでおいてください。他を選ぶと、入力欄に置かずにすぐ実行します。そのあいだ画面が警告を出し続けます。

やめるときは、マスを閉じて消すを選べば作業フォルダと枝が消えます。issue 側には何も書かれていません。書く設定は別にあって、既定では止まっています。

まとめ

郵便で届いた注文書を読まずに倉庫を動かす会社はありません。投函する側を選べないので、間に一人置いて入口を閉じます。

issue から作業を始める六手のうち、五手はボタン一つになります。最後の送信だけ残っているのは、issue の本文が他人の書いた文章だからです。

そして一手残しているのは Claude を選んだときだけで、他を選ぶとすぐ実行されます。画面はそう言ってくるので、黙って倒れることはありません。

この記事をシェア

関連記事

記事一覧に戻る