Guia de contribuição
Obrigado por querer contribuir com o @jcsolutions/sender! 🎉
Código de conduta
Ao participar deste projeto, você concorda em manter um ambiente respeitoso e colaborativo.
Como contribuir
Reportar bugs
Antes de abrir uma issue, verifique se o bug já não foi reportado.
Abra uma issue com:
- Versão do Node.js (
node --version) - Versão do pacote (
npm list @jcsolutions/sender) - Código mínimo para reproduzir o problema
- Comportamento esperado
- Comportamento atual
Sugerir features
Abra uma issue descrevendo:
- Qual o problema que a feature resolve
- Como você imagina a API
- Exemplos de uso
Pull Requests
- Fork o projeto
- Crie uma branch (
git checkout -b feature/nova-feature) - Faça as alterações
- Adicione testes para as novas funcionalidades
- Execute os testes (
yarn test) - Commit (
git commit -m 'feat: adiciona nova feature') - Push (
git push origin feature/nova-feature) - Abra um Pull Request
Padrões de código
Commits
Seguimos o Conventional Commits:
| Tipo | Descrição |
|---|---|
feat: | Nova funcionalidade |
fix: | Correção de bug |
docs: | Documentação |
test: | Testes |
chore: | Manutenção |
refactor: | Refatoração |
Exemplos:
bash
git commit -m "feat: adiciona provider Ecsend"
git commit -m "fix: corrige validação de números"
git commit -m "docs: atualiza README"Código
· Use TypeScript · Siga as interfaces existentes · Adicione JSDoc em funções públicas · Mantenha os testes passando
Testes
Todos os PRs devem incluir testes:
bash
# Executar testes
yarn test
# Executar com cobertura
yarn test:coverageAdicionar novo provider
- Criar src/providers/novoprovider.provider.ts
- Implementar SmsProvider
- Adicionar na factory
- Adicionar testes
- Atualizar documentação
Estrutura do projeto
src/
├── core/ # Lógica principal
├── providers/ # Providers implementados
├── shared/ # Tipos, erros e utilitários
└── index.ts # Ponto de entradaDúvidas
Abra uma issue ou contacte: justinocontingo@gmail.com