82 lines
5.2 KiB
Plaintext
82 lines
5.2 KiB
Plaintext
---
|
|
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).
|