本の裏表紙の下に、番号とバーコードがあります。
その番号を読むのは書店のレジだけではありません。図書館の受け入れも、取次の伝票も、古書店の在庫も、出版社の在庫管理も、同じ一つの番号を読みます。
もし書店がそれぞれ、自社用の番号を貼ってくれと出版社に頼んだら、断られます。三十社から頼まれれば裏表紙が埋まりますし、そもそも出版社にとってはどの書店の番号でもない情報です。
一つで済んでいるのは、その番号が誰のものでもないからです。本そのものについての情報だから、全員が自分の用途で読めます。
誰かのための札は貼ってもらえません。皆のための札なら、貼ってもらえます。
他人のプロジェクトに、自分の道具の設定を置きにくい
仕事で使っているオープンソースのライブラリに、修正を出しました。そのついでに気づきます。このプロジェクトのマスに色が付いていません。
MulmoTerminal は AI を何枚ものマスに並べて見張るための画面で、一マスが一体の AI にあたります。無料で、オープンソースとして公開されています。プロジェクトごとに色を付けると、九枚のマスが見分けられます。
自分がよく開くプロジェクトなので、色を付けたい。設定ファイルを一枚置けば付きます。
そこで手が止まります。.mulmoterminal.json というファイルを、他人のプロジェクトに足す提案は出しにくい。この開発ツールの設定ファイルを入れてくださいは、言いにくいものです。
メンテナはその道具を使っていないので、何のファイルか分かりません。書店が自社用の番号を頼むのと同じ立場です。
自分のフォルダにだけ置けばいい、ではある
実際には、自分の手元に置くだけで効きます。提案を出す必要はありません。
でもそれだと、取ってき直したら消えますし、別のパソコンでは付きません。作業フォルダを切ったときに引き継がれない場合もあります。
そして何より、そのプロジェクトを開く他の人にも役に立つ情報です。自分だけが持っているのは、もったいない。
どのツールからも読める形にする
ここに一つの解き方があります。
repo.json は、どのツールからも読めるプロジェクトの情報を書くファイルです。プロジェクトの一番上に置く小さな一枚で、特定のアプリのものではありません。
{
"name": "diffusion-lab",
"description": "Training and evaluation for latent diffusion models",
"icon": "docs/logo.png",
"color": "#7c3aed"
}
名前、説明、ロゴ、ブランド色。これはどの開発ツールにとっても意味のある情報です。特定のアプリ名が付いていないファイルに書けます。
MulmoTerminal もこれを読みます。このアプリの存在を知らないプロジェクトでも、名前と色とアイコンの付いたマスになります。
本の裏の番号と同じ位置にあります。
提案しやすさが変わる
開発ツールの設定ファイルを足してくださいは出しにくい。プロジェクトの名前と説明とロゴと色を書いたファイルを足しませんかなら、出しやすいと思います。
内容が、そのプロジェクト自身についての情報なので。
色を一つ書くと、七色になる
もう一つ、規格として賢いところがあります。
専用の設定ファイルでは色を七つ個別に書きました。repo.json では color 一つです。
ヘッダーはその色そのもので、名札と枠と点とボタンとマスの本体はその色から導かれます。ヘッダーの文字色は、読めるように自動で決まります。書きません。
一つ書けば済むのが要点です。ブランド色は普通一色しか決まっていないので、七つ書かせるのは規格として過剰です。
このアプリ固有のものは、別の場所に入れる
規格に無いものを書きたいときは、名前空間の下に入れます。
{
"extensions": {
"mulmoterminal": { "theme": "nord", "orderPriority": 30 }
}
}
配色の名前や並び順など、規格に入れる筋合いのないものはここです。
規格の本体を小さく保つための作りです。他のツールが読んだときに、知らないキーで戸惑わないようになっています。
三つのファイルが、一般から具体の順に重なる
repo.json → .mulmoterminal.json → .mulmoterminal.local.json
プロジェクト このアプリの設定 この一本
下の層が設定したキーを、上の層が置き換えます。これで三つの使い方が成立します。
repo.json だけで完結してもいい。オープンソースに置くならこれで、他のツールにも役立つファイルを一枚足すだけです。
専用の設定ファイルの色が、repo.json の色に勝つ。これが実用上けっこう大事です。
.mulmoterminal.local.json は、その一本だけ。同じプロジェクトを何本も持っているときに使います。
二番目が効く理由
企業のブランド色は、ターミナルの背景として一日見るのに向いている色とは別です。真っ赤なブランド色のプロジェクトを、赤いヘッダーで一日見るのは疲れます。
規格に従いながら、手元では別の色にできる。その逃げ道が用意されているので、規格に合わせたら自分が困るにならない。
アイコンにも工夫がある
icon は、文字列でも、サイズ付きの一覧でも書けます。複数書いておくと、使える中で一番いいものが選ばれます。
十四ピクセルで描くという制約があるので、小さいサイズ用の絵を別に用意しているプロジェクトなら、そちらが使われます。
使ってみる
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 の使用量はその契約から引かれます。
先に書いておきます。repo.json は提案の段階です。
仕様は www.mulmoterminal.com/repo-json.html で公開されていて、状態は草案です。議論は receptron/mulmoterminal#1438 にあります。いま読んでいるのは MulmoTerminal で、他のツールが読むかどうかはこれからです。
つまり、業界の標準だから置くではありません。置いて損が無いから置く、という判断になります。
損が無いと言えるのは、ただの小さな JSON で何も実行せず、ビルドにも CI にも影響しないからです。読まないツールは無視するので、知らないファイルが一枚増えるだけです。そして中身はプロジェクト自身の情報なので、他のツールが将来読んでも困る内容ではありません。
他人のプロジェクトに提案するときも、この形なら説明できます。
書く場所は、そのプロジェクトのフォルダの一番上に置く repo.json です。無ければ作ります。
{
"name": "diffusion-lab",
"description": "Training and evaluation for latent diffusion models",
"color": "#7c3aed"
}
AI にファイルを書かせたときは即座に効きます。エディタで手で書いたときは、タブを再読み込みします。
そのフォルダで開いたマスに名札と色が付けば成功です。色は一つ書くだけで七か所に展開されます。
やめるときは、repo.json を消すか、.mulmoterminal.json に自分の色を書けばそちらが勝ちます。
まとめ
本の裏の番号が一つで済んでいるのは、それが誰のものでもなく、本そのものについての情報だからです。誰かのための札は貼ってもらえません。
自分の道具の設定ファイルを他人のプロジェクトに足す提案は出しにくいですが、プロジェクトの名前と説明とロゴと色なら出しやすい。同じファイルが、メンテナから見た意味と自分から見た意味の両方を持ちます。
色を一つ書けば七か所に展開されるのも、ブランド色が普通一色しか決まっていないからです。規格は、書かせる量を必要な分に抑えたほうが置いてもらえます。
