Guia de Contribuição - ecosif-masterdata

Boas-vindas!

Obrigado por considerar contribuir com o projeto ecosif-masterdata! Este documento fornece diretrizes para contribuições.

Como Contribuir

1. Reportar Problemas (Issues)

Antes de criar uma issue: - Verifique se o problema já foi reportado - Certifique-se de que está usando a versão mais recente - Colete informações relevantes (logs, versão, ambiente)

Ao criar uma issue, inclua: - Descrição clara do problema - Passos para reproduzir - Comportamento esperado vs. atual - Logs relevantes (sem informações sensíveis) - Ambiente (OS, Java version, etc.)

2. Sugerir Melhorias

Para sugerir melhorias: - Abra uma issue com label "enhancement" - Descreva o problema que a melhoria resolveria - Explique como a melhoria funcionaria - Inclua exemplos de uso se aplicável

3. Contribuir com Código

Processo

  1. Fork o repositório
  2. Crie uma branch para sua feature/contribution: bash git checkout -b feature/minha-feature
  3. Faça suas alterações seguindo os padrões do projeto
  4. Teste suas alterações
  5. Commit suas alterações seguindo as convenções: bash git commit -m "feat: adiciona nova funcionalidade X"
  6. Push para sua branch: bash git push origin feature/minha-feature
  7. Abra um Pull Request

Padrões de Código

Estrutura de Packages
io.ecosif.masterdata
├── company/
│   ├── controller/      # Controllers REST
│   ├── service/         # Services de negócio
│   ├── repository/      # Repositories JPA
│   ├── dto/             # DTOs
│   └── integration/     # Integrações externas
├── config/              # Configurações
├── security/            # Segurança
└── user/                # Usuários
Anotações Spring
Validação
Tratamento de Exceções
Logs
Documentação

Convenções de Commit

Seguimos o padrão Conventional Commits:

<tipo>(<escopo>): <descrição curta>

[corpo opcional]

[rodapé opcional]

Tipos: - feat: Nova funcionalidade - fix: Correção de bug - docs: Documentação - refactor: Refatoração - test: Testes - chore: Tarefas de manutenção

Exemplos:

feat(company): adiciona validação de CNPJ
fix(branch): corrige criação de CompanyOptions
docs(api): atualiza documentação do endpoint /company

Ambiente de Desenvolvimento

Pré-requisitos

Configuração Inicial

  1. Clone o repositório
  2. Configure as variáveis de ambiente
  3. Execute a aplicação

Veja Como Rodar Localmente para mais informações.

Recursos Adicionais