コンテンツにスキップ

kozou inspect

kozou inspectkozou.config.yaml で指定された PostgreSQL データベースを 検査し、Schema Context を構築して、それを stdout(またはファイル)に シリアライズします。Schema Context は、出力されるすべてのサーフェスが コンパイルされる元となる単一のモデルです。Admin UI、MCP コンテキスト、 REST サーフェスはいずれも同じ形を読み取ります。kozou inspect を実行することは、 サーバーを起動する前に、Kozou が DDL と COMMENT タグから何を導出したかを 正確に確認する最速の方法です。

このページは、kozou inspect が何を読み取り、何を出力し、どのフラグで それを制御するかについてのオペレーター向けリファレンスです。

Terminal window
kozou inspect [--format json|yaml] [--output <path>] [--config <path>]

フラグを指定しない場合、kozou inspect./kozou.config.yaml を読み取り、 設定されたデータベースを検査し、Schema Context を JSON として stdout に 書き出します。

実行順は次のとおりです。

  1. kozou.config.yaml を読み込みます。 デフォルトでは Kozou は ./kozou.config.yaml を読み取ります。別の場所を指す場合は --config <path> を渡してください。この設定はデータベース接続と検査対象のスキーマを 提供します。kozou.config.yaml を参照してください。
  2. データベースを検査します。 Kozou は database.url の接続文字列を 使って接続し、設定された database.schemas についてテーブル、カラム、型、 制約、COMMENT テキストを読み取ります。
  3. UI hints が設定されていれば読み込みます。 uiHints.path が設定されている 場合、hints ファイルがマージされます。UI hints は任意です。ファイルを 読み込めない場合、kozou inspect は警告を stderr に出力し、それなしで処理を 続行します。UI hints を参照してください。
  4. 検査結果と(あれば)UI hints から Schema Context を構築します。
  5. Schema Context を JSON(デフォルト)または YAML として シリアライズして 書き出します。 出力先は stdout(デフォルト)または --output で指定された ファイルです。

出力は Schema Context です。これは Kozou がデータベースを正規化した モデルです。テーブル、カラム、リレーション、そして Kozou が COMMENT タグ (@ai@widget@policy@example)から読み取った意味を、設定した UI hints と組み合わせて捉えます。

これは、Kozou が出力するすべてのサーフェスを駆動するのと同じモデルです。

  • 同梱の @kozou/svelte-ui Admin UI、
  • AI エージェントに公開される @kozou/mcp MCP コンテキスト、
  • REST サーフェス(v0.1 では PostgREST、v0.2 系列では実験的な自作の @kozou/api)。

これら 3 つすべてがこの 1 つのモデルからコンパイルされるため、 kozou inspect は「Kozou は私のスキーマをどう認識しているか」についての 基準となる真実です。各サーフェスがこのモデルからどのように導出されるかに ついては、出力サーフェス を参照してください。

デフォルトの形式は整形された JSON です。末尾の改行は常に追加されるため、 出力はパイプやリダイレクトに安全に使えます。

{
"tables": [
{
"name": "products",
"schema": "public",
"columns": [
{ "name": "id", "type": "uuid" },
{ "name": "status", "type": "text" }
]
}
]
}

正確な JSON の形は Schema Context の実装の詳細であり、リリース間で拡張される 可能性があります。上記のフィールドは例示として扱ってください。

kozou inspect はフラグから接続文字列を読み取りません。kozou.config.yamldatabase.url を読み取ります。Kozou に同梱されるテンプレートは、このフィールドを 環境から設定します。

database:
url: ${DATABASE_URL}
schemas: [public]

そのため、デフォルトの設定ではコマンドの前に DATABASE_URL をエクスポート (またはインラインで設定)して接続を供給します。${DATABASE_URL} プレースホルダーは、 設定が読み込まれるときにプロセス環境から展開されます。

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

kozou CLI は KOZOU_DATABASE_URL 変数を直接認識しないことに注意してください。 設定内の ${DATABASE_URL} プレースホルダーだけがその役割を果たします。設定が database.url をハードコードしていたり、別の変数を読み取る場合は、そちらを 設定してください。

フラグ引数デフォルト説明
--formatjson | yamljson出力形式。それ以外の値はエラーで終了します。
--output<path>-出力先。- は stdout に書き出し、それ以外の値はファイルパスです。
--config<path>./kozou.config.yaml読み込む kozou.config.yaml へのパス。

Schema Context を JSON としてターミナルに出力します。

Terminal window
DATABASE_URL=postgres://kozou:kozou@localhost:5432/kozou \
kozou inspect

stdout をリダイレクトして Schema Context を YAML ファイルに書き出します。

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

シェルのリダイレクトの代わりに --output で同じことを行います。コマンド自体に ファイルを管理させたいときに便利です。

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

作業ディレクトリ以外の場所にある設定ファイルを使います。

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

npx 経由でインストールせずに実行することもできます。

Terminal window
DATABASE_URL=postgres://kozou:kozou@localhost:5432/kozou \
npx kozou inspect --format yaml > schema.yaml
  • COMMENT の変更を検証する。 テーブルまたはカラムのコメントを編集した後 — 例えば products.status@widget@ai タグを追加した後 — kozou inspect を実行すれば、サーバーを起動せずに、Kozou が期待どおりに 読み取ったかを確認できます。
  • スキーマを時系列で差分比較する。 YAML をファイルに書き出し (kozou inspect --format yaml > schema.yaml)、それをレビューにコミットするか、 2 つのキャプチャを差分比較して、マイグレーションが導出モデルをどう変えたかを 確認します。
  • ツールに渡す。 JSON を、Kozou のデータベースビューを必要とする他の コマンドやスクリプトにパイプします。
  • 出力サーフェス — Admin UI、MCP、REST の各 サーフェスがそれぞれどのように Schema Context からコンパイルされるか。
  • kozou.config.yamlkozou inspect が読み取る 設定の全体。database.urldatabase.schemasuiHints.path を含みます。
  • kozou dev — 同じ設定から、同梱の Admin UI と MCP HTTP サーバーを起動します。
  • kozou mcp — Schema Context を MCP 経由で AI エージェントに 公開します。