> ## 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.

# Projektstruktur

> Verstehe die Base44-Projektstruktur für die lokale Entwicklung

Der [`create`](/developers/references/cli/commands/create)-Befehl der Base44 CLI erstellt neue Projekte mit allen erforderlichen Dateien und Konfigurationen. Dieser Artikel beschreibt die Base44-Backend-Projektstruktur und erklärt, was jede Datei und jedes Verzeichnis macht.

## Backend-Projektstruktur

Wenn du ein Backend-only-Base44-Projekt erstellst, generiert die CLI diese minimale Struktur:

<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>

Während du dein Projekt entwickelst, fügst du Dateien für deine Ressourcen hinzu, etwa [Entitäten](/developers/backend/resources/entities/overview), [Funktionen](/developers/backend/resources/backend-functions/overview), [Agenten](/developers/backend/resources/agents-config), [Connectors](/developers/backend/resources/connectors) und [Auth-Konfiguration](/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>
  Funktionen benötigen nur eine `entry.ts`- oder `entry.js`-Datei. Du kannst optional `function.jsonc` für erweiterte Konfigurationen wie eigene Namen oder Automationen hinzufügen. Siehe [Backend-Funktionen](/developers/backend/resources/backend-functions/overview) für Details.
</Note>

### base44/

Enthält die gesamte Base44-Backend-Konfiguration und Ressourcendefinitionen.

#### config.jsonc

Definiert deine Projektkonfiguration, einschließlich Pfaden zu [Entitäten](/developers/backend/resources/entities/overview), [Funktionen](/developers/backend/resources/functions), [Agenten](/developers/backend/resources/agents-config), [Connectors](/developers/backend/resources/connectors), [Auth-Konfiguration](/developers/backend/resources/auth) und Site-Hosting-Einstellungen für Full-Stack-Projekte. Die CLI erstellt dies nur mit deinem Projektnamen, und du kannst nach Bedarf weitere Konfiguration hinzufügen.

Dein Projekt benötigt eine `config.jsonc`- (oder `config.json`-) Datei im Verzeichnis `base44/`:

```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
  },
}
```

| Eigenschaft            | Beschreibung                                                                                | Standard       |
| ---------------------- | ------------------------------------------------------------------------------------------- | -------------- |
| `name`                 | Projektname (erforderlich)                                                                  | —              |
| `description`          | Projektbeschreibung                                                                         | —              |
| `entitiesDir`          | Pfad zum Verzeichnis [Entitäten](/developers/backend/resources/entities/overview)           | `./entities`   |
| `functionsDir`         | Pfad zum Verzeichnis [Funktionen](/developers/backend/resources/backend-functions/overview) | `./functions`  |
| `agentsDir`            | Pfad zum Verzeichnis [Agenten](/developers/backend/resources/agents-config)                 | `./agents`     |
| `connectorsDir`        | Pfad zum Verzeichnis [Connectors](/developers/backend/resources/connectors)                 | `./connectors` |
| `authDir`              | Pfad zur [Auth-Konfiguration](/developers/backend/resources/auth)                           | `./auth`       |
| `site.outputDirectory` | Wo sich deine gebauten Site-Dateien befinden (erforderlich für Site-Deployment)             | —              |
| `site.buildCommand`    | Wird nur während `base44 create` für automatisiertes Deployment verwendet                   | —              |
| `site.installCommand`  | Wird nur während `base44 create` für automatisiertes Deployment verwendet                   | —              |
| `site.serveCommand`    | Nur Referenz. Wird derzeit nicht von der CLI verwendet                                      | —              |

<Note>
  Die Eigenschaften `buildCommand`, `installCommand` und `serveCommand` werden
  automatisch eingefügt, wenn du ein Projekt aus der Full-Stack-Vorlage erstellst.
  Sie werden nur während des anfänglichen `base44 create`-Flows für
  automatisiertes Deployment verwendet. Du musst diese Eigenschaften nach der
  Projekterstellung nicht angeben oder ändern. Beim späteren Deployen deiner
  Site mit `site deploy` wird nur `outputDirectory` verwendet.
</Note>

#### .app.jsonc

Verknüpft dein lokales Projekt mit deiner Base44-App. Diese Datei wird automatisch von der CLI erstellt, wenn du ein Projekt erstellst oder verknüpfst.

```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>
  Die Datei `.app.jsonc` sollte nicht in die Versionskontrolle eingecheckt werden.
  Die CLI erstellt automatisch eine `.gitignore`-Datei, die diese Datei ausschließt.
</Note>

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

Generierte TypeScript-Typdefinitionen für deine Entitäten, Funktionen, Agenten und Connectors. Wird durch Ausführen von [`base44 types generate`](/developers/references/cli/commands/types-generate) erstellt. Diese Datei bietet Autovervollständigung und Typsicherheit, wenn du das SDK in TypeScript-Projekten verwendest. Siehe [Dynamische Typen](/developers/references/sdk/getting-started/dynamic-types) für weitere Details.

#### agents/

Verzeichnis, das [KI-Agenten-Konfigurationen](/developers/backend/resources/agents-config) enthält. Jeder Agent wird in einer separaten `.json`- oder `.jsonc`-Datei definiert.

#### auth/

Verzeichnis, das die [Authentifizierungskonfiguration](/developers/backend/resources/auth) deiner App enthält. Enthält eine einzelne `config.jsonc`-Datei, die definiert, welche Login-Methoden deinen Endbenutzern zur Verfügung stehen. Hole die aktuelle Konfiguration mit [`auth pull`](/developers/references/cli/commands/auth-pull) aus Base44.

#### connectors/

Verzeichnis, das [OAuth-Connector-Konfigurationen](/developers/backend/resources/connectors) enthält. Jeder Connector wird in einer separaten `.json`- oder `.jsonc`-Datei definiert, die nach dem Integrationstyp benannt ist, etwa `slack.jsonc` oder `googlecalendar.jsonc`.

#### entities/

Verzeichnis, das [Entity-Schema-Definitionen](/developers/backend/resources/entities/overview) enthält. Jede Entität wird in einer separaten `.json`- oder `.jsonc`-Datei definiert. Erstelle dieses Verzeichnis, wenn du bereit bist, deine erste Entität zu definieren.

#### functions/

Verzeichnis, das serverlose [Backend-Funktionen](/developers/backend/resources/backend-functions/overview) enthält. Jede Funktion benötigt ihr eigenes Unterverzeichnis mit einer `entry.ts`- oder `entry.js`-Codedatei. Die CLI verwendet den Verzeichnispfad relativ zum Funktions-Stammverzeichnis als Funktionsnamen. Zum Beispiel erstellt `functions/sendEmail/entry.ts` eine Funktion namens `sendEmail`. Du kannst optional eine `function.jsonc`-Konfigurationsdatei hinzufügen, um den Funktionsnamen anzupassen oder Automationen hinzuzufügen.

<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

Verhindert, dass Dateien in die Versionskontrolle eingecheckt werden. Dein Projekt startet mit dieser Datei, um zu verhindern, dass `.app.jsonc` eingecheckt wird.

### KI-Agenten-Skills-Ordner

Wenn du ein Projekt mit `base44 create` erstellst, werden [KI-Agenten-Skills](/developers/backend/overview/base44-skills) automatisch installiert. Diese erscheinen in agentenspezifischen Ordnern wie `.claude/skills/`, `.cursor/skills/` oder ähnlichen, je nachdem, welchen KI-Coding-Assistenten du verwendest. Diese Ordner helfen deinem Coding-Agenten zu verstehen, wie er mit Base44 arbeitet, und können bedenkenlos in die Versionskontrolle eingecheckt werden.

## Siehe auch

* [Quickstart – Backend only](/developers/backend/quickstart/templates/quickstart-backend-only): Erstelle dein erstes Backend-only-Projekt
* [Quickstart – React](/developers/backend/quickstart/templates/quickstart-react-template): Erstelle eine Full-Stack-React-App mit Base44
* [`types generate`-Befehl](/developers/references/cli/commands/types-generate): Generiere TypeScript-Typen aus deinem Projekt
* [Dynamische Typen](/developers/references/sdk/getting-started/dynamic-types): Erhalte Typsicherheit für deinen SDK-Code
* [Entitäten](/developers/backend/resources/entities/overview): Lerne mehr über die Datenbankschema-Konfiguration
* [Backend-Funktionen](/developers/backend/resources/backend-functions/overview): Erstelle serverlose API-Endpunkte
* [KI-Agenten](/developers/backend/resources/agents-config): Konfiguriere KI-Agenten für deine App
* [Connectors](/developers/backend/resources/connectors): Richte OAuth-Verbindungen zu Drittanbieterdiensten ein
* [Auth-Konfiguration](/developers/backend/resources/auth): Verwalte die Login-Methoden deiner App

<Note>Diese Seite wurde mit KI übersetzt. Für die genauesten und aktuellsten Informationen siehe die [englische Version](/). </Note>
