コンテンツにスキップ

インストール

Kozou は 3 つのチャネルで提供されます。GHCR で公開されている Docker ランタイムイメージ、npm パッケージ群 (CLI とライブラリ)、そしてそれらを Docker Compose で結びつけるプロジェクト scaffold です。このページではそれぞれの方式を説明します。スタックを最短で動かしたいだけなら、option A から始めて、その後 Quickstart を読んでください。

現在公開されているリリースは v0.1.1 です。

v0.1.1 のランタイム要件です。

  • PostgreSQL 16 以降 — Kozou が読み取る、信頼できる唯一の情報源です。
  • Docker 24 以降 (任意) — docker compose up スタックには推奨され、ランタイムイメージを直接 pull したい場合には必須です。
  • Node.js 20 以降 — npm で公開されているパッケージを直接実行する場合 (例: npx kozou …) に必要です。

コントリビューターはモノレポをビルドするために、加えて pnpm 9 以降 が必要です。開発環境のセットアップについては Contributing を参照してください。

オプション A — Scaffold + Docker Compose

Section titled “オプション A — Scaffold + Docker Compose”

これが最もシンプルな方式です。create-kozou scaffold は Docker Compose 向けに配線済みのプロジェクトディレクトリを生成するため、docker compose up 一発でスタック全体が立ち上がります。すなわち PostgreSQL、REST レイヤー、そして kozou dev (バンドルされた Admin UI と MCP HTTP サーバー) を実行する kozou サービスです。

create-kozou は独立した npm パッケージではなく kozou パッケージのセカンダリ bin として提供されるため、クリーンなマシンで npx がこれを見つけるには -p kozou が必要です。

Terminal window
# Scaffold a project.
npx -p kozou create-kozou my-project
cd my-project
# Copy the env template, then bring up the full stack.
cp .env.example .env
docker compose up

scaffold が生成するもの:

  • docker-compose.yml — PostgreSQL、PostgREST、そして kozou dev を実行して Admin UI と MCP HTTP サーバーをホストする kozou サービスを立ち上げます。
  • kozou.config.yaml — すべての Kozou コマンドを駆動する設定ファイルです。
  • ui-hints.yamlkozou.config.yaml から参照される UI ヒントです。
  • .env.exampleDATABASE_URL と関連する値を供給するために .env へコピーするテンプレートです。

スターターのマイグレーションも含まれているため、データベースは introspect するためのスキーマを備えた状態で立ち上がります。

デフォルトでは Admin UI はポート 3333 で、MCP HTTP サーバーは 3334 で待ち受けます。これらは kozou.config.yamlserver.uiserver.mcp.http で上書きできます。

オプション B — GHCR ランタイムイメージ

Section titled “オプション B — GHCR ランタイムイメージ”

CLI ランタイムは GitHub Container Registry にマルチアーキテクチャの manifest として公開されており、linux/amd64linux/arm64 の両方でネイティブに動作します。Node.js をローカルにインストールせずに kozou CLI を実行したい場合は、直接 pull してください。

Terminal window
docker pull ghcr.io/kozou-dev/kozou:v0.1.1

任意のサブコマンドは docker run に付け加えて実行します。例えば inspect のフラグを確認するには次のようにします。

Terminal window
docker run --rm ghcr.io/kozou-dev/kozou:v0.1.1 inspect --help

同じパターンが MCP サーバーでも使えます。

Terminal window
docker run --rm ghcr.io/kozou-dev/kozou:v0.1.1 mcp --help

このイメージは kozou CLI と Admin UI をバンドルしています。PostgREST はバンドルされていません — Compose スタックでは並列のコンテナとして実行されます。

bin エントリを $PATH に通すために、CLI をグローバルにインストールします。

Terminal window
npm install -g kozou

これにより 2 つの bin が公開されます。

  • kozou — メインのマルチコマンド CLI (inspect / mcp / dev)。
  • create-kozou — プロジェクトディレクトリを scaffold します (option A で使われるジェネレーター)。

グローバルインストールせずに CLI を実行するには npx を使います。

Terminal window
npx kozou inspect --help

CLI には到達可能な PostgreSQL と kozou.config.yaml が必要です。バンドルされている設定テンプレートは、${DATABASE_URL} プレースホルダーを通じて接続文字列を DATABASE_URL 環境変数から読み取るため、コマンドを呼び出す際にこれを設定してください。

Terminal window
DATABASE_URL=postgres://kozou:kozou@localhost:5432/kozou \
kozou inspect --format yaml > schema.yaml

kozou inspect は設定されたデータベースを introspect し、Schema Context を stdout (または --output <path>) へ出力します。kozou mcp --stdio は stdio 経由で MCP サーバーを起動します。kozou mcp --http は同じツール群を HTTP 経由で提供します (--port / --host でリスナーを設定し、stdio がデフォルトのまま維持されます)。kozou dev は Admin UI を MCP HTTP サーバーと並べて実行し、どちらも kozou.config.yaml から配線されます。

最小限の kozou.config.yaml は次のようになります。

database:
url: ${DATABASE_URL}
schemas: [public]
adapter:
type: postgrest
url: ${KOZOU_ADAPTER_URL:-http://postgrest:3000}
uiHints:
path: ./ui-hints.yaml

${VAR}${VAR:-default} は、設定の読み込み時にプロセス環境から展開されます。

REST アダプター: v0.1 はその REST サーフェスを PostgREST (上に示した postgrest アダプター) を通じて出力します。v0.2 系では 実験的 な自社製 REST レイヤー @kozou/api が追加され、kozou dev --adapter api 経由で到達できます。これは実験的です — v0.1.1 では postgrest がデフォルトのままです。

オプション D — 組み込み用ライブラリパッケージ

Section titled “オプション D — 組み込み用ライブラリパッケージ”

カスタムホストを構築したり、MCP サーバーを自分のアプリケーションに埋め込んだりする場合は、ワークスペースパッケージを npm からインストールします。

Terminal window
npm install kozou @kozou/core @kozou/introspect @kozou/mcp @kozou/svelte-ui

これらにより、introspection エンジン (@kozou/introspect)、コアコンパイラ (@kozou/core)、MCP サーバー (@kozou/mcp)、リファレンス Admin UI コンポーネント (@kozou/svelte-ui) が手に入り、kozou CLI もそれらと一緒に提供されます。

CLI が解決され、そのコマンドサーフェスを出力することを確認します。

Terminal window
kozou inspect --help

代わりにランタイムイメージを pull した場合は、Docker 経由で同等のコマンドを実行します。

Terminal window
docker run --rm ghcr.io/kozou-dev/kozou:v0.1.1 inspect --help

どちらもエラーなく inspect のフラグを出力するはずです。ここから CLI をデータベースに向けて、実際の出力を生成しましょう — status カラム (draft / published / archived) を持つ products テーブルや orders リレーションが、最初の対象として適しています。

  • Getting started — Kozou の背後にある概念と、各要素がどのように噛み合うか。
  • Quickstart — 空のディレクトリから、動作する Admin UI とライブな MCP コンテキストへ。