Skip to main content

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.

Ön Gereksinimler

  • Node.js 24+Buradan indirin
  • Yarn 4 — Corepack aracılığıyla Node ile birlikte gelir. Etkinleştirin: corepack enable
  • DockerBuradan indirin. Yerel bir Twenty sunucusunu çalıştırmak için gereklidir. Zaten başka bir yerde Twenty çalıştırıyorsanız atlayın.
Bir Twenty uygulaması oluşturmanın üç aşaması vardır. İskelet oluşturucu bunları tek bir sorunsuz akış komutuna indirger, ancak her aşama ayrı bir kavramdır — bir şeyler başarısız olduğunda hangi aşamada olduğunuzu bilmek neyi düzeltmeniz gerektiğini söyler.
AşamaNe yaparsınızAraçSonuç
1. İskelet OluşturmaUygulamanın kaynak kodunu oluşturunnpx create-twenty-appDiskte bir TypeScript projesi
2. Bir sunucu çalıştırmaEşitleme yapacağınız bir Twenty sunucusu başlatınDocker + yarn twenty serverÇalışan bir Twenty örneği
3. EşitlemeKodunuzu sunucuya canlı olarak eşitleyinyarn twenty devDeğişiklikleriniz arayüzde görünür

Aşama 1 — Projenizin iskeletini oluşturun

Şablondan yeni bir uygulama oluşturun:
npx create-twenty-app@latest my-twenty-app
Sizden bir ad ve açıklama istenir — varsayılanlar için Enter tuşuna basın. Bu, my-twenty-app/ içinde bir başlangıç application-config.ts, varsayılan bir rol, bir CI iş akışı ve bir entegrasyon testi ile bir TypeScript projesi oluşturur. Bu aşamadan sonra: makinenizde uygulamanın kaynak kodu bulunur. Henüz çalışmıyor — bu, 2. Aşama.

Aşama 2 — Yerel bir Twenty sunucusu çalıştırın

Uygulamanızın eşitleme yapacağı bir Twenty sunucusuna ihtiyacı vardır. Sunucu, Docker içinde yerel olarak çalışan tam bir Twenty örneğidir — UI, GraphQL API, PostgreSQL. Yerel kodunuz tanımlarını bu sunucuya yükler; bu da onların arayüzde görünmesini sağlar. İskelet oluşturucu sizin için bir tane başlatmayı teklif eder:
Yerel bir Twenty örneği kurmak ister misiniz?
  • Evet (önerilir)twentycrm/twenty-app-dev Docker imajını çeker ve 2020 portunda başlatır. Önce Docker’ın çalıştığından emin olun.
  • Hayır — Zaten bağlanmak istediğiniz bir Twenty sunucunuz varsa bunu seçin. Bunu daha sonra yarn twenty remote add ile bağlayabilirsiniz.
Yerel örnek başlatılsın mı?
Sunucu çalışır duruma geldiğinde, oturum açmak için bir tarayıcı açılır. Önceden eklenmiş demo hesabını kullanın:
  • E-posta: tim@apple.dev
  • Parola: tim@apple.dev
Twenty oturum açma ekranı
Sonraki ekranda Authorize’a tıklayın — bu işlem CLI’nin çalışma alanınıza erişmesine izin verir.
Twenty CLI yetkilendirme ekranı
Terminaliniz her şeyin kurulduğunu onaylayacaktır.
Uygulama iskeleti başarıyla oluşturuldu
Bu aşamadan sonra: http://localhost:2020 adresinde çalışan bir Twenty sunucunuz ve ona eşitleme yapmak için yetkilendirilmiş bir CLI’ınız olur.
Docker yüklü değilse veya çalışmıyorsa, iskelet oluşturucu işletim sisteminiz için doğru başlatma komutunu söyleyecektir. Docker çalışır duruma geldiğinde, yarn twenty server start ile devam edebilirsiniz — yeniden iskelet oluşturmaya gerek yok.

Aşama 3 — Değişikliklerinizi eşitleyin

