Salt la conținutul principal
Aplicațiile sunt în prezent în testare alfa. Caracteristica funcționează, dar este încă în dezvoltare.

Prezentare generală

După ce aplicația ta este construită și testată local, ai două căi pentru distribuire:
  • Implementați o arhivă tar — încărcați aplicația direct pe un server Twenty anume pentru uz intern sau privat.
  • Publică pe npm — listează aplicația ta în marketplace-ul Twenty pentru ca orice spațiu de lucru să o poată descoperi și instala.
Ambele căi pornesc din aceeași etapă de build.

Construirea aplicației

Rulează comanda build pentru a compila aplicația și a genera un manifest.json pregătit pentru distribuire:
yarn twenty build
Aceasta compilează sursele TypeScript, transpilează funcțiile de logică și componentele de front-end și scrie totul în .twenty/output/. Adaugă --tarball pentru a produce și un pachet .tgz pentru distribuire manuală sau pentru comanda de deploy.

Implementare pe un server (tarball)

Pentru aplicațiile pe care nu le dorești disponibile public — instrumente proprietare, integrări doar pentru enterprise sau build-uri experimentale — poți implementa un tarball direct pe un server Twenty.

Cerințe

Înainte de implementare, ai nevoie de un remote configurat care să indice serverul țintă. Remote-urile stochează local URL-ul serverului și credențialele de autentificare în ~/.twenty/config.json. Adaugă un remote:
yarn twenty remote add --api-url https://your-twenty-server.com --as production

Implementare

Construiește și încarcă aplicația ta pe server într-un singur pas:
yarn twenty deploy
# To deploy to a specific remote:
# yarn twenty deploy --remote production

Partajarea unei aplicații implementate

Partajarea aplicațiilor private (tarball) între spații de lucru este o funcționalitate Enterprise. Fila Distribution va afișa un mesaj de actualizare în locul controalelor de partajare până când spațiul tău de lucru are o cheie Enterprise validă. Mergi la Setări > Panou de administrare > Enterprise pentru a o activa.
Aplicațiile tarball nu sunt listate în marketplace-ul public, astfel încât alte spații de lucru de pe același server nu le vor descoperi prin navigare. După ce spațiul tău de lucru este pe planul Enterprise, poți partaja o aplicație implementată astfel:
  1. Mergi la Setări > Aplicații > Înregistrări și deschide aplicația ta
  2. În fila Distribuție, fă clic pe Copiază linkul de partajare
  3. Partajează acest link cu utilizatori din alte spații de lucru — îi duce direct la pagina de instalare a aplicației
Linkul de partajare folosește URL-ul de bază al serverului (fără niciun subdomeniu de spațiu de lucru), astfel încât funcționează pentru orice spațiu de lucru de pe server.

Gestionarea versiunilor

Pentru a lansa o actualizare:
  1. Actualizează câmpul version din package.json
  2. Rulează yarn twenty deploy (sau yarn twenty deploy --remote production)
  3. Spațiile de lucru care au aplicația instalată vor vedea actualizarea disponibilă în setările lor

Publicarea pe npm

Publicarea pe npm face ca aplicația ta să poată fi descoperită în marketplace-ul Twenty. Orice spațiu de lucru Twenty poate răsfoi, instala și actualiza aplicațiile din marketplace direct din interfață.

Cerințe

  • Un cont npm
  • Cuvântul cheie twenty-app din array-ul keywords al fișierului package.json (deja inclus când inițializezi proiectul cu create-twenty-app)
{
  "name": "twenty-app-postcard-sender",
  "version": "1.0.0",
  "keywords": ["twenty-app"]
}

Metadate pentru marketplace

Configurația defineApplication() acceptă câmpuri opționale care controlează modul în care aplicația ta apare în marketplace. Folosește logoUrl și screenshots pentru a face referire la imaginile din folderul public/:
src/application-config.ts
export default defineApplication({
  universalIdentifier: '...',
  displayName: 'My App',
  description: 'A great app',
  defaultRoleUniversalIdentifier: DEFAULT_ROLE_UNIVERSAL_IDENTIFIER,
  logoUrl: 'public/logo.png',
  screenshots: [
    'public/screenshot-1.png',
    'public/screenshot-2.png',
  ],
});
Vezi acordeonul defineApplication din pagina Building Apps pentru lista completă de câmpuri ale marketplace-ului (author, category, aboutDescription, websiteUrl, termsUrl, etc.).

Publicare

yarn twenty publish
Pentru a publica sub un dist-tag specific (de ex., beta sau next):
yarn twenty publish --tag beta

Cum funcționează descoperirea în marketplace

Serverul Twenty sincronizează catalogul marketplace-ului din registrul npm la fiecare oră. Poți declanșa sincronizarea imediat, în loc să aștepți:
yarn twenty catalog-sync
# To target a specific remote:
# yarn twenty catalog-sync --remote production
Metadatele afișate în marketplace provin din configurația defineApplication() — câmpuri precum displayName, description, author, category, logoUrl, screenshots, aboutDescription, websiteUrl și termsUrl.
Dacă aplicația ta nu definește un aboutDescription în defineApplication(), piața va folosi automat fișierul README.md al pachetului tău de pe npm drept conținut pentru pagina Despre. Acest lucru înseamnă că poți menține un singur README atât pentru npm, cât și pentru piața Twenty. Dacă vrei o descriere diferită în piață, setează explicit aboutDescription.

Publicare CI

Folosește acest workflow GitHub Actions pentru a publica automat la fiecare release (folosește OIDC):
name: Publish
on:
  release:
    types: [published]

permissions:
  contents: read
  id-token: write

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: "24"
          registry-url: https://registry.npmjs.org
      - run: yarn install --immutable
      - run: npx twenty build
      - run: npm publish --provenance --access public
        working-directory: .twenty/output
Pentru alte sisteme CI (GitLab CI, CircleCI etc.), se aplică aceleași trei comenzi: yarn install, yarn twenty build, apoi npm publish din .twenty/output.
npm provenance este opțională, dar recomandată. Publicarea cu --provenance adaugă un badge de încredere la listarea ta în npm, permițând utilizatorilor să verifice că pachetul a fost construit dintr-un commit specific într-un pipeline CI public. Vezi documentația npm provenance pentru instrucțiuni de configurare.

Instalarea aplicațiilor

După ce o aplicație este publicată (npm) sau implementată (tarball), spațiile de lucru o pot instala prin interfața utilizatorului (UI). Mergi la pagina Setări > Aplicații din Twenty, unde pot fi parcurse și instalate atât aplicațiile din marketplace, cât și cele implementate prin tarball. Poți instala aplicații și din linia de comandă:
yarn twenty install