Obrigado por investir seu tempo em contribuir para o projeto! Qualquer contribuição que você fizer será refletida no LNEGC 🎉
Se você encontrar um problema ou tiver uma sugestão para o LNEGC, verifique se já existe uma issue sobre isso. Se não existir, você pode abrir uma nova issue usando um dos templates fornecidos:
-
Fork o repositório.
-
Instale as dependências de desenvolvimento:
pip install -e ".[dev]" -
Crie um branch de trabalho:
git checkout -b nome-da-feature
-
Faça suas mudanças:
- Mantenha suas mudanças focadas em um único aspecto
- Desenvolva features em branches separados
- Adicione testes quando relevante
- Atualize a documentação conforme necessário
-
Execute os testes:
pytest
-
Execute o linting:
flake8 black . isort .
Commit Message Format: ``` (): <descrição>
[corpo]
[rodapé] ```
Tipos:
- feat: Nova feature
- fix: Correção de bug
- docs: Mudanças na documentação
- style: Formatação, ponto e vírgula faltando, etc
- refactor: Refatoração de código
- test: Adicionando testes
- chore: Atualização de tarefas de build, configurações, etc
Exemplo: ``` feat(parser): adiciona suporte para arrays
Adiciona capacidade de parsear arrays na linguagem LNEGC. Arrays podem ser definidos usando a sintaxe [item1, item2].
Closes #123 ```
Quando você terminar suas mudanças:
- Execute todos os testes e linting
- Atualize a documentação se necessário
- Crie um pull request usando o template fornecido
- Não se esqueça de linkar o PR à issue se você estiver resolvendo uma
- Habilite a opção "Allow maintainer edits"
- Aguarde a review
- Use Python 3.10+
- Siga PEP 8
- Use type hints
- Documente usando docstrings no formato Google
- Mantenha funções pequenas e focadas
- Escreva testes para novas features
- Use o tempo presente ("Adiciona feature" não "Adicionou feature")
- Use o modo imperativo ("Mova o cursor para..." não "Moveu o cursor para...")
- Limite a primeira linha a 72 caracteres
- Referencie issues e pull requests livremente após a primeira linha