Saltar para o conteúdo principal
Os aplicativos estão atualmente em testes alfa. O recurso é funcional, mas ainda está evoluindo.

Visão Geral

Depois que seu aplicativo estiver compilado e testado localmente, você tem dois caminhos para distribuí-lo:
  • Publicar no npm — liste seu aplicativo no Marketplace da Twenty para que qualquer espaço de trabalho possa descobrir e instalar.
  • Enviar um tarball — implante seu aplicativo em um servidor Twenty específico para uso interno sem torná-lo público.

Publicação no npm

Publicar no npm torna seu aplicativo descobrível no Marketplace da Twenty. Qualquer espaço de trabalho da Twenty pode navegar, instalar e atualizar aplicativos do Marketplace diretamente pela UI.

Requisitos

  • Uma conta no npm
  • O nome do seu pacote deve usar o prefixo twenty-app- (por exemplo, twenty-app-postcard-sender)

Etapas

  1. Compile seu aplicativo — a CLI compila seus códigos-fonte TypeScript e gera o manifesto do aplicativo:
yarn twenty app:build
  1. Publicar no npm — envie o pacote compilado para o registro do npm:
npx twenty app:publish

Descoberta automática

Pacotes com o prefixo twenty-app- são detectados automaticamente pelo catálogo do Marketplace da Twenty. Depois de publicado, seu aplicativo aparece no Marketplace em poucos minutos — sem necessidade de registro manual ou aprovação.

Publicação via CI

O projeto gerado inclui um workflow do GitHub Actions que publica a cada lançamento. Ele executa app:build e depois npm publish --provenance a partir da saída do build:
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 app:build
      - run: npm publish --provenance --access public
        working-directory: .twenty/output
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Para outros sistemas de CI (GitLab CI, CircleCI etc.), aplicam-se os mesmos três comandos: yarn install, npx twenty app:build e depois npm publish a partir de .twenty/output.
Proveniência do npm é opcional, mas recomendada. Publicar com --provenance adiciona um selo de confiança à sua listagem no npm, permitindo que os usuários verifiquem que o pacote foi construído a partir de um commit específico em um pipeline de CI público. Consulte a documentação de proveniência do npm para instruções de configuração.

Distribuição interna

Para aplicativos que você não quer disponibilizar publicamente — ferramentas proprietárias, integrações apenas para empresas ou builds experimentais — você pode enviar um tarball diretamente para um servidor Twenty.

Enviar um tarball

Compile seu aplicativo e implante-o em um servidor específico em uma única etapa:
npx twenty app:publish --server <server-url>
Qualquer espaço de trabalho nesse servidor pode então instalar e atualizar o aplicativo na página de configurações de Aplicativos.

Gerenciamento de versões

Para lançar uma atualização:
  1. Atualize o campo version no seu package.json
  2. Envie um novo tarball com npx twenty app:publish --server <server-url>
  3. Os espaços de trabalho nesse servidor verão a atualização disponível nas suas configurações
Aplicativos internos ficam restritos ao servidor para o qual são enviados. Eles não aparecem no Marketplace público e não podem ser instalados por espaços de trabalho em outros servidores.

Categorias de aplicativos

A Twenty organiza os aplicativos em três categorias com base em como são distribuídos:
CategoriaComo FuncionaVisível no Marketplace?
DesenvolvimentoAplicativos em modo de desenvolvimento local executados via yarn twenty app:dev. Usados para compilação e testes.Não
PublicadoAplicativos publicados no npm com o prefixo twenty-app-. Listados no Marketplace para que qualquer espaço de trabalho possa instalar.Sim
InternoAplicativos implantados via tarball em um servidor específico. Disponível apenas para espaços de trabalho nesse servidor.Não
Comece no modo de Desenvolvimento enquanto cria seu aplicativo. Quando estiver pronto, escolha Publicado (npm) para ampla distribuição ou Interno (tarball) para implantação privada.