Wie Apps funktionieren
Eine App ist eine Sammlung von Entitäten, die mithilfe vondefineEntity()-Funktionen aus dem Paket twenty-sdk deklariert werden. Das SDK erkennt diese Deklarationen zur Build-Zeit per AST-Analyse und erzeugt ein Manifest — eine vollständige Beschreibung dessen, was Ihre App zu einem Arbeitsbereich hinzufügt.
Die Dateiorganisation liegt bei Ihnen. Die Entitätserkennung ist AST-basiert — das SDK findet Aufrufe von
export default defineEntity(...), unabhängig davon, wo sich die Datei befindet. Die obige Ordnerstruktur ist eine Konvention, keine Anforderung.Entitätstypen
| Entität | Zweck | Dokumentation |
|---|---|---|
| Anwendung | App-Identität, Berechtigungen, Variablen | Datenmodell |
| Rolle | Berechtigungssätze für Objekte und Felder | Datenmodell |
| Object | Benutzerdefinierte Datentabellen mit Feldern | Datenmodell |
| Feld | Bestehende Objekte erweitern, Relationen definieren | Datenmodell |
| Logikfunktion | Serverseitiges TypeScript mit Triggern | Logikfunktionen |
| Frontend-Komponente | Sandboxed React-UI auf der Twenty-Seite | Frontend-Komponenten |
| Skill | Wiederverwendbare Anweisungen für KI-Agenten | Skills & Agenten |
| Agent | KI-Assistenten mit benutzerdefinierten Prompts | Skills & Agenten |
| Ansicht | Vorkonfigurierte Listenansichten für Datensätze | Layout |
| Navigationsmenüeintrag | Benutzerdefinierte Seitenleisten-Einträge | Layout |
| Seitenlayout | Benutzerdefinierte Registerkarten und Widgets auf Datensatzseiten | Layout |
Sandboxing
- Logikfunktionen laufen in isolierten Node.js-Prozessen auf dem Server. Sie greifen nur über den typisierten API-Client auf Daten zu, begrenzt durch die Rollenberechtigungen der App.
- Frontend-Komponenten laufen in Web Workers mit Remote DOM — von der Hauptseite isoliert, rendern aber native DOM-Elemente (keine iframes). Sie kommunizieren über eine Message-Passing-Host-API mit Twenty.
- Berechtigungen werden auf API-Ebene durchgesetzt. Das Laufzeit-Token (
TWENTY_APP_ACCESS_TOKEN) wird aus der indefineApplication()definierten Rolle abgeleitet.
App-Lebenszyklus
yarn twenty dev— überwacht Ihre Quelldateien und synchronisiert Änderungen in Echtzeit mit einem verbundenen Twenty-Server. Der typisierte API-Client wird automatisch neu erzeugt, wenn sich das Schema ändert.yarn twenty build— kompiliert TypeScript, bündelt Logikfunktionen und Frontend-Komponenten mit esbuild und erzeugt ein Manifest.- Pre/Post-Install-Hooks — optionale Logikfunktionen, die während der Installation ausgeführt werden. Details finden Sie unter Logikfunktionen.
Nächste Schritte
Datenmodell
Objekte, Felder, Rollen und Relationen definieren.
Logikfunktionen
Serverseitige Funktionen mit HTTP-, cron- und Ereignis-Triggern.
Frontend-Komponenten
Sandboxed React-Komponenten innerhalb der UI von Twenty.
Layout
Ansichten, Navigationseinträge und Layouts von Datensatzseiten.
Fähigkeiten & Agenten
KI-Skills und Agenten mit benutzerdefinierten Prompts.
CLI & Tests
CLI-Befehle, Tests, Assets, Remotes und CI.
Veröffentlichen
Auf einem Server bereitstellen oder auf dem Marktplatz veröffentlichen.