open-index/open-npm huggingface dataset:
npm package: @oyster-lib/cli
Description: Oyster アプリケーションの **ログイン**・**デプロイ**・**マイグレーション** を行う CLI ツール。
Latest version: 2.2.2

# Oyster CLI v2

Oyster アプリケーションの **ログイン**・**デプロイ**・**マイグレーション** を行う CLI ツール。

## セットアップ

```bash
cd oyster-cli
pnpm install

# v2 のみビルド（bun が必要）
pnpm build:v2
```

## コマンド

### `oyster login`

Oyster サーバーに認証して API キーを取得・保存する。

```bash
oyster login
oyster login --server https://your-server.example.com
```

認証情報は `~/.config/oyster/config.json` に保存される（ファイル権限 600）。

環境変数でも指定可能:
- `OYSTER_API_KEY` - API キー
- `OYSTER_SERVER_URL` - サーバー URL

### `oyster deploy`

フロントエンド・バックエンドをデプロイする。

```bash
# 両方デプロイ（対話でドメイン・アプリを選択）
oyster deploy

# フロントエンドのみ
oyster deploy --frontend

# バックエンドのみ
oyster deploy --backend

# ステージング環境にデプロイ
oyster deploy --staging

# ドメイン・アプリを直接指定
oyster deploy -d craif -a CRM

# 組み合わせ例: craif ドメインの CRM のフロントエンドだけ staging にデプロイ
oyster deploy -d craif -a CRM -f -s
```

| オプション | 短縮 | 説明 |
|---|---|---|
| `--frontend` | `-f` | フロントエンドのみ |
| `--backend` | `-b` | バックエンドのみ |
| `--staging` | `-s` | ステージング環境 |
| `--domain <name>` | `-d` | ドメイン名を直接指定 |
| `--app <name>` | `-a` | アプリ名を直接指定 |

### `oyster migrate`

データベースマイグレーション（`prisma migrate deploy`）を実行する。

```bash
oyster migrate
oyster migrate -d craif -a CRM
oyster migrate --staging
```

| オプション | 短縮 | 説明 |
|---|---|---|
| `--staging` | `-s` | ステージング環境 |
| `--domain <name>` | `-d` | ドメイン名を直接指定 |
| `--app <name>` | `-a` | アプリ名を直接指定 |

## アーキテクチャ

```
oyster-cli/packages/v2/
├── src/
│   ├── index.ts           # エントリポイント
│   ├── config.ts          # 設定ファイル管理 (~/.config/oyster/config.json)
│   ├── commands/
│   │   ├── login.ts       # oyster login
│   │   ├── deploy.ts      # oyster deploy
│   │   └── migrate.ts     # oyster migrate
│   └── utils/
│       ├── http.ts        # 認証付き HTTP クライアント
│       └── input.ts       # 対話的なドメイン・アプリ選択
├── package.json
├── tsconfig.json
└── README.md
```

### サーバー側 API エンドポイント

| CLI コマンド | API エンドポイント | メソッド |
|---|---|---|
| `oyster login` | `/api/v1/cli/login` | POST |
| `oyster deploy` | `/api/v1/cli/deploy` | POST |
| `oyster migrate` | `/api/v1/cli/migrate` | POST |
| (ドメイン一覧) | `/api/v1/cli/domains` | GET |
| (アプリ一覧) | `/api/v1/cli/apps` | GET |