Skip to main content

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.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Folgendes auf Ihrem Rechner installiert ist:
  • Node.js 24+Hier herunterladen
  • Yarn 4 — Wird mit Node.js über Corepack mitgeliefert. Aktivieren Sie es, indem Sie corepack enable ausführen
  • DockerHier herunterladen. Erforderlich, um eine lokale Twenty-Instanz auszuführen. Nicht erforderlich, wenn bereits ein Twenty-Server läuft.

Erstellen Sie Ihre erste App

App-Gerüst erstellen

Öffnen Sie ein Terminal und führen Sie Folgendes aus:
Sie werden aufgefordert, einen Namen und eine Beschreibung für Ihre App einzugeben. Drücken Sie Enter, um die Standardwerte zu übernehmen. Dadurch wird ein neuer Ordner namens my-twenty-app mit allem erstellt, was Sie benötigen.

Lokale Twenty-Instanz einrichten

Das Scaffolding-Tool fragt:
Möchten Sie eine lokale Twenty-Instanz einrichten?
  • Geben Sie yes ein (empfohlen) — Dadurch wird das Docker-Image twenty-app-dev heruntergeladen und ein lokaler Twenty-Server auf Port 2020 gestartet. Stellen Sie sicher, dass Docker läuft, bevor Sie fortfahren.
  • Geben Sie no ein — Wählen Sie dies, wenn bereits ein Twenty-Server lokal läuft.
Soll die lokale Instanz gestartet werden?

Melden Sie sich bei Ihrem Arbeitsbereich an

Anschließend öffnet sich ein Browserfenster mit der Twenty-Anmeldeseite. Melden Sie sich mit dem vorab eingerichteten Demo-Konto an:
  • E-Mail: tim@apple.dev
  • Passwort: tim@apple.dev
Twenty-Anmeldebildschirm

Autorisieren Sie die App

Nach der Anmeldung sehen Sie einen Autorisierungsbildschirm. Dadurch kann Ihre App mit Ihrem Arbeitsbereich interagieren. Klicken Sie auf Authorize, um fortzufahren.
Twenty-CLI-Autorisierungsbildschirm
Nach der Autorisierung bestätigt Ihr Terminal, dass alles eingerichtet ist.
App-Gerüst erfolgreich erstellt

Beginnen Sie mit der Entwicklung

Wechseln Sie in Ihren neuen App-Ordner und starten Sie den Entwicklungsserver:
Dadurch werden Ihre Quelldateien überwacht, bei jeder Änderung neu gebaut und Ihre App automatisch mit dem lokalen Twenty-Server synchronisiert. In Ihrem Terminal sollte eine Live-Statusanzeige angezeigt werden. Für ausführlichere Ausgaben (Build-Protokolle, Sync-Anfragen, Fehlerspuren) verwenden Sie das Flag --verbose:
Der Dev-Modus ist nur auf Twenty-Instanzen verfügbar, die im Entwicklungsmodus laufen (NODE_ENV=development). Produktionsinstanzen lehnen Dev-Synchronisierungsanfragen ab. Verwenden Sie yarn twenty deploy, um auf Produktionsservern bereitzustellen — Details finden Sie unter Apps veröffentlichen.
Terminalausgabe im Dev-Modus

Einmalige Synchronisierung mit yarn twenty dev --once

Wenn Sie keinen Watcher im Hintergrund ausführen lassen möchten (zum Beispiel in einer CI-Pipeline, einem Git-Hook oder einem skriptgesteuerten Workflow), geben Sie das Flag --once an. Es führt dieselbe Pipeline aus wie yarn twenty dev — Build-Manifest erstellen, Dateien bündeln, hochladen, synchronisieren, den typisierten API-Client neu generieren — beendet sich jedoch, sobald die Synchronisierung abgeschlossen ist:
Beide Modi erfordern einen Twenty-Server, der im Entwicklungsmodus läuft, und ein authentifiziertes Remote — es gelten dieselben Voraussetzungen.

Sehen Sie sich Ihre App in Twenty an

