メインコンテンツまでスキップ

koyu を入れる

koyu を手元で走らせる道は二つある — npm から入れるか、リポジトリをクローンするか。どちらでも同じ koyu コマンドが手に入る。

要るもの

Node.js 22 以上。それだけである。koyu は実行時依存を一つも持たないので、入れると入るのは koyu 自身だけである。

node --version
v26.5.0

npm から

一度だけ試す

インストールせずに走らせる。

npx -p @kensnzk/koyu koyu check first.muro
✔ Consistent — 1 space / 0 boundaries
  Structural consistency only — architectural validity is what koyu validate says, separately

プロジェクトに入れる

.muro を置くディレクトリで npm プロジェクトを作り、devDependency として入れる。CI で koyu check を門番に使うならこれである。

npm install --save-dev @kensnzk/koyu

node_modules/.bin/ に二つの実行ファイルが入る。

koyu
koyu-mcp

npm run のスクリプトからは名前だけで呼べる。

{
"scripts": {
"check": "koyu check building/main.muro"
}
}

どこからでも使えるようにする

npm install --global @kensnzk/koyu

koyukoyu-mcp が PATH に入る。

ソースから

記法そのものに手を入れたいとき、あるいは公開版より先の状態を使いたいときはこちらである。チュートリアルもこの道で書いてある。

git clone https://github.com/kensnzk/koyu.git
cd koyu
npm install

リポジトリの中では、次の二つが同じ意味を持つ。

npx tsx src/cli.ts check examples/two-rooms.muro
npm run koyu -- check examples/two-rooms.muro
✔ Consistent — 3 spaces / 3 boundaries
  Structural consistency only — architectural validity is what koyu validate says, separately

TypeScript のまま走っているので、ビルドは要らない。ビルドしたものが要るなら npm run builddist/ を吐き、node dist/cli.js が同じ答えを返す。

npm run build
node dist/cli.js check examples/two-rooms.muro
✔ Consistent — 3 spaces / 3 boundaries
  Structural consistency only — architectural validity is what koyu validate says, separately

入ったことを確かめる

4行のファイルを作って通す。

grid X 0 3600
grid Y 0 4000
level L1 0 h:2400 slab:150
space /L1/a room X1..X2 Y1..Y2
koyu check first.muro
koyu plan first.muro -o first.svg
✔ Consistent — 1 space / 0 boundaries
  Structural consistency only — architectural validity is what koyu validate says, separately
Generated the plan: first.svg

first.svg をブラウザで開くと、通り芯と淡い矩形が一つあって、壁は一本も描かれていない。そこから先ははじめての .muro が引き受ける。

出力について

人向けの出力は英語である。機械が読む面 (診断・判定・MCP) と同じ言葉に揃えてあり、ロケールを切り替える引数は無い。同じ文言の台帳を二つ持たないためである。.muro に書く名前は書き手の言葉なので、日本語のままで構わない。

終了コードは check が 0 (問題なし) / 1 (エラーあり) / 2 (入力が壊れている)。CI に繋ぐ形は CI に組み込むにある。

隣にあるもの