Zamanınızın çoğunu geçireceğiniz iç döngü budur.
cd my-twenty-app
yarn twenty dev
Bu, src/ dizinini izler, her değişiklikte yeniden oluşturur ve sonucu sunucuya eşitler. Bir dosyayı düzenleyin, kaydedin; bir saniye içinde sunucu değişikliği yansıtır. Terminalinizde canlı bir durum paneli göreceksiniz. Daha ayrıntılı çıktı (derleme günlükleri, eşitleme istekleri, hata izleri) için --verbose ekleyin.
Geliştirme modu terminal çıktısı
http://localhost:2020/settings/applications#developer adresini açın. Uygulamanızı Your Apps altında görmelisiniz.
Your Apps listesinde My twenty app gösteriliyor
My twenty app’e tıklayarak application registration’ı görüntüleyin — uygulamanızı tanımlayan (ad, tanımlayıcı, OAuth kimlik bilgileri, kaynak) sunucu düzeyinde bir kayıttır. Tek bir kayıt, aynı sunucudaki birden çok çalışma alanına kurulabilir.
Uygulama kaydı ayrıntıları
Çalışma alanındaki kurulumu görmek için View installed app’e tıklayın. About sekmesi sürümü ve yönetim seçeneklerini gösterir.
Yüklü uygulama
Bu aşamadan sonra: canlı bir geliştirme döngünüz olur. src/ içindeki herhangi bir dosyayı düzenleyin; arayüzde görünür.

CI ve betikler için tek seferlik eşitleme

Tek bir derleme + eşitleme çalıştırıp çıkmak için --once parametresini geçin — aynı ardışık düzen, izleyici yok:
yarn twenty dev --once
KomutDavranışNe zaman kullanılmalı
yarn twenty devHer değişiklikte izler ve yeniden eşitler. Siz durdurana kadar çalışır.Etkileşimli yerel geliştirme.
yarn twenty dev --onceTek derleme + eşitleme; başarıda 0, başarısızlıkta 1 ile çıkar.CI, pre-commit kancaları, AI ajanları, betiklenmiş iş akışları.
Her iki mod da geliştirme modunda bir sunucuya ve kimliği doğrulanmış bir uzak uca ihtiyaç duyar.
Geliştirme modu yalnızca geliştirme ortamında (NODE_ENV=development) çalışan Twenty örneklerinde kullanılabilir. Üretim örnekleri, geliştirme eşitleme isteklerini reddeder — üretim sunucularına dağıtmak için yarn twenty deploy kullanın. Bkz. Uygulamaları Yayımlama.

Oluşturabilecekleriniz

Uygulamalar varlıklardan oluşur — her biri tek bir export default içeren bir TypeScript dosyası olarak tanımlanır:
VarlıkNe yapar
Nesneler ve AlanlarÖzel veri modelleri (Post Card, Invoice vb.) tipli alanlarla
Mantıksal işlevlerHTTP rotaları, cron zamanlamaları veya veritabanı olayları tarafından tetiklenen sunucu tarafı TypeScript
Ön uç bileşenleriTwenty’nin arayüzünde görüntülenen React bileşenleri (yan panel, widget’lar, komut menüsü)
Beceriler ve AracılarYapay zeka yetenekleri — yeniden kullanılabilir yönergeler ve otonom asistanlar
Görünümler ve GezinmeÖnceden yapılandırılmış liste görünümleri ve kenar çubuğu menü öğeleri
Sayfa düzenleriSekmeler ve widget’lar içeren özel kayıt ayrıntı sayfaları
Tam başvuru: Uygulama Oluşturma.

Proje yapısı

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
Dosya / KlasörAmaç
src/application-config.tsGerekli. Uygulamanızın ana yapılandırma dosyası.
src/default-role.tsMantık işlevlerinizin neye erişebileceğini denetleyen varsayılan rol.
src/constants/universal-identifiers.tsOtomatik oluşturulan UUID’ler ve meta veriler (görünen ad, açıklama).
src/__tests__/Entegrasyon testleri (kurulum + örnek test).
public/Uygulamanızla birlikte sunulan statik varlıklar (görüntüler, yazı tipleri).

Bir örnekten başlayın

