- Definujte vlastní objekty a pole jako kód (spravovaný datový model)
- Vytvářejte logické funkce s vlastními spouštěči (HTTP routy, cron, databázové události)
- Definujte dovednosti agentů AI
- Vytvářejte frontendové komponenty, které se vykreslují uvnitř uživatelského rozhraní Twenty
- Nasazujte stejnou aplikaci do více pracovních prostorů
Předpoklady
- Node.js 24+ a Yarn 4
- Docker (pro místní vývojový server Twenty)
Začínáme
Vytvořte novou aplikaci pomocí oficiálního scaffolderu, poté se ověřte a začněte vyvíjet:Struktura projektu (vytvořená scaffolderem)
Když spustítenpx create-twenty-app@latest my-twenty-app, scaffolder:
- Zkopíruje minimální základní aplikaci do
my-twenty-app/ - Přidá lokální závislost
twenty-sdka konfiguraci pro Yarn 4 - Vytvoří konfigurační soubory a skripty napojené na
twentyCLI - Vygeneruje základní soubory (konfigurace aplikace, výchozí role funkcí, předinstalační a postinstalační funkce) a k nim ukázkové soubory podle zvoleného režimu generování kostry
--exhaustive vypadá takto:
--minimal se vytvoří pouze základní soubory (application-config.ts, roles/default-role.ts, logic-functions/pre-install.ts a logic-functions/post-install.ts).
V kostce:
- package.json: Deklaruje název aplikace, verzi, engines (Node 24+, Yarn 4) a přidává
twenty-sdkplus skripttwenty, který deleguje na lokálnítwentyCLI. Spusťteyarn twenty helppro výpis všech dostupných příkazů. - .gitignore: Ignoruje běžné artefakty jako
node_modules,.yarn,generated/(typovaný klient),dist/,build/, složky s coverage, logy a soubory.env*. - yarn.lock, .yarnrc.yml, .yarn/: Zamykají a konfigurují nástrojový řetězec Yarn 4 používaný projektem.
- .nvmrc: Fixuje verzi Node.js požadovanou projektem.
- .oxlintrc.json a tsconfig.json: Poskytují lintování a konfiguraci TypeScriptu pro zdrojové soubory vaší aplikace v TypeScriptu.
- README.md: Krátké README v kořeni aplikace se základními pokyny.
- public/: Složka pro ukládání veřejných prostředků (obrázky, písma, statické soubory), které bude vaše aplikace poskytovat. Soubory umístěné zde se během synchronizace nahrají a jsou za běhu dostupné.
- src/: Hlavní místo, kde definujete svou aplikaci jako kód
Detekce entit
SDK detekuje entity analýzou vašich souborů TypeScript a hledá voláníexport default define<Entity>({...}). Každý typ entity má odpovídající pomocnou funkci exportovanou z twenty-sdk:
| Pomocná funkce | Typ entity |
|---|---|
defineObject | Definice vlastních objektů |
defineLogicFunction | Definice logických funkcí |
definePreInstallLogicFunction | Předinstalační logická funkce (spouští se před instalací) |
definePostInstallLogicFunction | Postinstalační logická funkce (spouští se po instalaci) |
defineFrontComponent | Definice frontendových komponent |
defineRole | Definice rolí |
defineField | Rozšíření polí u existujících objektů |
defineView | Definice uložených zobrazení |
defineNavigationMenuItem | Definice položek navigační nabídky |
defineSkill | Definice dovedností agenta AI |
Pojmenování souborů je flexibilní. Detekce entit je založená na AST — SDK prochází vaše zdrojové soubory a hledá vzor
export default define<Entity>({...}). Soubory a složky můžete organizovat, jak chcete. Seskupování podle typu entity (např. logic-functions/, roles/) je pouze konvence pro organizaci kódu, nikoli požadavek.yarn twenty devwill auto-generate two typed API clients innode_modules/twenty-sdk/generated:CoreApiClient(for workspace data via/graphql) andMetadataApiClient(for workspace configuration and file uploads via/metadata).yarn twenty entity:addpřidá soubory s definicemi entit dosrc/pro vaše vlastní objekty, funkce, frontové komponenty, role, dovednosti a další.
Ověření
Při prvním spuštěníyarn twenty auth:login budete vyzváni k zadání:
- URL API (výchozí je http://localhost:3000 nebo váš aktuální profil pracovního prostoru)
- Klíč API
~/.twenty/config.json. Můžete spravovat více profilů a přepínat mezi nimi.
Správa pracovních prostorů
yarn twenty auth:switch, všechny následující příkazy budou tento pracovní prostor používat jako výchozí. Můžete jej stále dočasně přepsat pomocí --workspace <name>.
Ruční nastavení (bez scaffolderu)
Ačkoli pro nejlepší začátky doporučujeme použítcreate-twenty-app, projekt můžete nastavit i ručně. Neinstalujte CLI globálně. Místo toho přidejte twenty-sdk jako lokální závislost a přidejte jeden skript do souboru package.json:
twenty:
yarn twenty <command>, e.g. yarn twenty dev, yarn twenty help, etc.
Jak používat lokální instanci Twenty
Pokud již lokálně provozujete instanci Twenty (např. pomocínpx nx start twenty-server), můžete se k ní připojit namísto použití Dockeru:
Řešení potíží
- Chyby ověření: spusťte
yarn twenty auth:logina ujistěte se, že váš klíč API má požadovaná oprávnění. - Nelze se připojit k serveru: ověřte URL API a že je server Twenty dosažitelný.
- Types or client missing/outdated: restart
yarn twenty dev— it auto-generates the typed client. - Dev mode not syncing: ensure
yarn twenty devis running and that changes are not ignored by your environment.