Pull Request Standards¶
Este documento define o padrão Arkorizon para Pull Requests. O objetivo é garantir revisão clara, rastreabilidade, segurança e qualidade antes de qualquer mudança chegar na main.
Princípios¶
- Todo trabalho deve passar por Pull Request.
- A
maindeve estar sempre estável, testada e deployável. - O PR deve explicar contexto, motivação, impacto esperado e riscos.
- O PR deve ser pequeno o suficiente para revisão humana eficiente.
- CI deve validar build, testes, lint e documentação quando aplicável.
- Revisores devem avaliar comportamento, arquitetura, segurança e manutenção.
Título do PR¶
O título do PR deve seguir o padrão de Conventional Commits.
<type>(<scope>): <summary>
Exemplos:
feat(auth): add refresh token rotation
fix(sync): handle offline startup
docs(standards): expand repository standards
ci(pages): add MkDocs deployment workflow
Descrição do PR¶
Todo PR deve responder:
- O que foi alterado?
- Por que foi alterado?
- Qual problema, oportunidade ou necessidade motivou a mudança?
- Qual impacto positivo a mudança deve gerar?
- Existe risco técnico, operacional, de segurança, dados ou compatibilidade?
- Há alguma informação adicional que ajude a revisão?
Template recomendado:
## Summary
- Describe what changed.
- Mention the affected area.
## Motivation
- Explain why this change is needed.
- If this is a fix, describe what problem is corrected.
- If this is an improvement, describe the expected positive impact.
## Risk
- Low / Medium / High
- Explain the main risk, if any.
## Additional Context
- Add screenshots, links, rollout notes, migration notes or follow-ups when needed.
Não inclua checklist manual de validação no template padrão. A validação obrigatória deve aparecer na esteira de CI/CD e nas regras do repositório. Se uma validação manual for relevante, descreva em Additional Context.
Tamanho do PR¶
Prefira PRs pequenos e coesos.
| Tamanho | Orientação |
|---|---|
| Pequeno | Ideal. Uma mudança clara, fácil de revisar. |
| Médio | Aceitável quando a feature exige consistência entre arquivos. |
| Grande | Deve ser exceção. Explique por que não pode ser dividido. |
Um PR grande pode ser aceito quando separar a mudança deixaria o sistema inconsistente, quebrado ou impossível de validar.
Regras obrigatórias¶
- Não fazer merge na
mainsem Pull Request, exceto bypass administrativo justificado. - Respeitar as rulesets globais da organização.
- Resolver comentários antes do merge.
- Atualizar documentação quando o comportamento mudar.
- Não misturar mudanças sem relação.
- Apagar branch após merge quando possível.
Regras de branch, commit e proteção da main ficam em Organization Rulesets.
Revisão obrigatória¶
A revisão deve avaliar:
- correção funcional;
- clareza do código;
- aderência à arquitetura;
- segurança;
- performance;
- testes;
- documentação;
- observabilidade quando aplicável;
- impacto operacional.
Checklist do autor¶
Antes de pedir review:
- O PR tem título semântico.
- A descrição explica contexto e impacto.
- O código compila.
- Testes relevantes foram executados.
- Documentação foi atualizada quando necessário.
- Não há secrets, tokens ou credenciais.
- Não há arquivos gerados desnecessários.
- O diff foi revisado pelo autor.
Checklist do revisor¶
Durante a revisão:
- A mudança resolve o problema correto.
- O escopo está claro.
- Não há acoplamento desnecessário.
- As regras de arquitetura foram respeitadas.
- Erros e exceções foram tratados.
- Testes cobrem o comportamento importante.
- Não há risco óbvio de segurança.
- Nomes estão consistentes com os padrões.
- O PR pode ser mantido no longo prazo.
Estratégia de merge¶
| Estratégia | Quando usar |
|---|---|
| Squash merge | Padrão para features, fixes e docs. Mantém histórico limpo. |
| Merge commit | Releases ou PRs que precisam preservar commits individuais. |
| Rebase merge | Mudanças pequenas quando o time quiser histórico linear. |
Padrão recomendado: Squash merge com título final seguindo Conventional Commits.
O formato de commit fica em Commit Semântico.
PRs de hotfix¶
Hotfix deve ser usado para correção urgente em produção.
O PR de hotfix deve conter:
- descrição do incidente;
- impacto;
- motivo da urgência;
- plano de rollback;
- referência a issue/incidente quando existir.
Regras para aprovação¶
- PR deve ter pelo menos uma aprovação quando o repositório exigir.
- Regras de aprovação devem ser definidas nas rulesets ou branch protection do repositório.
- Administradores da organização podem ter bypass para casos operacionais, incidentes ou manutenção crítica.
- Exceções administrativas devem ser usadas apenas quando necessário e com responsabilidade.
- A aprovação deve confirmar que a mudança é compreensível, revisável e alinhada ao objetivo descrito.
Regra final¶
Um PR deve ser revisável por outra pessoa sem reunião obrigatória.
Se o revisor precisa perguntar o objetivo básico da mudança, a descrição do PR está incompleta.