Daha kapsamlı bir projeyle başlamak için --example kullanın (özel nesneler, alanlar, mantık işlevleri, ön uç bileşenleri):
npx create-twenty-app@latest my-twenty-app --example postcard
Örnekler twenty-apps/examples dizininde yer alır. Ayrıca yarn twenty add ile mevcut bir projeye tek tek varlıklar için iskelet oluşturabilirsiniz — bkz. Uygulama Oluşturma.

Yerel sunucuyu yönetme

Yerel Twenty konteynerini kontrol etmek için yarn twenty server kullanın:
KomutNe yapar
yarn twenty server startSunucuyu başlatır (gerekirse imajı çeker)
yarn twenty server start --port 3030Özel bir portta başlatır
yarn twenty server stopSunucuyu durdurur (verileri korur)
yarn twenty server statusURL’yi, sürümü ve oturum açma kimlik bilgilerini gösterir
yarn twenty server logsSunucu günlüklerini akış olarak iletir
yarn twenty server resetVerileri siler ve sıfırdan başlatır
yarn twenty server upgradeEn güncel twenty-app-dev imajını çeker
yarn twenty server upgrade 2.2.0Belirli bir sürüme yükseltin
Veriler, yeniden başlatmalar arasında iki Docker biriminde kalıcıdır (PostgreSQL için twenty-app-dev-data, dosyalar için twenty-app-dev-storage). Her şeyi silmek için reset kullanın.

Sunucu imajını yükseltme

yarn twenty server upgrade, en güncel imajı çeker, özetleri karşılaştırır ve yalnızca gerçekten bir şey değiştiyse konteyneri yeniden oluşturur. Birimler korunur — yalnızca konteyner değiştirilir. Yeni bir imaj çekildiyse ve konteyner çalışıyorsa, yükseltme otomatik olarak yeni bir konteyner başlatır; sağlıklı hale gelmesini beklemek için ardından yarn twenty server start çalıştırın.
yarn twenty server upgrade            # Latest
yarn twenty server upgrade 2.2.0      # Specific version
yarn twenty server status ile çalışan sürümü doğrulayabilirsiniz (konteynere gömülü APP_VERSION değerini gösterir).

Paralel bir test örneği çalıştırma

server komutlarının herhangi birine --test parametresini vererek ikinci, tamamen yalıtılmış bir örneği yönetin — entegrasyon testlerini çalıştırmak veya ana geliştirme verilerinize dokunmadan denemeler yapmak için kullanışlıdır:
KomutNe yapar
yarn twenty server start --testTest örneğini başlatır (varsayılan bağlantı noktası 2021’dir)
yarn twenty server stop --testDurdurun
yarn twenty server status --testDurumunu gösterin
yarn twenty server logs --testGünlüklerini akış olarak izleyin
yarn twenty server reset --testVerilerini silin
yarn twenty server upgrade --testİmajını yükseltin
Test örneği, kendine ait bir Docker konteynerinde (twenty-app-dev-test), ayrılmış birimlerle (twenty-app-dev-test-data, twenty-app-dev-test-storage) ve yapılandırmayla çalışır; böylece ana örneğinizle çakışma olmadan paralel olarak çalışabilir. Varsayılan 2021’i geçersiz kılmak için --test ile --port’u birlikte kullanın.

Manuel kurulum (iskelet oluşturucu olmadan)

SDK’yı mevcut bir projeye ekliyorsanız iskelet oluşturma adımını atlayın:
yarn add twenty-sdk twenty-client-sdk
package.json dosyasına betiği ekleyin:
{
  "scripts": {
    "twenty": "twenty"
  }
}
Artık yarn twenty dev, yarn twenty server start ve diğerlerini çalıştırabilirsiniz.
twenty-sdk’yi global olarak kurmayın — her uygulama kendi sürümünü kullansın diye proje bazında sabitleyin.

Sorun Giderme

  • Docker hatalarıyarn twenty server start öncesinde Docker Desktop’ın (veya daemon’ın) çalıştığından emin olun. Hata iletisi, işletim sisteminiz için doğru başlatma komutunu gösterecektir.
  • Yanlış Node sürümü — 24+ gerekir. node -v ile kontrol edin.
  • Yarn 4 eksikcorepack enable çalıştırın.
  • Bağımlılıklar bozukrm -rf node_modules && yarn install.
Takıldınız mı? Twenty Discord üzerinde yardım isteyin.