Guia para Contribuir com Código para o n8n
Contribuir para o código-fonte do n8n é uma das formas mais impactantes de ajudar o projeto. Este guia detalha o processo, desde a configuração do ambiente até a submissão do seu Pull Request (PR), seguindo as diretrizes oficiais do n8n.
As diretrizes abaixo são para o projeto principal do n8n. As interações (PRs, issues) são em inglês. Para contribuir com esta documentação em português, veja a seção "Contribuir para Esta Documentação".
Antes de Começar: Itens Essenciais
Código de Conduta
O projeto é governado por um Código de Conduta. Ao participar, você concorda em seguir seus termos.
Acordo de Licença de Contribuidor (CLA)
Para que sua contribuição seja aceita, você precisa assinar um Contributor License Agreement (CLA). É um processo simples: ao abrir um Pull Request, um bot irá comentar com um link para você assinar o acordo digitalmente.
Configurando o Ambiente de Desenvolvimento
Pré-requisitos
- Node.js: Versão
ou mais recente18.17
- pnpm: Versão
ou mais recente8.6
- Git
- Ferramentas de Build: Dependendo do seu sistema operacional:
- Debian/Ubuntu:
sudo apt-get install -y build-essential python
- Windows:
npm install --global windows-build-tools
- MacOS: Nenhuma dependência adicional é necessária
- Debian/Ubuntu:
Alternativa Fácil: Dev Container
Se você usa VS Code e Docker, a forma mais fácil de começar é com um Dev Container. Ele configura o ambiente de desenvolvimento completo automaticamente dentro de um container.
Instalação Manual
-
Fork: Faça um fork do repositório do n8n para a sua conta do GitHub
-
Clone o seu fork:
git clone https://github.com/SEU-USUARIO/n8n.git
cd n8n
- Adicione o repositório original como
:upstream
git remote add upstream https://github.com/n8n-io/n8n.git
- Instale as dependências:
pnpm install
- Faça o build do projeto:
pnpm build
O Ciclo de Desenvolvimento
- Sincronize seu fork: Antes de criar uma branch, sempre atualize seu repositório local com as últimas mudanças do
upstream
git fetch upstream
git rebase upstream/master
- Inicie o modo de desenvolvimento:
pnpm dev
-
Codifique! Faça suas alterações, correções ou melhorias
-
TESTE SUAS ALTERAÇÕES!
# <ion-icon name="document-outline" style={{ fontSize: '24px', color: '#ea4b71' }}></ion-icon> Roda todos os testes do projeto
pnpm test
Diretrizes para Pull Requests (PRs)
Requisitos Gerais
- PRs Pequenos e Focados: Cada PR deve resolver apenas um problema ou adicionar uma funcionalidade
- Siga o Guia de Estilo: Seu código deve seguir os padrões do n8n
- Conformidade com TypeScript: Não use
// @ts-ignore
- Reutilize Código: Evite duplicar componentes ou lógica que já existem
AVISO IMPORTANTE SOBRE NOVOS NODES
Pull Requests que introduzem novos nodes não serão aceitos, a menos que tenham sido explicitamente solicitados pela equipe do n8n.
Se você deseja criar uma nova integração, o caminho correto é criar um node comunitário e publicá-lo no npm.
Testes são Obrigatórios
Seu PR precisa incluir testes. A ausência de testes resultará no fechamento automático do seu PR após 14 dias.
Título do PR
Siga estritamente as convenções de título de PR do n8n. Um título mal formatado pode fazer com que o PR seja ignorado.
Prazo para Feedback
Se a equipe do n8n solicitar alterações, você tem 14 dias para responder ou atualizar o PR. Após esse período, ele será fechado por inatividade.
Estrutura do Repositório
O n8n é um monorepositório. Aqui estão algumas pastas importantes:
: Código da linha de comando para rodar o n8npackages/cli
: O núcleo que executa os workflowspackages/core
: O frontend do editor de workflows (Vue.js)packages/editor-ui
: O código-fonte para a maioria dos nodes padrão do n8npackages/nodes-base
Recursos Oficiais
- Contributing Guide (Oficial): A fonte da verdade para contribuições
- Fórum da Comunidade: Para tirar dúvidas e discutir ideias
- Documentação de Criação de Nodes: O lugar para aprender a criar suas próprias integrações
Contribuir para o n8n é uma forma poderosa de impactar milhares de usuários globalmente!