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

Base44 Coder

Base44 JavaScript SDK を使用して Base44 プラットフォーム上でアプリを構築します。

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

このスキルは “base44” への言及があった場合、または base44/ フォルダーが存在する場合に有効化されます。行動する前にドキュメントファイルを読んだり Web を検索したりしないでください。 最初のアクションは必ず以下のとおりです:
  1. カレントディレクトリに base44/config.jsonc が存在するか確認する
  2. 存在する 場合 (既存プロジェクトのシナリオ):
    • このスキル (base44-sdk) がリクエストを処理します
    • Base44 SDK を使用して機能を実装します
    • ユーザーが明示的に CLI コマンドを要求しない限り base44-cli は使用しません
  3. 存在しない 場合 (新規プロジェクトシナリオ):
    • プロジェクトの初期化のために base44-cli スキルに引き継ぎます
    • プロジェクトが初期化されるまで、このスキルは支援できません

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

base44-sdk を使う場合:
  • 既存の Base44 プロジェクトで機能を構築する
  • プロジェクトに base44/config.jsonc がすでに存在する
  • Base44 SDK のインポート (@base44/sdk) が存在する
  • Base44 SDK モジュールを使用して JavaScript/TypeScript コードを書く
  • 機能、コンポーネント、フィーチャーを実装する
  • ユーザーの発言: 「実装する」「機能を構築する」「機能を追加する」「〜のコードを書く」
  • ユーザーが「[タイプ] アプリを作成」と言い、かつ Base44 プロジェクトがすでに存在する
base44-sdk を使用しない場合:
  • ❌ 新規 Base44 プロジェクトの初期化 (代わりに base44-cli を使用)
  • ❌ Base44 構成のない空のディレクトリ
  • ❌ ユーザーが「新しい Base44 プロジェクト/アプリ/サイトを作成」と言い、プロジェクトが存在しない場合
  • npx base44 createnpx base44 deploynpx base44 login などの CLI コマンド (base44-cli を使用)
スキルの依存関係:
  • base44-sdk は Base44 プロジェクトが すでに初期化されている ことを前提とします
  • base44-cli は新規プロジェクトにおける base44-sdk前提条件 です
  • ユーザーが「アプリを作成」したく、Base44 プロジェクトが存在しない場合は、まず base44-cli を使用します
状態チェックのロジック: このスキルを選択する前に確認します:
  • IF (ユーザーが「アプリを作成/構築」または「プロジェクトを作る」と発言):
    • IF (ディレクトリが空、または base44/config.jsonc が存在しない): → base44-cli を使用 (プロジェクト初期化が必要)
    • ELSE: → base44-sdk を使用 (プロジェクトが存在、機能を構築)

クイックスタート

⚠️ 重要: API をハルシネートしない

Base44 コードを書く前に、このテーブルまたは QUICK_REFERENCE.md と照合してメソッド名を検証してください。 Base44 SDK には独自のメソッド名があります。Firebase、Supabase、または他の SDK のパターンを想定しないでください。

認証 - 誤 vs 正

関数 - 誤 vs 正

インテグレーション - 誤 vs 正

エンティティ - 誤 vs 正

SDK モジュール

クライアントのセットアップと認証モードについては、client.md を参照してください。

TypeScript と型レジストリ

各リファレンスファイルには、モジュールのメソッド、パラメーター、戻り値の TypeScript インターフェースと型を含む「Type Definitions」セクションが含まれます。 型付きエンティティ、関数、エージェントの取得: Base44 CLI はプロジェクトリソース (エンティティ、関数、エージェント) から型を生成し、EntityTypeRegistryFunctionNameRegistryAgentNameRegistry への拡張を含め、手動セットアップなしにオートコンプリートと型チェックを取得できるようにプロジェクトに配線します。型の生成方法については、base44-cli スキルを使用してください。 手動での拡張: 代わりに .d.ts ファイルでレジストリを自分で拡張できます。entities.mdfunctions.mdbase44-agents.md の Type Definitions セクションを参照してください。

インストール

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

クライアントの作成 (外部アプリ)

外部アプリでクライアントを作成する際は、必ずパラメーター名として appId を使用してください:
必須パラメーター: appId (string) - Base44 アプリケーション ID オプションパラメーター:
  • token (string) - 事前認証されたユーザートークン
  • options (object) - 構成オプション
    • options.onError (function) - グローバルエラーハンドラー
エラーハンドラー付きの例:

モジュール選択

アプリデータを扱いますか?
  • レコードの作成/読み取り/更新/削除 → entities
  • ファイルからデータをインポート → entities.importEntities()
  • リアルタイム更新 → entities.EntityName.subscribe()
ユーザー管理?
  • ログイン/登録/ログアウト → auth
  • 現在のユーザーを取得 → auth.me()
  • ユーザープロフィールを更新 → auth.updateMe()
  • ユーザーを招待 → users.inviteUser()
AI 機能?
  • AI エージェントとチャット → agents (ログイン済みユーザー必須)
  • 新しい会話を作成 → agents.createConversation()
  • 会話を管理 → agents.getConversations()
  • AI でテキスト/JSON を生成 → integrations.Core.InvokeLLM()
  • 画像を生成 → integrations.Core.GenerateImage()
カスタムバックエンドロジック?
  • サーバー側コードを実行 → functions.invoke()
  • 管理者アクセスが必要 → base44.asServiceRole.functions.invoke()
外部サービス?
  • メール送信 → integrations.Core.SendEmail()
  • ファイルアップロード → integrations.Core.UploadFile()
  • カスタム API → integrations.custom.call()
  • アプリスコープの OAuth (アプリビルダーのアカウント) → asServiceRole.connectors.getConnection() (バックエンドのみ)
トラッキングと分析?
  • カスタムイベントをトラッキング → analytics.track()
  • ページビュー/アクティビティをログ → appLogs.logUserInApp()

一般的なパターン

データのフィルタリングとソート

保護されたルート (認証チェック)

バックエンド関数の呼び出し

サービスロールアクセス

バックエンド関数で管理者レベルの操作には asServiceRole を使用します:

フロントエンド vs バックエンド

バックエンド関数は Deno.serve()createClientFromRequest(req) を使用して、正しく認証されたクライアントを取得します。
このページは AI を使用して翻訳されました。最も正確で最新の情報については、英語版 を参照してください。