Salt la conținutul principal
Aplicația dvs. funcționează. Ultimul pas este să îl descriem pentru piață și publicare.

Adaugă metadate marketplace

application config posedă identitatea care apare în bazar: author, categorie, logo, and support link-uri. Puneți un logo în public/ și trimiteți-l cu logoUrl.
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/ro/developers/extend/apps',
  termsUrl: 'https://www.twenty.com/terms',
  emailSupport: 'contact@twenty.com',
  issueReportUrl: 'https://github.com/twentyhq/twenty/issues',
});
Rolul implicit este declarat cu defineApplicationRole() în propriul său fișier — nu mai pasa defaultRoleUniversalIdentifier.
Adăugați de asemenea cuvântul cheie douăzeci și douăzeci de aplicații în package.json astfel încât aplicația să poată fi descoperită:
{ "keywords": ["twenty-app"] }

Adaugă capturi de ecran galerie

O listă de marketplace se vinde cu capturi de ecran. Plasați câteva PNG-uri în public/gallery/ și trimiteți-le cu capturi de ecran - ele se redau ca galerie pe pagina de listare.
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',
  ],
});
Plumb cu plata: fă prima captură de ecran rezultatul final (un document generat), apoi arată cum este declanșat și autentic. Utilizează capturi crisp, de înaltă rezoluție- ele sunt primul lucru pe care îl vede utilizatorul.
Dă același tratament README.md — este prima pagină pe npm și GitHub. Deschideți cu o propunere de valoare și o captură de ecran, listați funcțiile titlului, și păstrați detaliile de construcție sub îndoit.

Verifică înainte de livrare

Rulează aceleași porți CI face:
yarn lint          # oxlint
yarn typecheck     # tsgo
yarn test:unit     # unit tests
yarn twenty dev --once --dry-run   # preview the metadata diff
Derularea uscată tipărește exact ce s-ar schimba pe server fără a o aplica — un bun control sanitar final. Vezi Testing şi Sincronizare şi Recuperare.

Publicare

# 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 construiește și publică în npm în mod implicit; --private încarcă în schimb o tarball către un registru privat de douăzeci de servere. Pentru a întinde o aplicație publicată într-o piață de instanță, activați o sincronizare de catalog:
yarn twenty dev:catalog-sync -r <remote>
Detalii complete şi lista de verificare a versiunii: Publishing.

Ai construit o aplicație 🎉

În şase capitole aţi folosit cea mai mare parte a suprafeţei SDK:
  • Obiecte, câmpuri și o relație pentru a modela datele
  • O funcţie logică expusă ca o unealtă **IA, o acţiune de flux de lucru, şi rute HTTP
  • Vezi, navigare, o comandă și o componentă față pentru UI
  • Un agent + abilitate pentru generarea limbajului natural
  • **metadate Marketplace ** și fluxul de publicare
Aplicația finalizată este la pachete/douăzeci de aplicații/exemple/document-generator.

Unde să mergi mai departe

Referință date

Fiecare tip de câmp, relatie si optiune indice.

Referință logică

Cron and database-event triggers, the key-value store, OAuth connections.

Referință schemă

Aspectele paginii, widget-urile tabloului de bord și mai multe suprafețe ale interfeței.

Operațiuni

CLI, testare, îndepărtări și CI.