Obrigado por considerar contribuir com o Conversor S-5002 para PDF! Este documento fornece diretrizes para contribuir com o projeto.
Se você encontrou um bug, por favor:
- Verifique se o bug já não foi reportado nas Issues
- Se não foi, crie uma nova issue com:
- Título claro descrevendo o problema
- Descrição detalhada do bug
- Passos para reproduzir o problema
- Comportamento esperado vs comportamento atual
- Versão do Python e sistema operacional
- Exemplo de XML que causa o problema (se possível)
Para sugerir novas funcionalidades:
- Abra uma Issue com a tag
enhancement - Descreva claramente:
- O que você gostaria de adicionar
- Por que isso seria útil
- Como deveria funcionar
# Clone o repositório
git clone https://github.com/flaviowbr/esocial_s5002_comprovante_rendimentos.git
cd esocial_s5002_comprovante_rendimentos
# Instale as dependências
pip install -r requirements.txt
# Crie uma branch para sua feature
git checkout -b feature/minha-feature- Use Python 3.8+
- Siga PEP 8 para estilo de código
- Adicione docstrings para funções e classes
- Mantenha compatibilidade com versões anteriores quando possível
- Escreva código limpo e bem comentado
Use commits semânticos:
feat: adiciona suporte para novo grupo X do e-Social
fix: corrige erro de parsing em dependentes
docs: atualiza README com exemplos
refactor: melhora performance do parser XML
test: adiciona testes para grupo Y
- Certifique-se de que seu código funciona
- Teste com diferentes XMLs do e-Social
- Atualize a documentação se necessário
- Faça commit das suas mudanças
- Push para sua branch
- Abra um Pull Request com:
- Título claro
- Descrição detalhada das mudanças
- Referência às issues relacionadas (se houver)
Antes de enviar um PR, teste seu código:
# Teste com XMLs de exemplo
python s5002_to_pdf.py exemplos/ output/ --ano 2024
# Teste com CSV de nomes
python s5002_to_pdf.py exemplos/ output/ --ano 2024 --csv exemplo_nomes.csv- Testes automatizados - Implementar suite de testes
- Documentação - Melhorar exemplos e tutoriais
- Performance - Otimizações de velocidade
- Novos grupos - Suporte a grupos adicionais do e-Social
- Validação - Validação mais robusta de XMLs
- Internacionalização - Suporte a outros idiomas (se aplicável)
Se tiver dúvidas sobre como contribuir:
- Abra uma Discussion
- Entre em contato através das Issues
Ao contribuir, você concorda em:
- Ser respeitoso com outros contribuidores
- Aceitar feedback construtivo
- Focar no que é melhor para a comunidade
- Mostrar empatia com outros membros da comunidade
Todos os contribuidores serão reconhecidos no README do projeto!
Obrigado por contribuir! 🚀