> ## 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 プロジェクト構造を理解する

Base44 CLI の [`create`](/developers/references/cli/commands/create) コマンドは、必要なすべてのファイルと構成を含む新しいプロジェクトを作成します。この記事では、Base44 バックエンドプロジェクトの構造を説明し、各ファイルとディレクトリの役割を解説します。

## バックエンドプロジェクトの構造

バックエンド専用の Base44 プロジェクトを作成すると、CLI は次の最小構造を生成します:

<Tree>
  <Tree.Folder name="<your-project-name>" defaultOpen>
    <Tree.Folder name="base44" defaultOpen>
      <Tree.File name=".app.jsonc" />

      <Tree.File name="config.jsonc" />
    </Tree.Folder>

    <Tree.File name=".gitignore" />
  </Tree.Folder>
</Tree>

プロジェクトを開発するにつれて、[エンティティ](/developers/backend/resources/entities/overview)、[関数](/developers/backend/resources/backend-functions/overview)、[エージェント](/developers/backend/resources/agents-config)、[コネクター](/developers/backend/resources/connectors)、[認証構成](/developers/backend/resources/auth)などのリソース用のファイルを追加します:

<Tree>
  <Tree.Folder name="<your-project-name>" defaultOpen>
    <Tree.Folder name="base44" defaultOpen>
      <Tree.File name=".app.jsonc" />

      <Tree.File name="config.jsonc" />

      <Tree.Folder name=".types" defaultOpen>
        <Tree.File name="types.d.ts" />
      </Tree.Folder>

      <Tree.Folder name="agents" defaultOpen>
        <Tree.File name="<agent-name>.jsonc" />
      </Tree.Folder>

      <Tree.Folder name="auth" defaultOpen>
        <Tree.File name="config.jsonc" />
      </Tree.Folder>

      <Tree.Folder name="connectors" defaultOpen>
        <Tree.File name="<connector-type>.jsonc" />
      </Tree.Folder>

      <Tree.Folder name="entities" defaultOpen>
        <Tree.File name="<entity-name>.jsonc" />
      </Tree.Folder>

      <Tree.Folder name="functions" defaultOpen>
        <Tree.Folder name="<function-name>" defaultOpen>
          <Tree.File name="entry.ts" />

          <Tree.File name="function.jsonc" />
        </Tree.Folder>
      </Tree.Folder>
    </Tree.Folder>

    <Tree.File name=".gitignore" />
  </Tree.Folder>
</Tree>

<Note>
  関数には `entry.ts` または `entry.js` ファイルのみが必要です。カスタム名や自動化などの高度な構成のためにオプションで `function.jsonc` を追加できます。詳しくは[バックエンド関数](/developers/backend/resources/backend-functions/overview)を参照してください。
</Note>

### base44/

Base44 バックエンドの構成とリソース定義をすべて含みます。

#### config.jsonc

プロジェクト構成を定義します。これには、[エンティティ](/developers/backend/resources/entities/overview)、[関数](/developers/backend/resources/functions)、[エージェント](/developers/backend/resources/agents-config)、[コネクター](/developers/backend/resources/connectors)、[認証構成](/developers/backend/resources/auth)のパス、およびフルスタックプロジェクト用のサイトホスティング設定が含まれます。CLI はプロジェクト名のみでこれを作成し、必要に応じて構成を追加できます。

プロジェクトには `base44/` ディレクトリに `config.jsonc` (または `config.json`) ファイルが必要です:

```jsonc theme={null}
// Base44 Project Configuration
{
  "name": "my-project",
  "description": "My Base44 app",

  // Directory paths (relative to config file)
  "entitiesDir": "./entities",
  "functionsDir": "./functions",
  "agentsDir": "./agents",
  "connectorsDir": "./connectors",
  "authDir": "./auth",

  // Site/hosting configuration (for full-stack projects)
  "site": {
    "outputDirectory": "./dist", // Required - where your built files are located
  },
}
```

| プロパティ                  | 説明                                                                      | デフォルト          |
| ---------------------- | ----------------------------------------------------------------------- | -------------- |
| `name`                 | プロジェクト名 (必須)                                                            | —              |
| `description`          | プロジェクトの説明                                                               | —              |
| `entitiesDir`          | [エンティティ](/developers/backend/resources/entities/overview)ディレクトリのパス      | `./entities`   |
| `functionsDir`         | [関数](/developers/backend/resources/backend-functions/overview)ディレクトリのパス | `./functions`  |
| `agentsDir`            | [エージェント](/developers/backend/resources/agents-config)ディレクトリのパス          | `./agents`     |
| `connectorsDir`        | [コネクター](/developers/backend/resources/connectors)ディレクトリのパス              | `./connectors` |
| `authDir`              | [認証構成](/developers/backend/resources/auth)ディレクトリのパス                     | `./auth`       |
| `site.outputDirectory` | ビルドされたサイトファイルの場所 (サイトデプロイに必須)                                           | —              |
| `site.buildCommand`    | 自動デプロイの `base44 create` 中にのみ使用                                          | —              |
| `site.installCommand`  | 自動デプロイの `base44 create` 中にのみ使用                                          | —              |
| `site.serveCommand`    | 参照のみ。現在 CLI では使用されません                                                   | —              |

