anthropic-skills/.github/pull_request_template.md

3.8 KiB

🎹 Pull Request - Piano Training Platform

📝 Descrição

🎯 Tipo de Mudança

  • ✨ Nova feature
  • 🐛 Bug fix
  • 🔧 Refatoração
  • 📝 Documentação
  • 🎨 UI/UX
  • ⚡ Performance
  • 🔒 Segurança
  • 🧪 Testes

🔍 Checklist de Review

Obrigatório (Blocking) ⚠️

Componentes (se aplicável)

  • Todos os componentes têm PropTypes ou TypeScript types definidos
  • Componentes não contêm lógica de negócio
  • Componentes são testáveis (sem side effects diretos)

Áudio/MIDI (se aplicável)

  • Código de áudio inclui tratamento de erros (try-catch)
  • Implementado cleanup de recursos (removeEventListener, disconnect)
  • Latência documentada e testada (< 50ms)
  • Mensagens MIDI validadas antes de processar

Estado (se aplicável)

  • Estado é imutável (spread operators ou immer)
  • Sem lógica complexa em reducers/actions
  • Estrutura do estado documentada

Testes

  • Nova funcionalidade tem pelo menos 1 teste
  • Coverage mínimo de 70% para novos arquivos
  • Testes são legíveis (padrão AAA)

API/Backend (se aplicável)

  • Chamadas API têm timeout configurado
  • Implementado retry logic com exponential backoff
  • Dados da API são validados (schemas)
  • Sem chaves API ou secrets expostos

Fortemente Recomendado 🟡

Qualidade de Código

  • Componentes têm menos de 250 linhas
  • Nomes são descritivos e claros
  • Sem console.logs desnecessários
  • TODOs foram convertidos em issues
  • Commits seguem Conventional Commits

Acessibilidade (WCAG 2.1)

  • Botões têm aria-labels descritivos
  • Elementos navegáveis via teclado
  • Contraste mínimo de 4.5:1
  • Estados de foco visíveis
  • Animações respeitam prefers-reduced-motion

Performance

  • Usado lazy loading quando apropriado
  • Sem re-renders desnecessários
  • Assets otimizados (imagens, áudio)
  • Bundle size dentro do limite (< 500KB gzipped)

Documentação

  • Código complexo está comentado
  • README atualizado se necessário
  • Changelog atualizado
  • JSDoc em funções públicas

Específico por Área 🎯

Teclado Virtual (se aplicável)

  • Suporta toque e mouse
  • Resposta < 100ms
  • Feedback visual imediato
  • Suporta múltiplas teclas (acordes)
  • Funciona em mobile, tablet e desktop

Sistema de Avaliação (se aplicável)

  • Feedback construtivo e específico
  • Tolera desvios humanos (±50ms)
  • Progress tracking implementado
  • Métricas documentadas

Pedagogia (se aplicável)

  • Objetivos de aprendizado definidos
  • Progressão de dificuldade documentada
  • Feedback imediato ao aluno
  • Sistema motivacional, não punitivo

🧪 Como Testar

📸 Screenshots/Demo

  • Issue: #
  • Documentação:
  • Design:

⚠️ Breaking Changes

  • Não há breaking changes
  • Breaking changes documentados abaixo

🎓 Aprendizados


✅ Checklist Final

Antes de submeter:

  • Código revisado localmente
  • Testes passam localmente
  • Lint passa sem erros
  • Build funciona sem warnings
  • Testado em Chrome, Firefox e Safari (se UI)
  • Testado em mobile (se aplicável)
  • Branch está atualizada com main/develop
  • Descrição do PR está completa

🙏 Reviewers

@reviewer1 @reviewer2


Nota: PRs que não atendem aos itens Obrigatórios (Blocking) serão retornados para ajustes antes do merge.