> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI

> Jinba CLIをインストールしてターミナルからJinba Flowを操作する

## 概要

Jinba CLI（`jinba`）は、Jinbaの公式コマンドラインインターフェースです。ワークスペースの一覧取得、フローの作成・更新、ファイルのアップロードなど、Jinba Flow APIの操作をHTTPリクエストを手書きすることなくターミナルから実行できます。

## インストール

### 動作要件

* Node.js 20以上

### インストール手順

CLIはnpmにパブリックパッケージとして公開されています。グローバルインストールしてください：

```bash theme={null}
npm install -g @jinba/cli
```

### インストールの確認

```bash theme={null}
jinba --version
jinba --help
```

### アップデート

```bash theme={null}
npm install -g @jinba/cli@latest
```

新しいバージョンが利用可能な場合、対話的なターミナルセッションではCLIがアップデート通知を表示します。古いバージョンはサポート対象外になることがあり、その場合はAPIから上記コマンドでのアップグレードを求められます。

## 認証

ほとんどのAPIコマンドにはJinbaのユーザーAPIキーが必要です。APIキーが未保存の状態で任意のAPIコマンドを実行すると、CLIがキーの入力を求めます：

```bash theme={null}
jinba flow api workspace list
```

APIキーは[プロフィールページ](https://flow.jinba.io/profile)から取得できます。キーはローカルの `~/.config/jinba/config.json` に保存されます。保存したキーを削除するには：

```bash theme={null}
jinba logout
```

環境変数での設定も可能です（CI環境などで便利です）：

| 環境変数                             | 用途                   |
| -------------------------------- | -------------------- |
| `JINBAFLOW_API_KEY`              | 保存済みキーの代わりに使用するAPIキー |
| `JINBAFLOW_API_BASE_URL`         | APIベースURLの上書き        |
| `JINBAFLOW_DISABLE_UPDATE_CHECK` | アップデート通知の無効化         |

## 使い方

コマンドは次のパターンに従います：

```bash theme={null}
jinba flow api <resource> <action> [options]
```

例：

```bash theme={null}
jinba flow api workspace list
jinba flow api flow create --workspace-id ws_123 --name "My Flow" --description "Example description"
jinba flow api flow create --workspace-id ws_123 --stdin < payload.json
jinba flow api workspace archive --workspace-id ws_123 --dry-run
jinba flow api file upload --workspace-id ws_123 --file ./report.pdf
```

すべてのコマンドにヘルプが用意されています：

```bash theme={null}
jinba flow api flow create --help
```

## 注意事項

* パスパラメータは位置引数としても `--workspace-id` のようなフラグとしても指定できます。
* `--stdin` はJSONオブジェクトを読み込み、明示的に指定したフラグとマージします。
* 更新系コマンドは `--dry-run` をサポートし、`Idempotency-Key` を自動的に送信します。
* 破壊的なコマンド（archive、delete、revokeなど）はデフォルトで確認プロンプトを表示します。`--yes` または `--force` でスキップできます。
* ファイルアップロードコマンドはローカルファイルパス（例：`--file ./report.pdf`）を受け付け、拡張子からコンテンツタイプを推定します。
