Pré-requisitos
- Node.js 24.5+ — Baixar
- Yarn 4 — Vem com o Node.js via Corepack. Ative-o:
corepack enable - Docker — Baixar. Necessário para executar um servidor Twenty local. Ignore se você já tiver o Twenty em execução em outro lugar.
Fase 1 — Fazer scaffolding do seu projeto
Crie um novo aplicativo a partir do modelo:--display-name e --description para personalizar os metadados gerados (você também pode editá-los depois em src/constants/universal-identifiers.ts). Isso gera um projeto TypeScript em my-twenty-app/ com um application-config.ts inicial, um papel padrão, fluxos de trabalho de CI/CD e um teste de integração.
Após esta fase: você tem o código-fonte de um aplicativo na sua máquina. Ele ainda não está em execução — isso é a Fase 2.
Fase 2 — Executar um servidor Twenty local
Seu aplicativo precisa de um servidor Twenty para o qual sincronizar. O servidor é uma instância completa do Twenty — interface, API GraphQL, PostgreSQL — executando localmente no Docker. Seu código local envia suas definições para esse servidor, o que faz com que elas apareçam na interface. O scaffolder inicia uma instância para você: com o Docker em execução, ele baixa a imagemtwentycrm/twenty-app-dev, inicia-a na porta 2020 e autentica a CLI no workspace de demonstração pré-preenchido (tim@apple.dev) — sem necessidade de login.
Para se conectar a um servidor Twenty existente em vez disso, passe --url \<your-server-url>. Servidores remotos se autenticam com OAuth: um navegador é aberto para que você faça login e clique em Authorize, o que dá à CLI acesso ao seu workspace. (Você também pode optar por usar OAuth localmente com --authentication-method oauth — faça login com tim@apple.dev / tim@apple.dev.)



Se o Docker não estiver instalado ou em execução, a ferramenta de scaffolding informará o comando de inicialização correto para o seu sistema operacional. Quando o Docker estiver ativo, você pode retomar com
yarn twenty docker:start — sem necessidade de recriar o scaffolding.Fase 3 — Sincronizar suas alterações
Este é o ciclo interno no qual você passará a maior parte do tempo.src/, recompila a cada alteração e sincroniza o resultado com o servidor. Edite um arquivo, salve e, em alguns segundos, o servidor refletirá a alteração. Você verá um painel de status em tempo real no seu terminal.
Para uma saída mais detalhada (logs de build, solicitações de sincronização, rastros de erro), adicione --verbose.




src/ e ele aparecerá na interface.
Sincronização única para CI e scripts
Useplan e apply para executar o mesmo pipeline uma vez, sem watcher:
Todos os modos precisam de um remoto autenticado. Veja Sincronização e recuperação para mais detalhes sobre
plan.
yarn twenty dev --once e yarn twenty dev --once --dry-run são aliases obsoletos para yarn twenty apply e yarn twenty plan.Opções do modo de desenvolvimento
O que você pode criar
Os aplicativos são compostos por entidades — cada uma definida como um arquivo TypeScript com um únicoexport default:
Referência completa: Conceitos.
Próximos passos
Configuração
Identidade do aplicativo, função padrão, hooks de instalação e desinstalação, recursos públicos.
Data
Objetos, campos e relações bidirecionais.
Lógica
Funções lógicas, habilidades, agentes e conexões OAuth.
Layout
Exibições, navegação, layouts de página, componentes de front-end.
Operações
CLI, testes, remotos, CI e publicação do seu aplicativo.