---
title: Twenty-Apps
description: Twenty-Anpassungen als Code erstellen und verwalten.
---

<Warning>
Apps befinden sich derzeit in der Alpha-Phase. Die Funktion ist funktionsfähig, entwickelt sich jedoch noch weiter.
</Warning>

## Was sind Apps?

Apps ermöglichen es Ihnen, Twenty mit benutzerdefinierten Objekten, Feldern, Logikfunktionen, Frontend-Komponenten, KI-Fähigkeiten und mehr zu erweitern — alles als Code verwaltet. Anstatt alles über die UI zu konfigurieren, definieren Sie Ihr Datenmodell und Ihre Logik in TypeScript und stellen es in einem oder mehreren Workspaces bereit.

**Was Sie erstellen können:**

* **Benutzerdefinierte Objekte und Felder** — erweitern Sie Ihr Datenmodell mit neuen Entitäten oder fügen Sie bestehenden Objekten wie Company oder Person Felder hinzu
* **Logikfunktionen** — serverseitige Funktionen, die durch Datenbankereignisse, Cron-Zeitpläne oder HTTP-Routen ausgelöst werden
* **Frontend-Komponenten** — React-Komponenten, die innerhalb der UI von Twenty gerendert werden (Datensatzseiten, Befehlsmenü, Seitenpanels)
* **KI-Fähigkeiten und -Agenten** — erweitern Sie die KI von Twenty mit benutzerdefinierten Fähigkeiten
* **Ansichten und Navigation** — vorkonfigurierte gespeicherte Ansichten und Seitenleistenlinks

## Schnellstart

```bash filename="Terminal"
npx create-twenty-app@latest my-twenty-app
cd my-twenty-app
yarn twenty dev
```

Dies erstellt das Grundgerüst für eine neue App, startet optional einen lokalen Twenty-Server und beginnt, Ihre Dateien auf Änderungen zu überwachen. Den vollständigen Ablauf finden Sie im Leitfaden [Erste Schritte](/l/de/developers/extend/apps/getting-started).

## Detaillierte Anleitungen

| Leitfaden                                                 | Beschreibung                                                                                                                                  |
| --------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| [Erste Schritte](/l/de/developers/extend/apps/getting-started) | App-Gerüst erstellen, lokalen Server einrichten, Projektstruktur, CI                                                                          |
| [Apps entwickeln](/l/de/developers/extend/apps/building)       | Entitätsdefinitionen (`defineObject`, `defineLogicFunction`, `defineFrontComponent` usw.), API-Clients, npm-Pakete, öffentliche Assets, Tests |
| [Veröffentlichen](/l/de/developers/extend/apps/publishing)     | Auf einem Server bereitstellen, auf npm veröffentlichen, Marktplatz                                                                           |

## Wichtige Konzepte

### Entitätserkennung

Das SDK erkennt Entitäten, indem es Ihre TypeScript-Dateien nach Aufrufen von `export default define<Entity>({...})` scannt. Dateibenennung und Ordnerstruktur sind flexibel — die Erkennung ist AST-basiert, nicht pfadbasiert.

### Verfügbare Entitätstypen

| Funktion                           | Zweck                                            |
| ---------------------------------- | ------------------------------------------------ |
| `defineApplication()`              | Anwendungsmetadaten (erforderlich, eine pro App) |
| `defineObject()`                   | Benutzerdefinierte Objekte mit Feldern           |
| `defineField()`                    | Felder bei bestehenden Objekten                  |
| `defineLogicFunction()`            | Serverseitige Logik mit Triggern                 |
| `defineFrontComponent()`           | React-Komponenten in der UI von Twenty           |
| `defineRole()`                     | Berechtigungsrollen                              |
| `defineView()`                     | Konfigurationen gespeicherter Ansichten          |
| `defineNavigationMenuItem()`       | Navigationslinks in der Seitenleiste             |
| `defineSkill()`                    | Fähigkeiten von KI-Agenten                       |
| `defineAgent()`                    | KI-Agenten mit Prompts                           |
| `definePageLayout()`               | Benutzerdefinierte Layouts für Datensatzseiten   |
| `definePreInstallLogicFunction()`  | Wird vor der App-Installation ausgeführt         |
| `definePostInstallLogicFunction()` | Wird nach der App-Installation ausgeführt        |

### Entwicklungs-Workflow

1. **`yarn twenty dev`** — überwacht Quelldateien, baut bei Änderungen neu, synchronisiert mit dem Server, generiert typisierte API-Clients
2. **`yarn twenty build`** — erzeugt ein auslieferbares Build
3. **`yarn twenty deploy`** — stellt auf einem entfernten Twenty-Server bereit
4. **`yarn twenty add`** — erstellt interaktiv das Gerüst für eine neue Entität

### CLI-Referenz

```bash filename="Terminal"
yarn twenty help          # Alle Befehle auflisten
yarn twenty server start  # Lokalen Dev-Server starten
yarn twenty remote add    # Mit einem Twenty-Server verbinden
yarn twenty exec -n fn    # Eine Logikfunktion ausführen
yarn twenty logs -n fn    # Funktionsprotokolle streamen
```

Die vollständige CLI-Referenz finden Sie im Leitfaden [Erste Schritte](/l/de/developers/extend/apps/getting-started).