Öffnen Sie http://localhost:2020/settings/applications#developer in Ihrem Browser. Navigieren Sie zu Settings > Apps und wählen Sie die Registerkarte Developer. Unter Your Apps sollte Ihre App aufgeführt sein:
Liste "Your Apps", die "My twenty app" anzeigt
Klicken Sie auf My twenty app, um die Anwendungsregistrierung zu öffnen. Eine Registrierung ist ein Servereintrag, der Ihre App beschreibt — ihren Namen, den eindeutigen Bezeichner, OAuth-Zugangsdaten und die Quelle (lokal, npm oder Tarball). Sie befindet sich auf dem Server, nicht in einem bestimmten Arbeitsbereich. Wenn Sie eine App in einen Arbeitsbereich installieren, erstellt Twenty eine arbeitsbereichsbezogene Anwendung, die auf diese Registrierung verweist. Eine Registrierung kann in mehreren Arbeitsbereichen auf demselben Server installiert werden.
Details der Anwendungsregistrierung
Klicken Sie auf View installed app, um die installierte App anzuzeigen. Die Registerkarte About zeigt die aktuelle Version und Verwaltungsoptionen:
Installierte App — Registerkarte About
Wechseln Sie zur Registerkarte Content, um alles zu sehen, was Ihre App bereitstellt — Objekte, Felder, Logikfunktionen und Agenten:
Installierte App — Registerkarte Content
Alles erledigt! Bearbeiten Sie eine beliebige Datei in src/, und die Änderungen werden automatisch übernommen.

Was Sie erstellen können

Apps bestehen aus Entitäten — jede ist als TypeScript-Datei mit einem einzigen export default definiert: Wechseln Sie zu Apps erstellen für eine ausführliche Anleitung zu jedem Entitätstyp.

Projektstruktur

Der Scaffolder erzeugt die folgende Verzeichnisstruktur:

Mit einem Beispiel beginnen

Um mit einem umfassenderen Beispiel mit benutzerdefinierten Objekten, Feldern, Logikfunktionen, Frontend-Komponenten und mehr zu starten, verwenden Sie die Option --example:
Die Beispiele stammen aus dem Verzeichnis twenty-apps/examples auf GitHub. Sie können auch einzelne Entitäten in einem bestehenden Projekt mit yarn twenty add erzeugen (siehe Apps erstellen).

Wichtige Dateien

Lokaler Entwicklungsserver

Der Scaffolder hat bereits einen lokalen Twenty-Server für Sie gestartet. Um ihn später zu verwalten, verwenden Sie yarn twenty server: Daten bleiben über Neustarts hinweg in zwei Docker-Volumes bestehen (twenty-app-dev-data für PostgreSQL, twenty-app-dev-storage für Dateien). Verwenden Sie reset, um alles zu löschen und neu zu beginnen.

Eine Testinstanz ausführen

Übergeben Sie --test an jeden server-Befehl, um eine zweite, vollständig isolierte Instanz zu verwalten — nützlich, um Integrationstests auszuführen oder zu experimentieren, ohne Ihre Hauptentwicklungsdaten anzutasten. Die Testinstanz läuft in einem eigenen Docker-Container (twenty-app-dev-test) mit dedizierten Volumes (twenty-app-dev-test-data, twenty-app-dev-test-storage) und eigener Konfiguration, sodass sie parallel zu Ihrer Hauptinstanz ohne Konflikte ausgeführt werden kann. Kombinieren Sie --test mit --port, um den Standardport 2021 zu überschreiben.
Der Server erfordert, dass Docker läuft. Wenn der Fehler “Docker not running” angezeigt wird, stellen Sie sicher, dass Docker Desktop (oder der Docker-Daemon) gestartet ist.

Manuelle Einrichtung (ohne Scaffolder)

Wenn Sie die Einrichtung lieber selbst vornehmen möchten, anstatt create-twenty-app zu verwenden, können Sie dies in zwei Schritten tun. 1. Fügen Sie twenty-sdk und twenty-client-sdk als Abhängigkeiten hinzu:
2. Fügen Sie Ihrer package.json ein twenty-Skript hinzu:
Sie können jetzt yarn twenty dev, yarn twenty help und alle anderen Befehle ausführen.
Installieren Sie twenty-sdk nicht global. Verwenden Sie es immer als lokale Projektabhängigkeit, damit jedes Projekt seine eigene Version festlegen kann.

Fehlerbehebung

Wenn Probleme auftreten:
  • Stellen Sie sicher, dass Docker läuft, bevor Sie das Scaffolding-Tool mit einer lokalen Instanz starten.
  • Stellen Sie sicher, dass Sie Node.js 24+ verwenden (node -v zur Überprüfung).
  • Stellen Sie sicher, dass Corepack aktiviert ist (corepack enable), damit Yarn 4 verfügbar ist.
  • Versuchen Sie, node_modules zu löschen und yarn install erneut auszuführen, wenn Abhängigkeiten fehlerhaft erscheinen.
Hängen Sie immer noch fest? Bitten Sie im Twenty-Discord um Hilfe.