Ficamos muito felizes com seu interesse em contribuir! Este documento fornece as diretrizes para garantir que o processo seja o mais simples e consistente possível.
- Faça um Fork do repositório para a sua própria conta do GitHub.
- Clone o seu fork para a sua máquina local.
- Siga as instruções de setup no arquivo
README.mdpara configurar o ambiente de desenvolvimento com Docker. É rápido e garante que todos usem a mesma base.
Para manter o projeto organizado e consistente, seguimos algumas convenções.
Adotamos um fluxo de trabalho baseado no Git Flow simplificado.
main: Contém o código estável e de produção.develop: Branch principal de desenvolvimento. Onde novas funcionalidades são integradas.feature/<nome-da-feature>: Para o desenvolvimento de novas funcionalidades (ex:feature/analise-de-impacto).fix/<nome-da-correcao>: Para correções de bugs não críticos (ex:fix/query-performance-insumos).hotfix/<descricao-curta>: Para correções críticas em produção.docs/<descricao-curta>: Para adicionar ou melhorar a documentação (ex:docs/ajustar-readme).
Utilizamos o padrão Conventional Commits para padronizar as mensagens.
Formato: <tipo>(<escopo>): <descrição>
<tipo>:feat,fix,docs,style,refactor,test,chore.<escopo>(opcional): Onde a mudança ocorreu. Escopos sugeridos:project: Mudanças que afetam a estrutura geral ou múltiplos locais.api: Lógica da API FastAPI (main.py,schemas.py).bi: Lógica de Business Intelligence (crud.py).infra: Arquivos de infraestrutura (docker-compose.yml,Dockerfile).deps: Atualização de dependências (requirements.txt).
- Python (API e Worker): O código segue o padrão PEP 8. Usamos
snake_casepara variáveis e funções ePascalCasepara classes. - Infraestrutura (Docker & Kong): Nomes de serviços e contêineres devem ser em
snake_casee descritivos (ex:celery_worker,sinapi_gateway).
- Após implementar sua funcionalidade ou correção, faça o commit das suas alterações seguindo o padrão acima.
- Envie as alterações para o seu fork (
git push origin feature/<nome-da-feature>). - Abra um Pull Request (PR) do seu fork para a branch
developdo repositório principal. - No PR, descreva claramente o que foi feito e por quê.
Obrigado por sua contribuição!