Novo Recurso

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

22 de dezembro de 2025
8 min de leitura

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
    - quality

Descriçã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
    - automation

3. 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-changes

4. 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
    - quality

5. 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
    - traceability

Como Funciona Por Baixo dos Panos

O agente general foi atualizado com instruções especiais para lidar com essas tags:

TagComportamento do Agente
pr-levelAnalisa o contexto geral do PR — arquivos alterados, escopo, qualidade da descrição
git-historyUsa Bash para executar comandos git:
git log --oneline -20 — commits recentes
git log --stat -5 — com mudanças de arquivo
git 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-quality

2. 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.

Related Articles