Ana içeriğe atla
Uygulamanız çalışıyor. Son adım, onu pazaryeri için tanımlamak ve yayımlamaktır.

Pazaryeri meta verilerini ekleyin

Application config, pazaryerinde görünen kimliği taşır: yazar, kategori, logo ve destek bağlantıları. public/ içine bir logo yerleştirin ve logoUrl ile referans verin.
import { defineApplication } from 'twenty-sdk/define';

export default defineApplication({
  universalIdentifier: APPLICATION_UNIVERSAL_IDENTIFIER,
  displayName: 'Document Generator',
  description:
    'Create reusable document templates and generate personalized documents from your CRM records.',
  logoUrl: 'public/document-generator.svg',
  author: 'Twenty',
  category: 'Productivity',
  websiteUrl: 'https://docs.twenty.com/l/tr/developers/extend/apps',
  termsUrl: 'https://www.twenty.com/terms',
  emailSupport: 'contact@twenty.com',
  issueReportUrl: 'https://github.com/twentyhq/twenty/issues',
});
Varsayılan rol, kendi dosyasında defineApplicationRole() ile tanımlanır — artık burada defaultRoleUniversalIdentifier iletmiyorsunuz.
Ayrıca uygulamanın bulunabilir olması için package.json dosyasına twenty-app anahtar sözcüğünü ekleyin:
{ "keywords": ["twenty-app"] }

Galeri ekran görüntüleri ekleyin

Bir pazaryeri listesi, kendini ekran görüntüleriyle satar. Birkaç PNG dosyasını public/gallery/ içine bırakın ve bunlara screenshots ile referans verin — listeleme sayfasında bir galeri olarak görüntülenirler.
export default defineApplication({
  // ...identity from above
  screenshots: [
    'public/gallery/01-generated-document.png',
    'public/gallery/02-command-menu.png',
    'public/gallery/03-template-editor.png',
    'public/gallery/04-documents.png',
  ],
});
Sonuçla başlayın: ilk ekran görüntüsü bitmiş sonuç (oluşturulmuş bir belge) olsun, ardından bunun nasıl tetiklendiğini ve oluşturulduğunu gösterin. Net, yüksek çözünürlüklü görüntüler kullanın — bunlar bir kullanıcının gördüğü ilk şeydir.
README.md dosyasına da aynı özeni gösterin — npm ve GitHub üzerindeki ön sayfadır. Değer önerisi ve bir ekran görüntüsüyle başlayın, öne çıkan özellikleri listeleyin ve derleme ayrıntılarını sayfanın alt kısmında tutun.

Yayımlamadan önce kontrol edin

CI ile aynı denetimleri çalıştırın:
yarn lint          # oxlint
yarn typecheck     # tsgo
yarn test:unit     # unit tests
yarn twenty dev --once --dry-run   # preview the metadata diff
Deneme çalıştırması, sunucuda neyin değişeceğini uygulamadan tam olarak gösterir — iyi bir son sağlama kontrolüdür. Bkz. Testing ve Syncing & recovery.

Yayımla

# Public app → npm (default)
yarn twenty app:publish

# Or deploy privately to a specific server's registry
yarn twenty app:publish --private -r <remote>
app:publish varsayılan olarak oluşturur ve npm’e yayımlar; --private bunun yerine bir tarball dosyasını bir Twenty sunucusunun özel kaydına yükler. Yayımlanmış bir uygulamayı bir örneğin pazaryerinde görünür kılmak için, bir katalog eşitlemesini tetikleyin:
yarn twenty dev:catalog-sync -r <remote>
Tüm ayrıntılar ve yayımlama kontrol listesi: Publishing.

Bir uygulama geliştirdiniz 🎉

Altı bölümde SDK yüzeyinin büyük kısmını kullandınız:
  • Verileri modellemek için nesneler, alanlar ve bir ilişki
  • Bir mantık işlevinin, bir yapay zekâ aracı, bir iş akışı eylemi ve HTTP yolları olarak sunulması
  • Arayüz için görünümler, gezinme, bir komut ve bir ön uç bileşeni
  • Doğal dil üretimi için bir ajan + beceri
  • Pazaryeri meta verileri ve yayımlama akışı
Bitmiş uygulama şurada bulunur: packages/twenty-apps/examples/document-generator.

Sırada ne var

Veri başvurusu

Her alan türü, ilişki ve indeks seçeneği.

Mantık başvurusu

Cron ve veritabanı olayı tetikleyicileri, anahtar-değer deposu, OAuth bağlantıları.

Düzen başvurusu

Sayfa düzenleri, pano bileşenleri ve daha fazla arayüz yüzeyi.

İşlemler

CLI, test, uzak depolar ve CI.