---
title: CLI リファレンス
description: lolipop CLI のコマンド一覧と使い方
---

# CLI リファレンス

`lolipop` はロリポップ！デプロイナウのコマンドラインツールです。

## インストール

```sh
npm install -g lolipop
```

実行には Node.js 22.12.0 以上が必要です。

## コマンド一覧

| コマンド | 用途 |
| --- | --- |
| `lolipop login` | ログインしてセッションを保存する |
| `lolipop logout` | ログアウトして認証情報を削除する |
| `lolipop health` | API サーバーの稼働状態を確認する |
| `lolipop frameworks list` | 利用できる framework の一覧を表示する |
| `lolipop project` | project の作成、一覧、詳細、link などを操作する |
| `lolipop build-config` | ビルド設定の表示と更新を行う |
| `lolipop deploy` | アプリをデプロイする |
| `lolipop skill install` | コーディングエージェントに skill を設置する |

一覧・詳細・更新・デプロイなどの出力系コマンドでは、`--json` を付けると機械処理しやすい JSON 1 行で出力します。

## login

ブラウザを開いてロリポップ！アカウントで認証し、セッションを保存します。
認証情報はローカルの `credentials.json`（`~/.config/lolipop/`）に保存されます。

```sh
lolipop login
```

`lolipop deploy` は未ログインでも自動でログインを開始するため、先に `login` を実行するかどうかは任意です。

## logout

サーバ側のセッションを無効化し、ローカルの認証情報を削除します。

```sh
lolipop logout
```

## health

API サーバーの稼働状態（`SERVING` / `NOT_SERVING` / `UNKNOWN`）を確認します。認証不要です。

```sh
lolipop health
```

## frameworks list

利用できる framework の一覧を表示します。
`project create` や `deploy --name` で指定する framework 名はここで確認します。

```sh
lolipop frameworks list
```

## project

### project create

プロジェクトを新規作成します。
サブドメインとビルド設定（BuildConfig）もまとめて作られます。
サブドメインは省略時にプロジェクト名と同じ値になりますが、`--domain` で別の値を指定できます。

```sh
lolipop project create --name <name> --framework <framework>
```

| オプション | 説明 |
| --- | --- |
| `--name <name>` | プロジェクト名（DNS ラベル形式。未指定なら対話入力） |
| `--framework <framework>` | framework の name（未指定なら一覧から選択） |
| `--install <cmd>` | インストールコマンド（省略時は framework の既定値） |
| `--build <cmd>` | ビルドコマンド（省略時は framework の既定値） |
| `--output <dir>` | ビルド成果物の出力ディレクトリ（省略時は framework の既定値） |
| `--root <dir>` | ビルドを実行するディレクトリ（monorepo 用、省略時はリポジトリルート） |
| `--domain <label>` | サブドメイン（省略時は name と同じ） |

### project list

自分が所有するプロジェクトの一覧を表示します（ページング対応）。

```sh
lolipop project list
```

| オプション | 説明 |
| --- | --- |
| `--page-size <n>` | 1 ページあたりの件数（1〜100、省略時は 50） |
| `--page-token <token>` | 前回の出力に含まれる next_page_token（初回は省略） |

### project show

プロジェクトの詳細（プロジェクト情報 / サブドメイン / 最新のデプロイ / ビルド設定）を表示します。

```sh
lolipop project show --project <id>
```

`--project` を省略すると `.lolipop/project.json`、無ければ一覧から選択します。

### project link / unlink

カレントディレクトリをプロジェクトに link すると、`.lolipop/project.json` が作られ、以後 `--project` を省略できます。

```sh
lolipop project link <id>     # cwd をプロジェクトに紐付け
lolipop project unlink        # link を解除
```

link は親ディレクトリを辿らず、カレントディレクトリのみを対象にします。

### project status

現在対象となるプロジェクト（id / name / 解決元）を表示します。

```sh
lolipop project status
```

### project logs

デプロイのビルドログを表示します。

```sh
lolipop project logs --latest        # 最新 deploy のログ
lolipop project logs <deployment-id> # deployment を指定
```

| オプション | 説明 |
| --- | --- |
| `--latest` | 最新の deployment のログを表示する（非対話でも使える） |
| `--project <id>` | deployment id 省略時に使うプロジェクトの id |

