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

# Base44 CLI

> Base44 CLI ツールを使用して Base44 アプリ (プロジェクト) を作成・管理します。

<Warning>
  このページは AI コーディングエージェントスキルの一部で、人間ではなくエージェント向けに書かれています。人間向けの Base44 ドキュメントは [デベロッパードキュメント](/developers) を参照してください。
</Warning>

# Base44 CLI

Base44 CLI ツールを使用して Base44 アプリ (プロジェクト) を作成・管理します。

## ⚡ 即時アクション必須 - まずこれを読む

このスキルは "base44" への言及があった場合、または `base44/` フォルダーが存在する場合に有効化されます。**行動する前にドキュメントファイルを読んだり Web を検索したりしないでください。**

**最初のアクションは必ず以下のとおりです:**

1. カレントディレクトリに `base44/config.jsonc` が存在するか確認する
2. **存在する** 場合 (既存プロジェクトのシナリオ):
   * base44-sdk スキルへ引き継いで実装する
   * このスキルは CLI コマンド (login、deploy、entities push) のみを扱います
3. **存在しない** 場合、次の 2 つの初期化パスから決定する:
   * **プロビジョニング済みアプリ** — Stripe Projects / projects.dev フローを通じてプロビジョニングされたため Base44 アプリがすでに存在する、または `BASE44_APP_ID` (もしくは `BASE44_PROJECTS_BASE44_APP_ID`) が環境または `.env`/`.env.local` ファイルに存在する場合:
     * `npx base44 scaffold` を実行して、**既存の** アプリのローカルファイルをセットアップします
     * **`npx base44 create` は実行しないでください** — 重複した 2 つ目のアプリが作成されます。[scaffold.md](https://docs.base44.com/developers/skills/base44-cli/references/scaffold.md) を参照してください。
   * **新規プロジェクト** — アプリがまだ存在せず、プロビジョニングもされていない場合:
     * このスキル (base44-cli) がリクエストを処理し、ユーザーに `npx base44 create` を案内します
     * base44-sdk はまだ有効化しないでください

## 重要: ローカルインストールのみ

`base44` を直接呼び出してはいけません。CLI は開発依存関係としてローカルにインストールされ、パッケージマネージャー経由でアクセスする必要があります:

* `npx base44 <command>` (npm - 推奨)
* `yarn base44 <command>` (yarn)
* `pnpm base44 <command>` (pnpm)

誤: `base44 login`
正: `npx base44 login`

## 必須: セッション開始時の認証チェック

**重要**: このスキルが有効化された AI セッションの開始時に、必ず以下を実行してください:

1. **認証状態を確認** するには次を実行します:
   ```bash theme={null}
   npx base44 whoami
   ```

2. **ユーザーがログイン済み** の場合 (コマンドが成功し、メールアドレスが表示される):
   * リクエストされたタスクを続行します

3. **ユーザーがログインしていない** 場合 (コマンドが失敗またはエラーを表示する):
   * **直ちに停止します**
   * CLI 操作を **一切実行しません**
   * **ユーザーに手動でログインするよう依頼します** 次のコマンドを実行してもらいます:
     ```bash theme={null}
     npx base44 login
     ```
   ```
   - ユーザーがログイン完了を確認するまで続行を待ちます
   ```

**このチェックは必須で、他の Base44 CLI コマンドを実行する前に必ず行ってください。**

**Stripe Projects / projects.dev 経由でプロビジョニング済みですか?** そのフローでプロビジョニングされた場合、CLI は注入された `BASE44_ACCESS_TOKEN` / `BASE44_REFRESH_TOKEN` 環境変数から認証をシードします (`BASE44_PROJECTS_*` プレフィックス付きの名前は自動的に正規化されます)。この場合、`npx base44 whoami` はすでに成功しており、対話的な `npx base44 login` は **不要** です。

## 概要

Base44 CLI は、認証、プロジェクトの作成、エンティティの管理、Base44 アプリケーションのデプロイのためのコマンドラインツールを提供します。フレームワーク非依存で、Vite、Next.js、Create React App、Svelte、Vue などの主要なフロントエンドフレームワークで動作します。

## このスキルと base44-sdk の使い分け

**base44-cli を使う場合:**

* **新規** の Base44 プロジェクトをゼロから作成する
* 空のディレクトリでプロジェクトを初期化する
* 外部でプロビジョニングされた **既存** アプリ (例: Stripe Projects / projects.dev フロー経由) のローカルファイルをセットアップする → `scaffold` を使用
* ディレクトリに `base44/config.jsonc` が存在しない
* ユーザーの発言: 「新しいプロジェクトを作成」「プロジェクトを初期化」「プロジェクトをセットアップ」「新しい Base44 アプリを開始」
* CLI 経由でデプロイ、エンティティのプッシュ、認証を行う
* CLI コマンド (`npx base44 ...`) を扱う

**base44-sdk を使う場合:**

* **既存の** Base44 プロジェクトで機能を構築する
* `base44/config.jsonc` がすでに存在する
* Base44 SDK を使って JavaScript/TypeScript コードを書く
* 機能、コンポーネント、フィーチャーを実装する
* ユーザーの発言: 「実装する」「機能を構築する」「機能を追加する」「コードを書く」

**スキルの依存関係:**

* `base44-cli` は新規プロジェクトにおける `base44-sdk` の **前提条件** です
* ユーザーが「アプリを作成」したく、Base44 プロジェクトが存在しない場合は、まず `base44-cli` を使用します
* `base44-sdk` は Base44 プロジェクトがすでに初期化されていることを前提とします

**状態チェックのロジック:**
スキルを選択する前に確認します:

* IF (ユーザーが「アプリを作成/構築」または「プロジェクトを作る」と発言):
  * IF (`base44/config.jsonc` が存在):
    → **base44-sdk** を使用 (プロジェクトが存在するため機能を構築)
  * ELSE IF (アプリが外部でプロビジョニング済み — `BASE44_APP_ID`/`BASE44_PROJECTS_BASE44_APP_ID` が設定されている、または Stripe Projects / projects.dev フローが実行された直後):
    → **base44-cli** → `npx base44 scaffold` を使用 (既存アプリのローカルファイルをセットアップ; `create` は行わない)
  * ELSE:
    → **base44-cli** → `npx base44 create` を使用 (新規プロジェクト初期化が必要)

## プロジェクト構造

Base44 プロジェクトは、標準的なフロントエンドプロジェクトと `base44/` 構成フォルダーを組み合わせたものです:

```
my-app/
├── base44/                      # Base44 configuration (created by CLI)
│   ├── config.jsonc             # Project settings, site config
│   ├── .types/                  # Auto-generated TypeScript types (created by `types generate`)
│   │   └── types.d.ts           # Module augmentation for @base44/sdk
│   ├── entities/                # Entity schema definitions
│   │   ├── task.jsonc
│   │   └── board.jsonc
│   ├── functions/               # Backend functions (optional)
│   │   └── my-function/
│   │       └── entry.ts
│   ├── agents/                  # Agent configurations (optional)
│   │   └── support_agent.jsonc
│   └── connectors/              # OAuth connector configurations (optional)
│       └── googlecalendar.jsonc
├── src/                         # Frontend source code
│   ├── api/
│   │   └── base44Client.js      # Base44 SDK client
│   ├── pages/
│   ├── components/
│   └── main.jsx
├── index.html                   # SPA entry point
├── package.json
└── vite.config.js               # Or your framework's config
```

**主なファイル:**

* `base44/config.jsonc` - プロジェクト名、説明、サイトのビルド設定
* `base44/entities/*.jsonc` - データモデルスキーマ (Entity Schema セクションを参照)
* `base44/functions/*/entry.ts` - バックエンド関数のエントリーポイント
* `base44/agents/*.jsonc` - エージェント構成 (オプション)
* `base44/.types/types.d.ts` - エンティティ、関数、エージェント用の自動生成 TypeScript 型 (`npx base44 types generate` で生成)
* `base44/connectors/*.jsonc` - OAuth コネクタ構成 (オプション)
* `src/api/base44Client.js` - フロントエンドで使用する事前構成済み SDK クライアント

**config.jsonc の例:**

```jsonc theme={null}
{
  "name": "My App",                    // Required: project name
  "description": "App description",    // Optional: project description
  "entitiesDir": "./entities",         // Optional: default "entities"
  "functionsDir": "./functions",       // Optional: default "functions"
  "agentsDir": "./agents",             // Optional: default "agents"
  "connectorsDir": "./connectors",     // Optional: default "connectors"
  "site": {                            // Optional: site deployment config
    "installCommand": "npm install",   // Optional: install dependencies
    "buildCommand": "npm run build",   // Optional: build command
    "serveCommand": "npm run dev",     // Optional: local dev server
    "outputDirectory": "./dist"        // Optional: build output directory
  }
}
```

**Config プロパティ:**

| プロパティ                  | 説明                | デフォルト          |
| ---------------------- | ----------------- | -------------- |
| `name`                 | プロジェクト名 (必須)      | -              |
| `description`          | プロジェクトの説明         | -              |
| `entitiesDir`          | エンティティスキーマのディレクトリ | `"entities"`   |
| `functionsDir`         | バックエンド関数のディレクトリ   | `"functions"`  |
| `agentsDir`            | エージェント構成のディレクトリ   | `"agents"`     |
| `connectorsDir`        | コネクタ構成のディレクトリ     | `"connectors"` |
| `site.installCommand`  | 依存関係のインストールコマンド   | -              |
| `site.buildCommand`    | プロジェクトをビルドするコマンド  | -              |
| `site.serveCommand`    | 開発サーバーを実行するコマンド   | -              |
| `site.outputDirectory` | デプロイ用ビルド出力ディレクトリ  | -              |

## インストール

Base44 CLI をプロジェクトの開発依存関係としてインストールします:

```bash theme={null}
npm install --save-dev base44
```

**重要:** `base44` パッケージのバージョンを推測またはハードコードしないでください。最新版を取得するために、バージョン指定子なしで常にインストールしてください。

その後、`npx` を使ってコマンドを実行します:

```bash theme={null}
npx base44 <command>
```

**注意:** このドキュメントのコマンドはすべて `npx base44` を使用します。必要に応じて `yarn base44` または `pnpm base44` も使用できます。

## グローバル `--app-id` オプション

CLI にはグローバル `--app-id <id>` オプションがあり、ローカルプロジェクトファイルではなくアプリコンテキストのみが必要なコマンドで使用します。

**解決順序:** `--app-id` フラグ → `BASE44_APP_ID` 環境変数 → ローカルの `base44/.app.jsonc`

これは、リンクされたプロジェクトディレクトリに切り替えずにアプリを検査または操作したい場合に便利です。よくある例:

```bash theme={null}
# Run a one-off script against a specific app
cat ./script.ts | npx base44 exec --app-id app_123

# Fetch logs for a deployed app without a local checkout
npx base44 logs --app-id app_123 --level error
```

`--app-id` は `exec` や `logs` のようなアプリスコープコマンドで使用します。

ローカルプロジェクトファイルが必要なコマンドでは `--app-id` を使用 **しない** でください:

* `base44 create` は新しいアプリを作成するため `--app-id` を拒否します
* `base44 dev` はリンクされたローカルプロジェクトから実行するため `--app-id` を拒否します
* `base44 deploy` はローカルリソースを読み取るため、依然としてローカルプロジェクトディレクトリが必要です

## 利用可能なコマンド

### 認証

| コマンド            | 説明                     | リファレンス                                                                                           |
| --------------- | ---------------------- | ------------------------------------------------------------------------------------------------ |
| `base44 login`  | デバイスコードフローで Base44 に認証 | [auth-login.md](https://docs.base44.com/developers/skills/base44-cli/references/auth-login.md)   |
| `base44 logout` | 現在のデバイスからログアウト         | [auth-logout.md](https://docs.base44.com/developers/skills/base44-cli/references/auth-logout.md) |
| `base44 whoami` | 現在認証済みのユーザーを表示         | [auth-whoami.md](https://docs.base44.com/developers/skills/base44-cli/references/auth-whoami.md) |

### プロジェクト管理

| コマンド                    | 説明                                             | リファレンス                                                                                           |
| ----------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `base44 create`         | テンプレートから新規 Base44 プロジェクトを作成                    | [create.md](https://docs.base44.com/developers/skills/base44-cli/references/create.md) ⚠️ **必読** |
| `base44 scaffold`       | 既存 Base44 アプリ (アプリ ID 指定) のローカルプロジェクトをスキャフォールド | [scaffold.md](https://docs.base44.com/developers/skills/base44-cli/references/scaffold.md)       |
| `base44 link`           | 既存のローカルプロジェクトを Base44 にリンク                     | [link.md](https://docs.base44.com/developers/skills/base44-cli/references/link.md)               |
| `base44 eject`          | 既存 Base44 プロジェクトのコードをダウンロード                    | [eject.md](https://docs.base44.com/developers/skills/base44-cli/references/eject.md)             |
| `base44 dashboard open` | ブラウザーでアプリダッシュボードを開く                            | [dashboard.md](https://docs.base44.com/developers/skills/base44-cli/references/dashboard.md)     |

### 開発

| コマンド         | 説明                                                                  | リファレンス                                                                           |
| ------------ | ------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `base44 dev` | Base44 バックエンドのローカル開発を開始 (`site.serveCommand` が設定されている場合はフロントエンドも起動) | [dev.md](https://docs.base44.com/developers/skills/base44-cli/references/dev.md) |

### デプロイ

| コマンド            | 説明                                                             | リファレンス                                                                                 |
| --------------- | -------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `base44 deploy` | すべてのリソース (entities、functions、agents、connectors、認証設定、サイト) をデプロイ | [deploy.md](https://docs.base44.com/developers/skills/base44-cli/references/deploy.md) |

### エンティティ管理

| アクション / コマンド           | 説明                                | リファレンス                                                                                                             |
| ---------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Create Entities        | `base44/entities` フォルダーにエンティティを定義 | [entities-create.md](https://docs.base44.com/developers/skills/base44-cli/references/entities-create.md)           |
| `base44 entities push` | ローカルエンティティを Base44 にプッシュ          | [entities-push.md](https://docs.base44.com/developers/skills/base44-cli/references/entities-push.md)               |
| RLS Patterns           | 行レベルセキュリティの例と演算子                  | [rls-examples.md](https://docs.base44.com/developers/skills/base44-cli/references/rls-examples.md) ⚠️ **RLS 用に必読** |

#### エンティティスキーマ (クイックリファレンス)

エンティティファイルを作成する際は必ずこの正確な構造に従ってください:

**ファイル命名:** `base44/entities/{kebab-case-name}.jsonc` (例: `TeamMember` の場合は `team-member.jsonc`)

**スキーマテンプレート:**

```jsonc theme={null}
{
  "name": "EntityName",
  "type": "object",
  "properties": {
    "field_name": {
      "type": "string",
      "description": "Field description"
    }
  },
  "required": ["field_name"]
}
```

**フィールド型:** `string`, `number`, `integer`, `boolean`, `array`, `object`, `binary`
**文字列フォーマット:** `date`, `date-time`, `time`, `email`, `uri`, `hostname`, `ipv4`, `ipv6`, `uuid`, `file`, `regex`, `richtext`
**列挙型の場合:** `"enum": ["value1", "value2"]` を追加し、オプションで `"default": "value1"` を指定
**エンティティ名:** 英数字のみ (パターン: `/^[a-zA-Z0-9]+$/`)

完全なドキュメントは [entities-create.md](https://docs.base44.com/developers/skills/base44-cli/references/entities-create.md) を参照してください。

### 関数管理

| アクション / コマンド                                   | 説明                                                   | リファレンス                                                                                                     |
| ---------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Create Functions                               | `base44/functions` に関数を定義                            | [functions-create.md](https://docs.base44.com/developers/skills/base44-cli/references/functions-create.md) |
| `base44 functions deploy [names...] [--force]` | ローカル関数を Base44 にデプロイ; 特定の関数のみ対象にしたり、削除された関数を整理したりできる | [functions-deploy.md](https://docs.base44.com/developers/skills/base44-cli/references/functions-deploy.md) |
| `base44 functions delete <names...>`           | 1 つ以上のデプロイ済み関数を Base44 から削除                          | [functions-delete.md](https://docs.base44.com/developers/skills/base44-cli/references/functions-delete.md) |
| `base44 functions list`                        | Base44 リモートにデプロイ済みのすべての関数を一覧表示                       | [functions-list.md](https://docs.base44.com/developers/skills/base44-cli/references/functions-list.md)     |
| `base44 functions pull [name]`                 | デプロイ済み関数を Base44 からローカルファイルへプル                       | [functions-pull.md](https://docs.base44.com/developers/skills/base44-cli/references/functions-pull.md)     |

### エージェント管理

エージェントはユーザーと対話し、アプリのエンティティにアクセスし、バックエンド関数を呼び出せる会話型 AI アシスタントです。これらのコマンドでエージェント構成を管理します。

| アクション / コマンド         | 説明                              | リファレンス                                                                                           |
| -------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------ |
| Create Agents        | `base44/agents` フォルダーにエージェントを定義 | 下記の Agent Schema を参照                                                                             |
| `base44 agents pull` | リモートのエージェントをローカルファイルにプル         | [agents-pull.md](https://docs.base44.com/developers/skills/base44-cli/references/agents-pull.md) |
| `base44 agents push` | ローカルエージェントを Base44 にプッシュ        | [agents-push.md](https://docs.base44.com/developers/skills/base44-cli/references/agents-push.md) |

**注意:** エージェントコマンドは完全同期を行います - プッシュはすべてのリモートエージェントをローカルのもので置き換え、プルはすべてのローカルエージェントをリモートのもので置き換えます。

#### エージェントスキーマ (クイックリファレンス)

**ファイル命名:** `base44/agents/{agent_name}.jsonc` (例: `support_agent.jsonc`)

**スキーマテンプレート:**

```jsonc theme={null}
{
  "name": "agent_name",
  "description": "Brief description of what this agent does",
  "instructions": "Detailed instructions for the agent's behavior",
  "tool_configs": [
    // Entity tool - gives agent access to entity operations
    { "entity_name": "tasks", "allowed_operations": ["read", "create", "update", "delete"] },
    // Backend function tool - gives agent access to a function
    { "function_name": "send_email", "description": "Send an email notification" }
  ],
  "whatsapp_greeting": "Hello! How can I help you today?"
}
```

**命名ルール:**

* エージェント名はパターン `/^[a-z0-9_]+$/` に一致する必要があります (小文字英数字とアンダースコア、1-100 文字)
* 有効: `support_agent`, `order_bot`
* 無効: `Support-Agent`, `OrderBot`

**必須フィールド:** `name`, `description`, `instructions`
**オプションフィールド:** `tool_configs` (デフォルトは `[]`), `whatsapp_greeting`

**Tool config の種類:**

* **Entity tools**: `entity_name` + `allowed_operations` (配列: `read`, `create`, `update`, `delete`)
* **Backend function tools**: `function_name` + `description`

### コネクタ管理

コネクタを使うと、アプリを外部サービス (Google Calendar、Slack、Stripe など) に接続できます。ほとんどのコネクタは OAuth を使用し、バックエンド関数が外部 API を呼び出すためのアクセストークンを提供します。Stripe は例外で、サーバー側で自動的にプロビジョニングされ、OAuth のブラウザーフローはありません。

| アクション / コマンド                       | 説明                                 | リファレンス                                                                                                                       |
| ---------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Create Connectors                  | `base44/connectors` フォルダーにコネクタを定義  | [connectors-create.md](https://docs.base44.com/developers/skills/base44-cli/references/connectors-create.md)                 |
| `base44 connectors list-available` | Base44 で利用可能なすべてのインテグレーションタイプを一覧表示 | [connectors-list-available.md](https://docs.base44.com/developers/skills/base44-cli/references/connectors-list-available.md) |
| `base44 connectors pull`           | リモートコネクタをローカルファイルにプル               | [connectors-pull.md](https://docs.base44.com/developers/skills/base44-cli/references/connectors-pull.md)                     |
| `base44 connectors push`           | ローカルコネクタを Base44 にプッシュ             | [connectors-push.md](https://docs.base44.com/developers/skills/base44-cli/references/connectors-push.md)                     |

**注意:** コネクタコマンドは完全同期を行います - プッシュはすべてのリモートコネクタをローカルのもので置き換え (新しい OAuth コネクタでは OAuth をトリガー)、プルはすべてのローカルコネクタをリモートのもので置き換えます。

#### コネクタスキーマ (クイックリファレンス)

**ファイル命名:** `base44/connectors/{type}.jsonc` (例: `googlecalendar.jsonc`, `slack.jsonc`)

**スキーマテンプレート:**

```jsonc theme={null}
{
  "type": "googlecalendar",
  "scopes": [
    "https://www.googleapis.com/auth/calendar.readonly",
    "https://www.googleapis.com/auth/calendar.events"
  ]
}
```

**必須フィールド:** `type`
**オプションフィールド:** `scopes` (デフォルトは `[]`)

**利用可能なコネクタタイプ:** サポートされているすべてのインテグレーションタイプを見るには `npx base44 connectors list-available` を実行してください。

**注意:** `stripe` も有効なコネクタタイプですが、`list-available` からは返されません。サポートされているタイプとして扱ってください — Base44 によって自動的にプロビジョニングされ、OAuth ブラウザーフローはありません。詳細は [connectors-create.md](https://docs.base44.com/developers/skills/base44-cli/references/connectors-create.md) を参照してください。

完全なドキュメントは [connectors-create.md](https://docs.base44.com/developers/skills/base44-cli/references/connectors-create.md) を参照してください。

### 認証設定

アプリの認証設定 (例: ユーザー名 & パスワードログイン) を管理します。認証設定は `base44/auth/` に保存され、`auth push`/`auth pull` を介して Base44 と同期されます。

| コマンド                                                    | 説明                                                      | リファレンス                                                                                                           |
| ------------------------------------------------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `base44 auth password-login <enable\|disable>`          | ユーザー名 & パスワード認証を有効/無効化                                  | [auth-password-login.md](https://docs.base44.com/developers/skills/base44-cli/references/auth-password-login.md) |
| `base44 auth social-login <provider> <enable\|disable>` | ソーシャルログイン (google、microsoft、facebook、apple) を有効/無効化     | [auth-social-login.md](https://docs.base44.com/developers/skills/base44-cli/references/auth-social-login.md)     |
| `base44 auth sso <enable\|disable>`                     | SSO ID プロバイダー (google、microsoft、github、okta、custom) を構成 | [auth-sso.md](https://docs.base44.com/developers/skills/base44-cli/references/auth-sso.md)                       |
| `base44 auth pull`                                      | 認証設定を Base44 からローカルファイルにプル                              | [auth-pull.md](https://docs.base44.com/developers/skills/base44-cli/references/auth-pull.md)                     |
| `base44 auth push`                                      | ローカルの認証設定を Base44 にプッシュ                                 | [auth-push.md](https://docs.base44.com/developers/skills/base44-cli/references/auth-push.md)                     |

**注意:** 認証設定は `base44 deploy` の一部としてもデプロイされます。

### シークレット管理

プロジェクトのシークレット (Base44 に安全に保存された環境変数) を管理します。これらのコマンドは `--help` 出力からは隠されていますが、完全に機能します。

| コマンド                          | 説明                                         | リファレンス                                                                                                 |
| ----------------------------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| `base44 secrets list`         | すべてのシークレット名を一覧表示                           | [secrets-list.md](https://docs.base44.com/developers/skills/base44-cli/references/secrets-list.md)     |
| `base44 secrets set`          | 1 つ以上のシークレットを設定 (KEY=VALUE または --env-file) | [secrets-set.md](https://docs.base44.com/developers/skills/base44-cli/references/secrets-set.md)       |
| `base44 secrets delete <key>` | シークレットを名前で削除                               | [secrets-delete.md](https://docs.base44.com/developers/skills/base44-cli/references/secrets-delete.md) |

### スクリプト実行

Base44 SDK が事前認証された状態で、アプリに対してワンオフのスクリプトを実行します。これを使うと、エンティティの CRUD 操作 (`base44.entities.MyEntity.list/create/update/delete`)、バックエンド関数の呼び出し (`base44.functions.invoke("myFunction", args)`)、エージェントの呼び出し、SDK が公開する他のリソースへのアクセスを、フル関数のデプロイなしで実行できます。データ移行、一括操作、デバッグ、スクリプト化されたワークフローに便利です。

| コマンド          | 説明                                         | リファレンス                                                                             |
| ------------- | ------------------------------------------ | ---------------------------------------------------------------------------------- |
| `base44 exec` | Base44 SDK が事前認証された状態でスクリプト (stdin 経由) を実行 | [exec.md](https://docs.base44.com/developers/skills/base44-cli/references/exec.md) |

### 型生成

| コマンド                    | 説明                                                      | リファレンス                                                                                                 |
| ----------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `base44 types generate` | エンティティ、関数、エージェント、コネクタから TypeScript 型 (`types.d.ts`) を生成 | [types-generate.md](https://docs.base44.com/developers/skills/base44-cli/references/types-generate.md) |

**出力:** `base44/.types/types.d.ts` — 型付きレジストリ (`EntityTypeRegistry`, `FunctionNameRegistry`, `AgentNameRegistry`, `ConnectorTypeRegistry`) で `@base44/sdk` モジュールを拡張します。

**認証不要。** 完全にローカルで実行されます。生成された型を含めるように `tsconfig.json` を自動で更新します。

### サイト管理

| コマンド                 | 説明                               | リファレンス                                                                                           |
| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------ |
| `base44 site deploy` | ビルド済みサイトファイルを Base44 ホスティングにデプロイ | [site-deploy.md](https://docs.base44.com/developers/skills/base44-cli/references/site-deploy.md) |
| `base44 site open`   | デプロイされたサイトをブラウザーで開く              | [site-open.md](https://docs.base44.com/developers/skills/base44-cli/references/site-open.md)     |

**SPA のみ**: Base44 ホスティングは単一 `index.html` エントリーポイントを持つシングルページアプリケーションをサポートします。すべてのルートは `index.html` から配信されます (クライアントサイドルーティング)。

## クイックスタート

1. プロジェクトに CLI をインストール:
   ```bash theme={null}
   npm install --save-dev base44
   ```

2. Base44 に認証:
   ```bash theme={null}
   npx base44 login
   ```

3. 新規プロジェクトを作成 (常に name と `--path` フラグを指定):
   ```bash theme={null}
   npx base44 create my-app --path .
   ```

4. ローカル開発を実行:
   ```bash theme={null}
   npx base44 dev
   ```

5. ビルドしてすべてをデプロイ:
   ```bash theme={null}
   npm run build
   npx base44 deploy -y
   ```

または個別のリソースをデプロイ:

* `npx base44 entities push` - エンティティのみプッシュ
* `npx base44 functions deploy` - 関数のみデプロイ
* `npx base44 functions delete <name>` - デプロイ済み関数を削除
* `npx base44 functions list` - すべてのデプロイ済み関数を一覧表示
* `npx base44 functions pull` - デプロイ済み関数をローカルファイルにプル
* `npx base44 agents push` - エージェントのみプッシュ
* `npx base44 connectors pull` - Base44 からコネクタをプル
* `npx base44 connectors push` - コネクタのみプッシュ
* `npx base44 auth pull` - Base44 から認証設定をプル
* `npx base44 auth push` - 認証設定のみプッシュ
* `npx base44 site deploy -y` - サイトのみデプロイ

## 一般的なワークフロー

### 新規プロジェクトの作成

**⚠️ 必須: `base44 create` を実行する前に、必ず [create.md](https://docs.base44.com/developers/skills/base44-cli/references/create.md) を読んでください:**

* **テンプレート選択** - 正しいテンプレート (`backend-and-client` と `backend-only`) を選択
* **正しいワークフロー** - テンプレートごとに必要なセットアップ手順が異なります
* **よくある落とし穴** - 失敗の原因となるフォルダー作成エラーを回避

create.md の指示に従わないと、プロジェクトのスキャフォールディングが壊れます。

### 既存プロジェクトのリンク

```bash theme={null}
# If you have base44/config.jsonc but no .app.jsonc
npx base44 link --create --name my-app
```

### ローカル開発の実行

```bash theme={null}
# Starts the Base44 backend locally
npx base44 dev
```

`base44 dev` でフロントエンドも実行したい場合は、`base44/config.jsonc` に `site.serveCommand` が正しく設定されているか (例: `"serveCommand": "npm run dev"`) を確認してください。そのフィールドが存在すると、`base44 dev` はバックエンドとフロントエンドを同時に実行します。

### すべての変更のデプロイ

```bash theme={null}
# Generate types (optional, for TypeScript projects)
npx base44 types generate

# Build your project first
npm run build

# Deploy everything (entities, functions, and site)
npx base44 deploy -y
```

### TypeScript 型の生成

```bash theme={null}
# Generate types from entities, functions, agents, and connectors
npx base44 types generate
```

これにより `base44/.types/types.d.ts` が作成され、`@base44/sdk` モジュールの型付きレジストリが提供されます。エンティティ、関数、エージェント、コネクタを変更した後にこれを実行して、型を同期状態に保ちます。認証は不要です。

### 個別リソースのデプロイ

```bash theme={null}
# Push only entities
npx base44 entities push

# Deploy only functions (all)
npx base44 functions deploy
# Deploy specific functions
npx base44 functions deploy my-function other-function
# Deploy and prune removed functions
npx base44 functions deploy --force

# Push only agents
npx base44 agents push

# Pull connectors from Base44
npx base44 connectors pull

# Push only connectors
npx base44 connectors push

# Deploy only site
npx base44 site deploy -y
```

### ダッシュボードを開く

```bash theme={null}
# Open app dashboard in browser
npx base44 dashboard
```

## 認証

ほとんどのコマンドは認証を必要とします。ログインしていない場合、CLI は自動的にログインを促します。セッションはローカルに保存され、CLI セッションをまたいで永続化されます。

## トラブルシューティング

| エラー                             | 解決策                                                                         |
| ------------------------------- | --------------------------------------------------------------------------- |
| Not authenticated               | 最初に `npx base44 login` を実行してください                                            |
| No entities found               | `base44/entities/` ディレクトリにエンティティが存在するか確認してください                              |
| Entity not recognized           | ファイル名が kebab-case であることを確認 (例: `TeamMember.jsonc` ではなく `team-member.jsonc`) |
| No functions found              | `base44/functions/` に `entry.ts` または `entry.js` を持つ関数が存在するか確認               |
| No agents found                 | `base44/agents/` ディレクトリに有効な `.jsonc` 構成を持つエージェントが存在するか確認                    |
| Invalid agent name              | エージェント名は小文字英数字とアンダースコアのみである必要があります                                          |
| No connectors found             | `base44/connectors/` ディレクトリに有効な `.jsonc` 構成を持つコネクタが存在するか確認                  |
| Invalid connector type          | 有効なタイプを見るには `npx base44 connectors list-available` を実行してください                |
| Duplicate connector type        | 各コネクタタイプはプロジェクトごとに 1 度しか定義できません                                             |
| Connector authorization timeout | `npx base44 connectors push` を再実行し、ブラウザーで OAuth フローを完了してください                |
| No site configuration found     | プロジェクト設定で `site.outputDirectory` が構成されているか確認してください                          |
| Site deployment fails           | 先に `npm run build` を実行し、ビルドが成功しているか確認してください                                 |
| Update available message        | アップデートを促された場合は `npm install -g base44@latest` を実行 (ローカルインストールの場合は npx を使用)  |

<Note>このページは AI を使用して翻訳されました。最も正確で最新の情報については、[英語版](/) を参照してください。 </Note>
