Contribuindo
Contribua com o Potato — configure um ambiente de desenvolvimento, execute a suíte de testes, envie pull requests, relate bugs e escreva documentação para a ferramenta de anotação de código aberto.
O Potato é totalmente de código aberto e recebe bem contribuições da comunidade. Este guia explica como contribuir de forma eficaz.
Primeiros Passos
Pré-requisitos
- Python 3.7+
- Git
- Uma conta no GitHub
Configurando Seu Ambiente de Desenvolvimento
-
Faça um fork do repositório no GitHub
-
Clone o seu fork:
bashgit clone https://github.com/YOUR_USERNAME/potato.git cd potato -
Instale as dependências:
bashpip install -r requirements.txt pip install -r requirements-test.txt # For running tests -
Execute os testes para garantir que tudo funciona:
bashpytest
Formas de Contribuir
Relatando Bugs
Encontrou um bug? Abra uma issue com:
- Um título claro e descritivo
- Passos para reproduzir o problema
- Comportamento esperado vs. comportamento real
- Seu ambiente (versão do Python, sistema operacional, navegador se relevante)
- Mensagens de erro ou logs, se disponíveis
Sugerindo Funcionalidades
Tem uma ideia de melhoria? Abra um pedido de funcionalidade descrevendo:
- O problema que você está tentando resolver
- A solução que você propõe
- Por que isso beneficiaria outros usuários
Enviando Código
-
Crie um branch para as suas alterações:
bashgit checkout -b feature/your-feature-name -
Faça as suas alterações, seguindo os padrões de código
-
Escreva testes para a nova funcionalidade
-
Execute a suíte de testes:
bashpytest tests/unit/ -v # Fast unit tests pytest tests/server/ -v # Integration tests -
Faça o commit das suas alterações com uma mensagem descritiva:
bashgit commit -m "Add feature: brief description of changes" -
Faça push para o seu fork:
bashgit push origin feature/your-feature-name -
Abra um Pull Request no GitHub
Padrões de Código
Estilo Python
- Siga as diretrizes de estilo da PEP 8
- Use nomes significativos para variáveis e funções
- Adicione docstrings para funções e classes públicas
- Mantenha as funções focadas e com tamanho razoável
Documentação
Ao adicionar ou modificar funcionalidades:
- Atualize a documentação relevante no diretório
docs/ - Adicione ou atualize configurações de exemplo em
project-hub/simple_examples/ - Inclua comentários inline para lógica complexa
Testes
- Escreva testes para novas funcionalidades e correções de bugs
- Coloque os testes unitários em
tests/unit/ - Coloque os testes de integração em
tests/server/ - Garanta que todos os testes passem antes de enviar um PR
Diretrizes de Documentação
Toda funcionalidade importante deve incluir:
-
Documentação do Administrador (
docs/):- Opções de configuração e valores padrão
- Exemplos em YAML
- Dicas de solução de problemas
-
Projeto de Exemplo (
project-hub/simple_examples/):- Arquivo de configuração funcional
- Arquivo de dados de amostra
- README se for complexo
Estilo da Documentação
- Use a sintaxe YAML correta (não o estilo JSON)
- Inclua exemplos completos e executáveis
- Faça referência cruzada à documentação relacionada
- Adicione capturas de tela para funcionalidades de interface
Diretrizes para Pull Requests
Antes de Enviar
- Os testes passam localmente (
pytest) - O código segue o estilo do projeto
- A documentação está atualizada
- As mensagens de commit estão claras
- O branch está atualizado com o main
Descrição do PR
Inclua:
- O que o PR faz
- Por que a alteração é necessária
- Como testar as alterações
- Capturas de tela para mudanças de interface
Roadmap de Desenvolvimento
Prioridades atuais de desenvolvimento:
- Melhorias aprimoradas de UI/UX
- Tipos adicionais de esquema de anotação
- Melhores opções de integração com IA
- Otimizações de desempenho
- Melhorias na documentação
Obtendo Ajuda
- Documentação: Docs do Potato
- Issues: GitHub Issues
- Discussões: GitHub Discussions
Código de Conduta
Por favor, seja respeitoso e construtivo em todas as interações. Estamos todos aqui para tornar o Potato melhor.
Licença
Ao contribuir com o Potato, você concorda que as suas contribuições serão licenciadas sob a licença existente do projeto.
Obrigado por contribuir com o Potato!
Para mais detalhes, consulte a documentação de origem.