## build-config

### build-config get

プロジェクトのビルド設定を表示します。

```sh
lolipop build-config get --project <id>
```

### build-config update

ビルド設定を更新します。
指定した項目のみ変更され、空文字を渡すとその項目を空にします。

```sh
lolipop build-config update --project <id> --build "npm run build"
```

| オプション | 説明 |
| --- | --- |
| `--framework <framework>` | 変更後の framework の name |
| `--install <cmd>` | 変更後のインストールコマンド |
| `--build <cmd>` | 変更後のビルドコマンド |
| `--output <dir>` | 変更後の出力ディレクトリ |
| `--root <dir>` | 変更後のビルドを実行するディレクトリ |

## deploy

カレントディレクトリ（または `--dir`）のファイルをプロジェクトにデプロイします。
未ログインなら自動でログインします。

```sh
cd <アプリのディレクトリ>
lolipop deploy
```

デプロイ先には、すでにあるプロジェクトに再デプロイする場合と、新しくプロジェクトを作ってデプロイする場合があります。

`--project` / `--name` を指定せず、ディレクトリもプロジェクトに link していなければ、デプロイ先は対話で決められます。
既存のプロジェクト一覧から選ぶか、その場で新しいプロジェクトを作るかを選びます。

次のオプションを使うと、この選択を非対話で指定できます。

### 既存のプロジェクトにデプロイする

`--project` でデプロイ先を指定します。
link 済みのディレクトリなら `--project` は省略できます。

```sh
lolipop deploy --project <id>
```

| オプション | 既定値 | 説明 |
| --- | --- | --- |
| `--project <id>` | | デプロイ先プロジェクトの id |
| `--dir <dir>` | `.` | デプロイするディレクトリ |

### 新しいプロジェクトを作ってデプロイする

`--name` を渡すと、プロジェクトの新規作成とデプロイを同時に行います。
残りのオプションは、このとき作られるプロジェクトの設定です。

```sh
lolipop deploy --name <name> --framework <framework>
```

| オプション | 既定値 | 説明 |
| --- | --- | --- |
| `--name <name>` | | 新規作成するプロジェクト名 |
| `--dir <dir>` | `.` | デプロイするディレクトリ |
| `--framework <framework>` | | framework の name |
| `--install <cmd>` | | インストールコマンド |
| `--build <cmd>` | | ビルドコマンド |
| `--output <dir>` | | 出力ディレクトリ |
| `--root <dir>` | | ビルドを実行するディレクトリ（monorepo 用） |
| `--domain <label>` | | サブドメイン |

`lolipop deploy` は、デプロイ対象のディレクトリをアップロードします。
どのファイルが含まれるか（`.env` などの扱い、常に除外されるファイル）は[デプロイに含まれるファイル](/docs/configuration/deployment-files)を参照してください。

完了すると、デプロイの詳細を確認できるダッシュボードの URL が表示されます。

同じプロジェクトで新しいデプロイを実行すると、そのプロジェクトの進行中（キューイング中やビルド中）のデプロイはキャンセルされ、常に最新のデプロイだけが処理されます。
連続してデプロイした場合は、最後の 1 回だけが公開されます。

## skill install

選択したコーディングエージェント（Claude / Codex / Cursor）の skill ディレクトリに、lolipop CLI の skill を設置します。
skill の取得にはログイン済みの認証情報が必要です。

```sh
lolipop skill install
```

| オプション | 説明 |
| --- | --- |
| `--agent <agents>` | 設置先 agent をカンマ区切りで指定（`claude,codex,cursor`。未指定なら対話選択） |
| `--scope <scope>` | 設置先スコープ（`project` \| `global`。未指定なら対話選択） |

設置される skill の内容は[lolipop CLI スキル](/docs/skills/lolipop-cli)で確認できます。

## アプリ側の要件

- **Next.js は `next.config` で `output: 'standalone'` が必須**です。これが無いとビルド成果物を公開できません。
- インストール・ビルドコマンドは npm を前提とします。pnpm / yarn には対応していません。

Next.js の設定と注意事項は[Next.js をデプロイする](/docs/frameworks/nextjs)を参照してください。
