Skip to main content
このページは AI コーディングエージェントスキルの一部で、人間ではなくエージェント向けに書かれています。人間向けの Base44 ドキュメントは デベロッパードキュメント を参照してください。

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 を参照してください。
    • 新規プロジェクト — アプリがまだ存在せず、プロビジョニングもされていない場合:
      • このスキル (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. 認証状態を確認 するには次を実行します:
    npx base44 whoami
    
  2. ユーザーがログイン済み の場合 (コマンドが成功し、メールアドレスが表示される):
    • リクエストされたタスクを続行します
  3. ユーザーがログインしていない 場合 (コマンドが失敗またはエラーを表示する):
    • 直ちに停止します
    • CLI 操作を 一切実行しません
    • ユーザーに手動でログインするよう依頼します 次のコマンドを実行してもらいます:
      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-clinpx base44 scaffold を使用 (既存アプリのローカルファイルをセットアップ; create は行わない)
    • ELSE: → base44-clinpx 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 の例:
{
  "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 をプロジェクトの開発依存関係としてインストールします:
npm install --save-dev base44
重要: base44 パッケージのバージョンを推測またはハードコードしないでください。最新版を取得するために、バージョン指定子なしで常にインストールしてください。 その後、npx を使ってコマンドを実行します:
npx base44 <command>
注意: このドキュメントのコマンドはすべて npx base44 を使用します。必要に応じて yarn base44 または pnpm base44 も使用できます。

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

CLI にはグローバル --app-id <id> オプションがあり、ローカルプロジェクトファイルではなくアプリコンテキストのみが必要なコマンドで使用します。 解決順序: --app-id フラグ → BASE44_APP_ID 環境変数 → ローカルの base44/.app.jsonc これは、リンクされたプロジェクトディレクトリに切り替えずにアプリを検査または操作したい場合に便利です。よくある例:
# 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-idexeclogs のようなアプリスコープコマンドで使用します。 ローカルプロジェクトファイルが必要なコマンドでは --app-id を使用 しない でください:
  • base44 create は新しいアプリを作成するため --app-id を拒否します
  • base44 dev はリンクされたローカルプロジェクトから実行するため --app-id を拒否します
  • base44 deploy はローカルリソースを読み取るため、依然としてローカルプロジェクトディレクトリが必要です

利用可能なコマンド

認証

コマンド説明リファレンス
base44 loginデバイスコードフローで Base44 に認証auth-login.md
base44 logout現在のデバイスからログアウトauth-logout.md
base44 whoami現在認証済みのユーザーを表示auth-whoami.md

プロジェクト管理

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

開発

コマンド説明リファレンス
base44 devBase44 バックエンドのローカル開発を開始 (site.serveCommand が設定されている場合はフロントエンドも起動)dev.md

デプロイ

コマンド説明リファレンス
base44 deployすべてのリソース (entities、functions、agents、connectors、認証設定、サイト) をデプロイdeploy.md

エンティティ管理

アクション / コマンド説明リファレンス
Create Entitiesbase44/entities フォルダーにエンティティを定義entities-create.md
base44 entities pushローカルエンティティを Base44 にプッシュentities-push.md
RLS Patterns行レベルセキュリティの例と演算子rls-examples.md ⚠️ RLS 用に必読

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

エンティティファイルを作成する際は必ずこの正確な構造に従ってください: ファイル命名: base44/entities/{kebab-case-name}.jsonc (例: TeamMember の場合は team-member.jsonc) スキーマテンプレート:
{
  "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 を参照してください。

関数管理

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

エージェント管理

エージェントはユーザーと対話し、アプリのエンティティにアクセスし、バックエンド関数を呼び出せる会話型 AI アシスタントです。これらのコマンドでエージェント構成を管理します。
アクション / コマンド説明リファレンス
Create Agentsbase44/agents フォルダーにエージェントを定義下記の Agent Schema を参照
base44 agents pullリモートのエージェントをローカルファイルにプルagents-pull.md
base44 agents pushローカルエージェントを Base44 にプッシュagents-push.md
注意: エージェントコマンドは完全同期を行います - プッシュはすべてのリモートエージェントをローカルのもので置き換え、プルはすべてのローカルエージェントをリモートのもので置き換えます。

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

ファイル命名: base44/agents/{agent_name}.jsonc (例: support_agent.jsonc) スキーマテンプレート:
{
  "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 Connectorsbase44/connectors フォルダーにコネクタを定義connectors-create.md
base44 connectors list-availableBase44 で利用可能なすべてのインテグレーションタイプを一覧表示connectors-list-available.md
base44 connectors pullリモートコネクタをローカルファイルにプルconnectors-pull.md
base44 connectors pushローカルコネクタを Base44 にプッシュconnectors-push.md
注意: コネクタコマンドは完全同期を行います - プッシュはすべてのリモートコネクタをローカルのもので置き換え (新しい OAuth コネクタでは OAuth をトリガー)、プルはすべてのローカルコネクタをリモートのもので置き換えます。

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

ファイル命名: base44/connectors/{type}.jsonc (例: googlecalendar.jsonc, slack.jsonc) スキーマテンプレート:
{
  "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 を参照してください。 完全なドキュメントは connectors-create.md を参照してください。

認証設定

アプリの認証設定 (例: ユーザー名 & パスワードログイン) を管理します。認証設定は base44/auth/ に保存され、auth push/auth pull を介して Base44 と同期されます。
コマンド説明リファレンス
base44 auth password-login <enable|disable>ユーザー名 & パスワード認証を有効/無効化auth-password-login.md
base44 auth social-login <provider> <enable|disable>ソーシャルログイン (google、microsoft、facebook、apple) を有効/無効化auth-social-login.md
base44 auth sso <enable|disable>SSO ID プロバイダー (google、microsoft、github、okta、custom) を構成auth-sso.md
base44 auth pull認証設定を Base44 からローカルファイルにプルauth-pull.md
base44 auth pushローカルの認証設定を Base44 にプッシュauth-push.md
注意: 認証設定は base44 deploy の一部としてもデプロイされます。

シークレット管理

プロジェクトのシークレット (Base44 に安全に保存された環境変数) を管理します。これらのコマンドは --help 出力からは隠されていますが、完全に機能します。
コマンド説明リファレンス
base44 secrets listすべてのシークレット名を一覧表示secrets-list.md
base44 secrets set1 つ以上のシークレットを設定 (KEY=VALUE または —env-file)secrets-set.md
base44 secrets delete <key>シークレットを名前で削除secrets-delete.md

スクリプト実行

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

型生成

コマンド説明リファレンス
base44 types generateエンティティ、関数、エージェント、コネクタから TypeScript 型 (types.d.ts) を生成types-generate.md
出力: base44/.types/types.d.ts — 型付きレジストリ (EntityTypeRegistry, FunctionNameRegistry, AgentNameRegistry, ConnectorTypeRegistry) で @base44/sdk モジュールを拡張します。 認証不要。 完全にローカルで実行されます。生成された型を含めるように tsconfig.json を自動で更新します。

サイト管理

コマンド説明リファレンス
base44 site deployビルド済みサイトファイルを Base44 ホスティングにデプロイsite-deploy.md
base44 site openデプロイされたサイトをブラウザーで開くsite-open.md
SPA のみ: Base44 ホスティングは単一 index.html エントリーポイントを持つシングルページアプリケーションをサポートします。すべてのルートは index.html から配信されます (クライアントサイドルーティング)。

クイックスタート

  1. プロジェクトに CLI をインストール:
    npm install --save-dev base44
    
  2. Base44 に認証:
    npx base44 login
    
  3. 新規プロジェクトを作成 (常に name と --path フラグを指定):
    npx base44 create my-app --path .
    
  4. ローカル開発を実行:
    npx base44 dev
    
  5. ビルドしてすべてをデプロイ:
    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 を読んでください:
  • テンプレート選択 - 正しいテンプレート (backend-and-clientbackend-only) を選択
  • 正しいワークフロー - テンプレートごとに必要なセットアップ手順が異なります
  • よくある落とし穴 - 失敗の原因となるフォルダー作成エラーを回避
create.md の指示に従わないと、プロジェクトのスキャフォールディングが壊れます。

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

# If you have base44/config.jsonc but no .app.jsonc
npx base44 link --create --name my-app

ローカル開発の実行

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

すべての変更のデプロイ

# 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 型の生成

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

個別リソースのデプロイ

# 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

ダッシュボードを開く

# Open app dashboard in browser
npx base44 dashboard

認証

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

トラブルシューティング

エラー解決策
Not authenticated最初に npx base44 login を実行してください
No entities foundbase44/entities/ ディレクトリにエンティティが存在するか確認してください
Entity not recognizedファイル名が kebab-case であることを確認 (例: TeamMember.jsonc ではなく team-member.jsonc)
No functions foundbase44/functions/entry.ts または entry.js を持つ関数が存在するか確認
No agents foundbase44/agents/ ディレクトリに有効な .jsonc 構成を持つエージェントが存在するか確認
Invalid agent nameエージェント名は小文字英数字とアンダースコアのみである必要があります
No connectors foundbase44/connectors/ ディレクトリに有効な .jsonc 構成を持つコネクタが存在するか確認
Invalid connector type有効なタイプを見るには npx base44 connectors list-available を実行してください
Duplicate connector type各コネクタタイプはプロジェクトごとに 1 度しか定義できません
Connector authorization timeoutnpx 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 を使用)
このページは AI を使用して翻訳されました。最も正確で最新の情報については、英語版 を参照してください。