Přejít na hlavní obsah
Aplikace Twenty jsou balíčky TypeScriptu, které rozšiřují váš pracovní prostor o vlastní objekty, logiku, komponenty UI a funkce AI. Běží na platformě Twenty s plnou izolací (sandboxingem) a řízením oprávnění.

Jak aplikace fungují

Aplikace je kolekce entit deklarovaných pomocí funkcí defineEntity() z balíčku twenty-sdk. SDK tyto deklarace detekuje pomocí analýzy AST při sestavení a vytváří manifest — úplný popis toho, co vaše aplikace přidává do pracovního prostoru. Tyto funkce validují vaši konfiguraci v době sestavení a poskytují automatické doplňování v IDE a typovou bezpečnost.
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
Uspořádání souborů je na vás. Detekce entit je založená na AST — SDK najde volání export default defineEntity(...) bez ohledu na to, kde se soubor nachází. Výše uvedená struktura složek je konvence, nikoli požadavek.

Typy entit

EntitaÚčelDokumentace
AplikaceIdentita aplikace, výchozí role, proměnnéApplication Config
RoleSady oprávnění pro objekty a poleRoles & Permissions
ObjektVlastní typy záznamů s poliObjects
PolePřidání polí k objektům z jiných aplikacíExtending Objects
VztahObousměrná propojení mezi objektyRelations
Logická funkceTypeScript na straně serveru se spouštěčiLogické funkce
DovednostZnovupoužitelné pokyny pro AI agentyDovednosti a agenti
AgentAI asistenti s vlastními promptyDovednosti a agenti
Poskytovatel připojeníPřihlašovací údaje OAuth pro externí rozhraní API třetích stranConnections
ZobrazeníPředkonfigurovaná zobrazení seznamu záznamůViews
Položka navigační nabídkyVlastní položky postranního paneluNavigation Menu Items
Rozvržení stránkyKarty a widgety na stránce s podrobnostmi záznamuPage Layouts
Frontendová komponentaIzolované React UI uvnitř TwentyFrontendové komponenty
Položka příkazové nabídkyRychlé akce a položky Cmd+KCommand Menu Items

Izolace (sandboxing)

  • Logické funkce běží v izolovaných procesech Node.js na serveru. K datům přistupují pouze prostřednictvím typovaného klienta API, a to v rozsahu oprávnění role aplikace.
  • Frontendové komponenty běží ve Web Workerech s využitím Remote DOM — jsou oddělené od hlavní stránky, ale vykreslují nativní prvky DOM (nikoli iframy). Komunikují s Twenty prostřednictvím hostitelského API pro předávání zpráv.
  • Oprávnění jsou vynucována na úrovni API. Běhový token (TWENTY_APP_ACCESS_TOKEN) je odvozen z role definované v defineApplication().

Životní cyklus aplikace

┌─────────────────────────────────────────────────────────┐
│ Development                                             │
│   npx create-twenty-app → yarn twenty dev (live sync)   │
├─────────────────────────────────────────────────────────┤
│ Build & Deploy                                          │
│   yarn twenty dev:build → yarn twenty app:publish        │
├─────────────────────────────────────────────────────────┤
│ Install flow                                            │
│   upload → [pre-install] → metadata migration →         │
│   generate SDK → [post-install]                         │
├─────────────────────────────────────────────────────────┤
│ Publish                                                 │
│   npm publish → appears in Twenty marketplace           │
└─────────────────────────────────────────────────────────┘
  • yarn twenty dev — sleduje vaše zdrojové soubory a průběžně synchronizuje změny s připojeným serverem Twenty. Typovaný klient API se při změně schématu automaticky znovu vygeneruje.
  • yarn twenty dev:build — zkompiluje TypeScript, zabalí logické funkce a frontendové komponenty pomocí esbuild a vytvoří manifest.
  • Pre/post-install hooks — volitelné funkce, které běží během instalace. Podrobnosti viz Install Hooks.

Další kroky

Konfigurace

Identita aplikace, výchozí role a instalační hooky.

Data

Objekty, pole a obousměrné relace.

Logika

Logické funkce, dovednosti, agenti a připojení přes OAuth.

Rozvržení

Zobrazení, navigace, rozvržení stránek, frontendové komponenty.

Operace

CLI, testování, vzdálené repozitáře, CI a publikování vaší aplikace.