Apresentando Regras em Nível de PR:
Revise o PR, Não Apenas o Código
Aplique convenções do time para mensagens de commit, descrições de PR, mudanças incompatíveis e mais — automaticamente
Revisão de código não é apenas sobre o código. É sobre contexto: Por que essa mudança foi feita? O PR está focado em uma coisa? As mudanças incompatíveis estão documentadas? Até agora, ferramentas de revisão de código com IA ignoravam tudo isso. Hoje, isso muda.
Estamos animados em apresentar regras em nível de PR — uma nova categoria de regras que analisa todo o Pull Request, não apenas arquivos individuais. Com duas novas tags especiais, pr-level e git-history, você pode agora aplicar as convenções de PR do seu time automaticamente.
O Que Há de Novo
A revisão de código com IA tradicional analisa arquivos um por um, verificando bugs, problemas de segurança e padrões. Mas alguns dos aspectos mais importantes de um bom PR não podem ser encontrados em nenhum arquivo individual:
Qualidade da Descrição do PR
Ela explica o POR QUÊ, não apenas O QUÊ?
Mensagens de Commit
Elas seguem Conventional Commits?
Escopo do PR
Está focado em uma mudança lógica?
Mudanças Incompatíveis
Estão documentadas com passos de migração?
Agora o diffray pode verificar tudo isso — automaticamente, em cada PR.
Duas Novas Tags: pr-level e git-history
Adicionamos duas tags especiais que mudam como o agente de IA processa regras:
pr-level
Para regras que analisam o PR inteiro holisticamente — qualidade da descrição, escopo, documentação de mudanças incompatíveis, cobertura de testes para novos recursos.
O agente olha para o quadro geral: Quais arquivos mudaram? Quantos? Qual é a intenção geral?
git-history
Para regras que precisam de análise de histórico de commits — formato de mensagem, commits atômicos, referências de tickets.
O agente usa git log para inspecionar mensagens de commit e padrões.
Exemplos de Regras Que Você Pode Usar Hoje
1. Descrição do PR Deve Explicar o "Por Quê"
O problema mais comum com PRs: eles listam o que mudou, mas não por quê. Revisores podem ver o diff — eles precisam de contexto.
- id: pr_description_explain_why
agent: general
title: PR description should explain motivation
importance: 7
always_run: true
match:
file_glob: ['**/*']
checklist:
- Check if PR description explains the business reason
- Verify it answers "Why is this change necessary?"
- Look for context about the problem being solved
tags:
- pr-level
- qualityDescrição Ruim de PR
- Atualizou UserService.ts
- Adicionou validação ao formulário de login
- Corrigiu bug de pagamento
Descrição Boa de PR
## Problema
Usuários viram timeouts no checkout com 50+ itens devido a query N+1.
## Solução
Carregamento em lote com padrão DataLoader.
2. Mensagens de Commit Convencionais
Aplique formato de commit consistente para changelogs automatizados e versionamento semântico:
- id: commit_message_format
agent: general
title: Commit messages should follow conventional format
importance: 5
always_run: true
match:
file_glob: ['**/*']
checklist:
- Use git log --oneline to check recent commits
- Verify commits follow type(scope): description format
- Check for clear messages (not "fix stuff", "WIP")
examples:
bad: |
fix stuff
WIP
update code
good: |
feat(auth): add OAuth2 login with Google
fix(api): handle null response from payment service
tags:
- git-history
- automation3. Mudanças Incompatíveis Devem Ser Documentadas
Nada quebra a confiança mais rápido do que mudanças incompatíveis não documentadas chegando à produção:
- id: breaking_changes_documented
agent: general
title: Breaking changes must be clearly documented
importance: 9
always_run: true
match:
file_glob: ['**/*']
checklist:
- Check if changes modify public APIs or remove features
- If breaking, verify commit messages include BREAKING CHANGE
- Check for migration guide in PR description
tags:
- pr-level
- git-history
- breaking-changes4. PRs de Responsabilidade Única
PRs que misturam recursos, correções de bugs e refatoração são impossíveis de revisar bem:
- id: pr_single_responsibility
agent: general
title: PR mixes unrelated changes
importance: 7
always_run: true
match:
file_glob: ['**/*']
checklist:
- Review changed files to identify distinct areas of change
- Check if changes span multiple unrelated features
- Flag if PR touches auth AND payment AND styling
tags:
- pr-level
- quality5. Referências de Ticket Obrigatórias
Para rastreabilidade e notas de release, cada PR deve vincular a uma issue:
- id: pr_ticket_reference
agent: general
title: PR should reference an issue or ticket
importance: 5
always_run: true
match:
file_glob: ['**/*']
checklist:
- Check commits for ticket references (PROJ-123, #123, ENG-456)
- Look for issue URLs in commit messages
- Only flag if NO commits have any ticket reference
tags:
- pr-level
- git-history
- traceabilityComo Funciona Por Baixo dos Panos
O agente general foi atualizado com instruções especiais para lidar com essas tags:
| Tag | Comportamento do Agente |
|---|---|
| pr-level | Analisa o contexto geral do PR — arquivos alterados, escopo, qualidade da descrição |
| git-history | Usa Bash para executar comandos git:git log --oneline -20 — commits recentesgit log --stat -5 — com mudanças de arquivogit log --format="%s%n%b" -10 — mensagens completas |
Regras com always_run: true executam em cada PR independentemente de quais arquivos mudaram. Isso as torna perfeitas para verificações em nível de PR que não dependem de padrões de arquivo específicos.
Como Começar
Adicionar regras em nível de PR ao seu projeto é simples:
1. Crie o diretório de regras
mkdir -p .diffray/rules/pr-quality2. Adicione suas regras
Crie arquivos YAML com always_run: true e as tags apropriadas
3. Abra um PR
O diffray vai automaticamente detectar suas novas regras
Publicamos regras de exemplo em nosso repositório project-specific-rules que você pode copiar e personalizar.
Por Que Isso Importa
Bons PRs são sobre mais do que apenas código funcionando. Eles são documentação para desenvolvedores futuros. São trilhas de auditoria para compliance. São a diferença entre "o que aconteceu aqui?" e "ah, entendi."
Times que aplicam padrões de PR entregam software melhor. Não porque o código é diferente, mas porque o contexto é preservado. Agora o diffray pode ajudá-lo a manter esses padrões automaticamente.
Regras em nível de PR transformam conhecimento tribal em aplicação automatizada. Em vez de esperar que todos lembrem de vincular tickets, documentar mudanças incompatíveis e escrever descrições significativas — você recebe feedback consistente em cada PR.
Experimente Regras em Nível de PR Hoje
Disponível agora para todos os usuários do diffray. Adicione as regras ao seu repo e comece a receber feedback no seu próximo PR.