# CLI

> ターミナルからManagement APIをスクリプト化し、サイトのコレクション用のTypeScript型を生成し、ヘッドレスフロントエンドの設定をチェックします。

> Markdown version of https://kanorio.com/ja/developers/cli. Append `.md` to any developer docs URL for this format. Index: https://kanorio.com/llms.txt · MCP: https://app.kanorio.com/api/mcp
>
> Translated from the English original: https://kanorio.com/en/developers/cli.md

Kanorio CLIは、スクリプトやCI向けにManagement APIをラップし、型生成とヘッドレスフロントエンドのヘルスチェックという2つの開発者ツールを提供します。

```bash
npx @kanorio/cli --help
```

## サインイン

```bash
npx @kanorio/cli login --token knr_pat_...
```

トークンは、所有者のみがアクセス可能な権限で `~/.config/kanorio/config.json` に保存されます。CI環境では、保存されたトークンよりも優先される `KANORIO_TOKEN` を設定してください。[サービスアカウント](https://kanorio.com/ja/developers/authentication)のトークンも使用可能です。

## 一般的なコマンド

```bash
kanorio sites list
kanorio pages list ws_example123
kanorio pages replace-sections ws_example123 pg_example456 --file sections.json
kanorio media upload ws_example123 --file hero.jpg
kanorio publish ws_example123
kanorio domains status ws_example123
```

コンテンツを上書きするコマンドは、実行前にリソースを読み込み、そのタイムスタンプを送信します。そのため、他者の編集を上書きすることなく `CONFLICT` エラーで失敗するようになっています。コマンドの全リストを確認するには `kanorio --help` を実行してください。

## 出力と終了コード

- `--json` を追加すると、エラーを含む生のAPIレスポンスが出力され、スクリプト処理に利用できます。
- エラーは stderr に `<CODE> (HTTP <status>): <message>` の形式で出力され、終了コード `1` で終了します。使用方法の誤りは終了コード `2` で終了します。
- 非推奨の操作に関する警告は stderr に出力されます。

## 型の生成

```bash
kanorio types --site https://s-xxxxxxxxxxxx.kanorio.com --out src/kanorio.d.ts
```

`types` コマンドは、サイトの公開コレクションスキーマを読み取り、すべてのコレクションに対する `FieldData`、`Expanded`、`Item` 型を生成します。さらに、ページ、グローバル、サイトメタデータの型も生成されます。スキーマが変更された際に再度実行するか、`collections.schema.changed` Webhook を購読して自動化してください。

## ヘッドレスフロントエンドのチェック

```bash
kanorio doctor --site ws_example123
```

`doctor` コマンドは、フロントエンドがサイトマップ、robots.txt、llms.txt、フィード、JSON-LD、IndexNowキーファイルを正しく提供しているか、ページコンテンツが同期されているか、ページビューとWebhookが正常に到達しているかを確認します。Kanorioホストのサイトから独自のフロントエンドへドメインを移行する前に `--switching` を追加して実行してください。
