Política de Commits¶
Versão | Data | Descrição | Autor |
---|---|---|---|
| 1.0 | - | Equipe ConsultTributário | Versão inicial, documentação base herdada. | | 2.0 | 05/05/2025 | Vinicius Vieira | Atualizações da política, baseada nas novas ISSUES e padronizações para o projeto. |
Este projeto segue as recomendações de Conventional Commits para manter um histórico de mudanças claro e padronizado.
Estrutura do Commit¶
Cada mensagem de commit é composta por:
<tipo>(<escopo opcional>): <título>
<corpo opcional>
<rodapé opcional>
Exemplo Rápido¶
feat(frontend): add user registration form
- implementa formulário de registro no front
- refatora componente de input
closes #12
Tipos Aceitáveis¶
- build: alterações que afetam o sistema de build ou dependências externas.
- static: mudanças em arquivos estáticos (por exemplo, JSON, imagens).
- ci: alterações em arquivos/scripts de configuração de Integração Contínua.
- cd: alterações em arquivos/scripts de configuração de Deploy Contínuo.
- doc: somente alterações na documentação (branch
docs
). - feat: inclusão de uma nova funcionalidade.
- fix: correção de um bug.
- perf: alterações visando melhorar desempenho (sem mudar o comportamento visível).
- refactor: refatoração de código sem alterar funcionalidade ou corrigir bugs.
- improve: melhorias em alguma funcionalidade já existente.
- style: mudanças que não afetam a lógica do código (formatação, espaços, ponto e vírgula etc.).
- test: inclusão ou atualização de testes.
- revert: reverte um commit anterior.
Cabeçalho (Título)¶
- Deve ser escrito no imperativo e tempo presente;
- Não coloque ponto final;
- Limite sugerido: até 48 caracteres.
Corpo (opcional)¶
- Explica por que a alteração foi feita;
- Use tom imperativo e limite as linhas a ~72 caracteres;
- Pode conter informações mais técnicas ou detalhes de implementação.
Rodapé (opcional)¶
- Pode referenciar issues vinculadas (ex.:
closes #xx
,fix #xx
); - É possível adicionar co-autores (
Co-authored-by: Nome <email@dominio.com>
).
Revertendo Commits¶
Se o commit reverte um commit anterior, ele deve começar com revert:
, seguido pelo cabeçalho do commit revertido.
Exemplo:
revert: feat(frontend): add user registration form
This reverts commit <hash_do_commit>.
Boas Práticas e Observações¶
- Mantenha títulos curtos e descritivos.
- Inglês e imperativo são recomendados para facilitar padronização.
- Use prefixos de commit adequados (ex.:
fix:
,docs:
). - Para commits grandes, descreva com clareza no corpo, o que e por que foi mudado.
- Utilize
closes #xx
no rodapé para fechar automaticamente issues correlatas.
Exemplos Contextualizados para o ConsultTributario¶
Implementação de Funcionalidade Tributária¶
feat(api): add cálculo de imposto ICMS para operações interestaduais
- implementa regras de cálculo conforme Lei Complementar 87/96
- integra com base de dados de alíquotas por estado
- adiciona validações para itens isentos
closes #45
Correção de Bug em Relatórios¶
fix(frontend): corrige cálculo incorreto no relatório de impostos retidos
- corrige fórmula de cálculo de IRRF em serviços
- ajusta exibição de valores negativos
- adiciona tooltips explicativos
fixes #78
Melhoria na Documentação¶
doc(api): adiciona documentação para endpoints de consulta tributária
- adiciona exemplos de requisição/resposta para cada endpoint
- atualiza diagrama de fluxo do processo de consulta
- inclui informações sobre limitações e regras de negócio
part of #92
Integração com Pull Requests¶
Ao criar um Pull Request, a mensagem de commit deve estar alinhada com as informações do PR template:
- O título do PR deve refletir o escopo e finalidade dos commits incluídos
- Na seção Descrição do PR, inclua um resumo dos commits principais
- Em Issues Relacionadas, referencie as mesmas issues mencionadas nos rodapés dos commits
- O histórico de commits deve demonstrar as etapas lógicas de implementação da funcionalidade ou correção
Exemplo de Alinhamento Commit-PR¶
Commits no Branch:
feat(frontend): adiciona tela de configuração fiscal
feat(frontend): implementa seleção de regime tributário
feat(api): cria endpoint para salvar configurações fiscais do usuário
test(api): adiciona testes para validação de configurações fiscais
Título do PR:
[FEATURE] Implementação de Configurações Fiscais do Usuário
Descrição do PR: Implementa a funcionalidade completa de configurações fiscais, permitindo ao usuário selecionar seu regime tributário e preferências para cálculos.
Rastreabilidade entre Commits e Matriz de Requisitos¶
Para manter a rastreabilidade entre código e requisitos:
- Sempre referencie o número da issue nos commits (
closes #XX
,fixes #XX
,implements #XX
) - Para funcionalidades que implementam parcialmente um requisito, use
part of #XX
- Para commits que afetam múltiplos requisitos, liste-os separadamente (
closes #XX, relates to #YY
) - Ao finalizar uma funcionalidade, atualize a matriz de rastreabilidade conforme indicado no PR template
Identificadores de Rastreabilidade¶
closes #XX
oufixes #XX
: Fecha a issue automaticamente após o merge do PRimplements #XX
: Indica implementação de requisito sem fechar automaticamentepart of #XX
: Indica contribuição parcial para um requisito maiorrelates to #XX
: Indica relação sem implicar em implementação ou fechamento