Salt la conținutul principal

Documentation Index

Fetch the complete documentation index at: https://docs.twenty.com/llms.txt

Use this file to discover all available pages before exploring further.

Aplicațiile Twenty sunt pachete TypeScript care vă extind spațiul de lucru cu obiecte personalizate, logică, componente UI și capabilități AI. Acestea rulează pe platforma Twenty, cu izolare completă (sandboxing) și controale de permisiuni.

Cum funcționează aplicațiile

O aplicație este o colecție de entități declarate folosind funcțiile defineEntity() din pachetul twenty-sdk. SDK-ul detectează aceste declarații prin analiză AST în timpul construirii și produce un manifest — o descriere completă a ceea ce aplicația dvs. adaugă unui spațiu de lucru. Aceste funcții validează configurația în timpul build-ului și oferă completare automată în IDE și siguranța tipurilor.
your-app/
├── src/
│   ├── application-config.ts    ← defineApplication (required, one per app)
│   ├── roles/                   ← defineRole
│   ├── objects/                 ← defineObject
│   ├── fields/                  ← defineField
│   ├── logic-functions/         ← defineLogicFunction
│   ├── front-components/        ← defineFrontComponent
│   ├── skills/                  ← defineSkill
│   ├── agents/                  ← defineAgent
│   ├── views/                   ← defineView
│   ├── navigation-menu-items/   ← defineNavigationMenuItem
│   └── page-layouts/            ← definePageLayout
├── public/                      ← Static assets (images, icons)
└── package.json
Organizarea fișierelor ține de dvs. Detectarea entităților este bazată pe AST — SDK-ul găsește apelurile export default defineEntity(...) indiferent unde se află fișierul. Structura de foldere de mai sus este o convenție, nu o cerință.

Tipuri de entități

EntitateScopDocumentație
AplicațieApp identity, default role, variablesApplication Config
RolPermission sets on objects and fieldsRoles & Permissions
ObiectCustom record types with fieldsObjects
CâmpAdd fields to objects from other appsExtending Objects
RelationBidirectional links between objectsRelations
Funcție logicăTypeScript pe partea de server cu declanșatoareFuncții logice
AbilitateInstrucțiuni reutilizabile pentru agenți AIAbilități și agenți
AgentAgenți AI cu prompturi personalizateAbilități și agenți
Connection ProviderOAuth credentials for third-party APIsConnections
VizualizareVizualizări preconfigurate ale listelor de înregistrăriViews
Element de meniu de navigareIntrări personalizate în bara lateralăNavigation Menu Items
Layout paginăTabs and widgets on a record’s detail pagePage Layouts
Componentă front-endSandboxed React UI inside TwentyComponente front-end
Command Menu ItemQuick actions and Cmd+K entriesCommand Menu Items

Izolare (sandboxing)

  • Funcțiile logice rulează în procese Node.js izolate pe server. Acestea accesează datele doar prin clientul API tipizat, limitat de permisiunile rolului aplicației.
  • Componentele front-end rulează în Web Workers folosind Remote DOM — izolate de pagina principală, dar randând elemente DOM native (nu iframes). Acestea comunică cu Twenty printr-un API al gazdei bazat pe transmiterea de mesaje.
  • Permisiunile sunt aplicate la nivelul API-ului. Tokenul de rulare (TWENTY_APP_ACCESS_TOKEN) este derivat din rolul definit în defineApplication().

Ciclul de viață al aplicației

┌─────────────────────────────────────────────────────────┐
│ Development                                             │
│   npx create-twenty-app → yarn twenty dev (live sync)   │
├─────────────────────────────────────────────────────────┤
│ Build & Deploy                                          │
│   yarn twenty build → yarn twenty deploy                │
├─────────────────────────────────────────────────────────┤
│ Install flow                                            │
│   upload → [pre-install] → metadata migration →         │
│   generate SDK → [post-install]                         │
├─────────────────────────────────────────────────────────┤
│ Publish                                                 │
│   npm publish → appears in Twenty marketplace           │
└─────────────────────────────────────────────────────────┘
  • yarn twenty dev — monitorizează fișierele sursă și sincronizează în timp real modificările către un server Twenty conectat. Clientul API tipizat este regenerat automat atunci când schema se schimbă.
  • yarn twenty build — compilează TypeScript, împachetează funcțiile logice și componentele front-end cu esbuild și produce un manifest.
  • Pre/post-install hooks — optional functions that run during installation. See Install Hooks for details.

Pașii următori

Configurare

Application identity, default role, and install hooks.

Date

Objects, fields, and bidirectional relations.

Logică

Logic functions, skills, agents, and OAuth connections.

Aspect

Views, navigation, page layouts, front components.

Operațiuni

CLI, testing, remotes, CI, and publishing your app.