<Note>
  `buildCommand`、`installCommand`、`serveCommand` プロパティは、フルスタックテンプレートからプロジェクトを作成するときに自動的に含まれます。これらは自動デプロイのために初回の `base44 create` フロー中にのみ使用されます。プロジェクト作成後にこれらのプロパティを指定または変更する必要はありません。後で `site deploy` でサイトをデプロイする際は、`outputDirectory` のみが使用されます。
</Note>

#### .app.jsonc

ローカルプロジェクトを Base44 アプリにリンクします。このファイルは、プロジェクトを作成またはリンクするときに CLI によって自動的に作成されます。

```jsonc theme={null}
// Base44 App Configuration
// This file links your local project to your Base44 app.
// Do not commit this file to version control.
{
  "id": "your-app-id",
}
```

<Note>
  `.app.jsonc` ファイルはバージョン管理にコミットしないでください。CLI は、このファイルを除外する `.gitignore` ファイルを自動的に作成します。
</Note>

#### .types/types.d.ts

エンティティ、関数、エージェント、コネクター用に生成された TypeScript 型定義です。[`base44 types generate`](/developers/references/cli/commands/types-generate) を実行すると作成されます。このファイルは、TypeScript プロジェクトで SDK を使用する際にオートコンプリートと型安全性を提供します。詳しくは [Dynamic Types](/developers/references/sdk/getting-started/dynamic-types) を参照してください。

#### agents/

[AI エージェント構成](/developers/backend/resources/agents-config)を含むディレクトリです。各エージェントは個別の `.json` または `.jsonc` ファイルで定義されます。

#### auth/

アプリの[認証構成](/developers/backend/resources/auth)を含むディレクトリです。エンドユーザーに利用可能なログイン方法を定義する単一の `config.jsonc` ファイルが含まれます。[`auth pull`](/developers/references/cli/commands/auth-pull) で Base44 から現在の構成をプルしてください。

#### connectors/

[OAuth コネクター構成](/developers/backend/resources/connectors)を含むディレクトリです。各コネクターは、`slack.jsonc` や `googlecalendar.jsonc` などのインテグレーションタイプにちなんだ個別の `.json` または `.jsonc` ファイルで定義されます。

#### entities/

[エンティティスキーマ定義](/developers/backend/resources/entities/overview)を含むディレクトリです。各エンティティは個別の `.json` または `.jsonc` ファイルで定義されます。最初のエンティティを定義する準備ができたらこのディレクトリを作成してください。

#### functions/

サーバーレスの[バックエンド関数](/developers/backend/resources/backend-functions/overview)を含むディレクトリです。各関数には、`entry.ts` または `entry.js` コードファイルを持つ独自のサブディレクトリが必要です。CLI は、関数ルートに対する相対ディレクトリパスを関数名として使用します。例えば、`functions/sendEmail/entry.ts` は `sendEmail` という名前の関数を作成します。オプションで `function.jsonc` 構成ファイルを追加して、関数名をカスタマイズしたり自動化を追加したりできます。

<Tree>
  <Tree.Folder name="functions" defaultOpen>
    <Tree.Folder name="<function-name>" defaultOpen>
      <Tree.File name="entry.ts" />

      <Tree.File name="function.jsonc" />
    </Tree.Folder>
  </Tree.Folder>
</Tree>

### .gitignore

ファイルがバージョン管理にコミットされないようにします。プロジェクトは、`.app.jsonc` がコミットされないようにするためのこのファイルから始まります。

### AI エージェントスキルフォルダ

`base44 create` でプロジェクトを作成すると、[AI エージェントスキル](/developers/backend/overview/base44-skills)が自動的にインストールされます。これらは、使用する AI コーディングアシスタントに応じて、`.claude/skills/`、`.cursor/skills/` などのエージェント固有のフォルダに表示されます。これらのフォルダは、コーディングエージェントが Base44 での作業方法を理解するのに役立ち、バージョン管理にコミットしても安全です。

## 関連項目

* [Quickstart - Backend only](/developers/backend/quickstart/templates/quickstart-backend-only): 最初のバックエンド専用プロジェクトを作成
* [Quickstart - React](/developers/backend/quickstart/templates/quickstart-react-template): Base44 でフルスタック React アプリを構築
* [`types generate` command](/developers/references/cli/commands/types-generate): プロジェクトから TypeScript 型を生成
* [Dynamic Types](/developers/references/sdk/getting-started/dynamic-types): SDK コードの型安全性を取得
* [Entities](/developers/backend/resources/entities/overview): データベーススキーマ構成について学ぶ
* [Backend Functions](/developers/backend/resources/backend-functions/overview): サーバーレス API エンドポイントを作成
* [AI Agents](/developers/backend/resources/agents-config): アプリ用の AI エージェントを構成
* [Connectors](/developers/backend/resources/connectors): サードパーティサービスへの OAuth 接続をセットアップ
* [Auth Config](/developers/backend/resources/auth): アプリのログイン方法を管理

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