MulmoTerminal でプロジェクトごとに色と名札を付ける — 9 枚のマスを見分ける設定

MulmoTerminal でプロジェクトごとに色と名札を付ける — 9 枚のマスを見分ける設定

課題:クライアントのプロジェクトに、個人のメモで打ち込んだ

9 体並列で AI を回しています。3 つがクライアント案件、3 つが自社サービス、3 つが個人のメモ。

そのうち 1 枚に「この関数を削除して書き直して」と指示を出しました。

打ち込んだ先が、別のプロジェクトでした。

acme-web と acme-api は、フォルダ名の最初の 4 文字が同じです。ヘッダーの小さなパス表示を読んで判断したのですが、読み間違えました。

マスにフォルダ名は出ています。ただし 9 枚並ぶと、フォルダ名を 9 回読むことになる。急いでいるときは読まずに「このへん」で位置を覚えますが、位置は並び順の設定(注目度順・手動・優先順位順)で変わります。そこで事故ります。

これは、配電盤の電線に名前を印刷したのと同じ状態です。印刷した名前は読まないと分からず、急いでいるときは読みません。

色を 1 つ付けるだけで、問題が消える

MulmoTerminal は、プロジェクトのフォルダ直下に .mulmoterminal.json を置くと、そのフォルダで開いたマスだけ見た目が変わります。

{
  "name": "acme-web",
  "headerColor": "#0b2545"
}

2 行で足ります。name が名札になり、headerColor がヘッダーの帯の色になります。

帯が色づけば、それだけで 9 枚が見分けられます。読まずに分かるので、急いでいても間違えません。

クライアントの 3 つを赤系、自社サービスの 3 つを青系、個人を緑系にすれば、打つ前に系統で分かる状態になります。

7 色まで指定できる

もっと細かく染めたい場合はこうなります。

{
  "name": "acme-web",
  "badgeColor": "#2563eb",
  "headerColor": "#0b2545",
  "headerTextColor": "#e6f0ff",
  "cellColor": "#0e1117",
  "cellBorderColor": "#1f6f4f",
  "dotColor": "#22c55e",
  "buttonColor": "#a7f3d0"
}

最初から全部書く必要はありません。headerTextColor(ヘッダーの文字色)を省くと、背景から読みやすい色が自動で決まります。背景だけ指定して、文字が読めなくなることはないようになっています。

書くのが面倒であれば、同梱の /mulmoterminal-dirs スキルに頼めます。実際に開いているフォルダ群を見て、既にある設定の規則を汲んでから、まだ付いていないフォルダに展開します。

作業中は、設定した色に戻らない

最初に必ず戸惑うところです。

色を設定した直後に AI を動かすと、設定した色ではなく別の色(青・琥珀・緑)になります。終わると設定した色に戻ります。

これは不具合ではありません。状態の色が、自分で決めた色より優先されます。

理由は、色の上に載る文字のほうにあります。紺色の上で読める薄い水色の文字は、琥珀色の上ではほぼ見えません。自分のヘッダー色に合わせて選んだ headerTextColor は、状態色の上では読めなくなります。

もう一つの理由として、色分けより状態のほうが大事です。色分けは「どのプロジェクトか」を教えます。状態は「いま答えるべきか」を教えます。後者のほうが急ぎます。

それでも自分の色で通したいなら

状態のときにも自分の配色を使いたい場合は、状態を名指しできます。

{
  "headerColor": "#0b2545",
  "headerStatusColors": {
    "working": "#6d28d9",
    "done": { "background": "#166534" },
    "blocked": { "background": "#7c2d12", "text": "#ffe8a3" }
  }
}

指定できるのは working / done / blocked の 3 つです。アイドル(idle)はありません — headerColor がアイドルそのものだからです。

名指ししなかった状態は、テーマの状態色のままです。text を省けば、背景から読める色が自動で決まります。

状態の色を丸ごと切ることもできます。"headerStatusTint": "none" と書くと、作業中と完了のあいだも headerColor が残り、状態は枠線と状態ドットと小さな表示が伝えます。

1 つだけ、消せない状態色がある

headerStatusTint: "none" を書いても、要対応(blocked)の琥珀色だけは残ります。

答えるまで何も進まない唯一の状態なので、別の色を headerStatusColors.blocked で明示しない限り、琥珀色を保ちます。

色を統一したいより、止まっていることに気づくほうを優先しています。琥珀色を消せてしまうと、9 枚のうち 1 枚が止まっていることに気づけなくなり、見張り盤としての意味が変わってしまいます。

使うモデルも、同じファイルで決まる

色と並んで、そのフォルダで既定で使うモデルも書けます。

{
  "provider": "openrouter",
  "model": "moonshotai/kimi-k2.7-code"
}

色とモデルが同じファイルに同居しているのは偶然ではないと思います。「このプロジェクトは安いモデルで回す」と決めたら、マスの色もそれが分かる色にしておきたい。うっかり高いモデルで大量に回していた、を防ぐには色で分かるのが一番早い。

全プロジェクトの既定を 1 か所で決める

7 つの色は、パソコン全体の設定 ~/.mulmoterminal/config.json にも書けます。そこでは全フォルダの既定になります。

プロジェクト側に書いてあれば、そちらが勝ちます。「基本はこの配色で、大事なプロジェクトだけ別の色」という形にできます。

使ってみる

既存の MulmoTerminal があれば追加のインストールは不要です。初めての方は MulmoTerminal 完全ガイド の「使い方 3 ステップ」から。

動作確認の最小シナリオ

  1. プロジェクトのフォルダ直下に .mulmoterminal.json を作る
  2. 中身を書く:
    { "name": "acme-web", "headerColor": "#0b2545" }
  3. そのフォルダで新しいマスを開く(既に開いていればタブを再読み込み)
  4. ヘッダーが紺色になり、名札に acme-web と出れば成功

AI にファイルを書かせたときは即座に反映されます。エディタで手書きしたときは、タブを再読み込みします。ファイル監視はしていません。

作業中は状態の色が優先されるので、何もしていないアイドル時に確認してください。ここでつまずく人が多い。

書いたのに効かないときは、設定モーダルの Directory settings を開くと「実際に効いている値」「どのファイル由来か」「書式が不正で捨てられたキー」「このアプリが読まないキー(綴り違いなど)」が出ます。badgeColor を badgeColour と書いた、は代表的な引っかかり所です。

まとめ

関連: MulmoTerminal 公式ガイドの色設定 / MulmoTerminal の repo.json — どのツールからも読めるメタデータ / MulmoTerminal の .mulmoterminal.local.json — clone ごとに色を分ける

この記事をシェア

関連記事

記事一覧に戻る