Salt la conținutul principal
O aplicație nouă generată de npx create-twenty-app arată astfel:
my-twenty-app/
  package.json
  src/
    application-config.ts                   # Required — your app's entry point
    default-role.ts                         # Permissions for logic functions
    constants/
      universal-identifiers.ts              # Auto-generated UUIDs and metadata
    __tests__/
      setup-test.ts
      app-install.integration-test.ts
  .github/workflows/ci.yml                  # GitHub Actions
  public/                                   # Static assets
  vitest.config.ts                          # Test runner config
  tsconfig.json, tsconfig.spec.json
  .nvmrc, .yarnrc.yml, .oxlintrc.json
  README.md, LLMS.md

Fișiere cheie

Fișier / FolderScop
src/application-config.tsNecesar. Fișierul principal de configurare pentru aplicație.
src/default-role.tsRol implicit care controlează la ce pot avea acces funcțiile logice.
src/constants/universal-identifiers.tsUUID-uri generate automat și metadate (nume afișat, descriere).
src/__tests__/Teste de integrare (configurare + test de exemplu).
public/Resurse statice (imagini, fonturi) servite împreună cu aplicația.
Organizarea fișierelor ține de dvs. Folderele de mai sus sunt convenții — SDK-ul detectează entitățile prin analiză AST pe apelurile export default defineEntity(...), indiferent unde se află fișierul.

Dependențe

Ambele pachete Twenty SDK trebuie plasate sub devDependencies, nu sub dependencies:
{
  "dependencies": {},
  "devDependencies": {
    "twenty-client-sdk": "^2.13.0",
    "twenty-sdk": "^2.13.0"
  }
}
  • twenty-sdk livrează CLI-ul twenty și uneltele de build/scaffolding. Acesta rulează doar în timpul dezvoltării și al build-ului și nu este niciodată importat de runtime-ul aplicației tale publicate.
  • twenty-client-sdk este importat de codul aplicației tale (CoreApiClient, MetadataApiClient, RestApiClient), dar Twenty îl furnizează la runtime — funcțiile de logică îl obțin dintr-un strat SDK generat, iar componentele de interfață îl rezolvă din module livrate de server. Copia instalată local este folosită doar pentru verificarea tipurilor și pentru build-ul la momentul de deploy, astfel că nu trebuie niciodată inclusă în bundle-ul livrat.
Păstrarea oricărui pachet sub dependencies îl include în bundle-ul de runtime al aplicației instalate, unde reprezintă o încărcătură inutilă. twenty build emite un avertisment atunci când oricare dintre ele este încă listat sub dependencies. Adaugă dependențele de runtime proprii ale aplicației tale (bibliotecile pe care funcțiile tale de logică chiar le importă la runtime) sub dependencies, ca de obicei.