Guia de Contribuição
Obrigado por se interessar em contribuir para o AirysChat! Este guia o ajudará a começar a contribuir com nossa plataforma de suporte ao cliente de código aberto. Antes de enviar sua contribuição, reserve um momento para ler as diretrizes a seguir.Começando
Passos Iniciais
- Verifique Issues Existentes: Navegue pelas issues do GitHub para ver se alguém já está trabalhando no que você deseja contribuir.
-
Comente na Issue: Adicione um comentário na issue e aguarde que a issue seja atribuída a você antes de começar a trabalhar nela.
- Isso ajuda a evitar que várias pessoas trabalhem em issues semelhantes.
-
Proponha Soluções Complexas: Se a solução for complexa, proponha a solução na issue e aguarde a aprovação de um dos principais contribuidores antes de iniciar a implementação.
- Isso ajuda a reduzir o tempo de retorno na mesclagem de PRs.
- Justifique Novos Recursos: Para solicitações de novos recursos, forneça um motivo convincente para adicionar esse recurso. Casos de uso de negócios da vida real serão super úteis.
- Junte-se à Comunidade: Sinta-se à vontade para ingressar em nossa comunidade do Discord se precisar de mais discussões com a equipe principal.
Diretrizes de Pull Request
Usamos o modelo de ramificação git-flow. A branch base é
develop. Por favor, abra seus PRs contra a branch develop.Antes de Enviar
- Certifique-se de ter lido as diretrizes de triagem de issues antes de fazer uma contribuição.
- É bom e encorajado ter vários commits pequenos enquanto você trabalha no PR - nós iremos fazer o squash dos commits antes de mesclar.
- Para outras diretrizes, consulte as Diretrizes de PR
- Certifique-se de que todos os textos que você adicionar no produto sejam traduzíveis por i18n. Você só precisa adicionar a versão em
Englishdas strings. Nós extraímos as traduções de outros idiomas de nossos contribuidores no crowdin. Consulte as Diretrizes de tradução para saber mais.
Fluxo de Trabalho de Desenvolvimento
Desenvolvendo um Novo Recurso
- Adicione casos de teste complementares
- Siga nossos padrões de codificação
- Inclua documentação adequada
Correções de Bugs ou Tarefas Menores (Chores)
- Se você estiver resolvendo uma issue específica, adicione
fix: Fixes xxxx(#xxxx é a issue) no título do seu PR - Forneça uma descrição detalhada do bug no PR
- Adicione cobertura de teste apropriada, se aplicável
Configuração do Ambiente
Escolha o guia que corresponde ao seu sistema operacional:Configuração no macOS
Guia de configuração completo para desenvolvedores macOS
Configuração no Ubuntu
Guia de instalação passo a passo para Ubuntu
Configuração no Windows
Configuração do ambiente de desenvolvimento no Windows 10/11
Configuração com Docker
Configuração rápida usando contêineres Docker
Acelere o Desenvolvimento
Use nossos Comandos Make para acelerar seu fluxo de trabalho de desenvolvimento local.Configuração do Projeto
Depois de configurar o ambiente, siga estes guias para colocar o AirysChat para funcionar localmente:- Guia de Configuração Rápida - Instruções de configuração passo a passo
- Variáveis de Ambiente - Opções de configuração
- Erros Comuns - Guia de solução de problemas
Integrações de Aplicativos Especiais
Se você estiver trabalhando em integrações específicas:- Configuração do Aplicativo Telegram
- Configuração do Aplicativo Line
- Desenvolvimento de Aplicativo Móvel
Testando suas Contribuições
Usamos testes abrangentes para garantir a qualidade do código:Tipos de Teste
- Testes Unitários: Testam componentes e funções individuais
- Testes de Integração: Testam interações de componentes
- Testes Ponta a Ponta (End-to-End): Testam fluxos de trabalho completos do usuário com Cypress
Executando Testes
Documentação e Tradução
Diretrizes de Documentação
- Mantenha a documentação clara e concisa
- Inclua exemplos de código onde for útil
- Atualize a documentação ao alterar a funcionalidade
- Siga nossas diretrizes de tradução
Internacionalização
- Todo o texto voltado para o usuário deve ser traduzível
- Adicione apenas strings em inglês - outros idiomas são tratados via Crowdin
- Use formatação e chaves i18n adequadas
Diretrizes da Comunidade
Nós nos esforçamos para manter uma comunidade acolhedora e inclusiva:- Código de Conduta - Nossos padrões da comunidade
- Diretrizes da Comunidade - Como interagimos
- Relatórios de Segurança - Relatando problemas de segurança
Desenvolvimento de API
Se você estiver trabalhando em recursos relacionados a API:- APIs do AirysChat - Guia de desenvolvimento de API
- Documentação da API - Documentando APIs
- APIs da Plataforma - APIs em nível de plataforma
Reconhecimento
Valorizamos todas as contribuições para o AirysChat. Confira nossa página de Contribuidores para ver as pessoas incríveis que ajudaram a tornar o AirysChat melhor.Obtendo Ajuda
Precisa de assistência? Aqui estão suas opções:- Issues do GitHub: Para relatórios de bugs e solicitações de recursos
- Comunidade do Discord: Para discussões em tempo real com a equipe principal
- Documentação: Guias abrangentes e referências de API
- Fóruns da Comunidade: Conecte-se com outros contribuidores
Pronto para começar a contribuir? Escolha uma issue que lhe interesse e siga nossas diretrizes acima. Cada contribuição, por menor que seja, ajuda a tornar o AirysChat melhor para todos! 🚀