Pular para o conteúdo

Guia de Contribuição

O Juca aceita contribuições tanto de desenvolvedores humanos quanto de agentes de código de IA. Esta página cobre a estratégia de branches, o processo de PR e as regras que se aplicam a todos os contribuidores.

  1. Siga o guia de Instalação para a configuração completa
  2. Leia as Convenções de Código para os padrões
  3. Leia o Guia de Testes para os requisitos de teste
  4. Leia o CLAUDE.md na raiz do projeto para as instruções do agente de IA
BranchFinalidadeProteção
mainBranch estável, todos os PRs apontam para cáCI deve passar
feature/[issue]-[description]-claudeBranches de feature do Claude Code
feature/[issue]-[description]-codexBranches de feature do Codex

Regras:

  • Sempre crie branches a partir de main
  • Inclua o número da issue do GitHub no nome da branch
  • Adicione o sufixo -claude ou -codex para identificar o agente
  • Nunca trabalhe em uma branch de propriedade do outro agente
Terminal window
# Exemplo: criando uma branch para a issue #285
git checkout main
git pull
git checkout -b feature/285-briefing-phase1-claude
  1. Crie sua feature branch a partir de main
  2. Faça alterações seguindo as convenções
  3. Escreva testes para novas funcionalidades
  4. O hook pre-push roda os testes automaticamente no push
  5. O CI roda lint + build + testes unitários no remoto

Ao criar um PR:

  • Título: Curto e descritivo (< 70 caracteres)
  • Corpo: Resumo das alterações, link para a(s) issue(s) relacionada(s)
  • Testes: Todos os testes devem passar no CI
  • Sem novos erros de lint
  • Siga os padrões existentes — não introduza novas abstrações sem justificativa

Estas regras do CLAUDE.md são obrigatórias:

RegraJustificativa
Nunca rode builds/bundlers localmenteEconomiza CPU, usa o CI em vez disso
Prefira editar o código existenteEvita inchaço de abstrações
Não adicione funcionalidades além do solicitadoMantém as alterações focadas
Não adicione comentários, docstrings ou tipos a código não modificadoReduz ruído no diff
Opte pela solução reversível mais simplesMaximiza a flexibilidade
Nunca pule os git hooksGarante a qualidade do código

Ordem de prioridade quando os princípios conflitam:

  1. Correção (especialmente segurança, integridade de dados)
  2. Simplicidade e clareza
  3. Manutenibilidade ao longo do tempo
  4. Reversibilidade das decisões
  5. Desempenho e otimização
  • Não crie abstrações para operações pontuais
  • Não adicione tratamento de erros para cenários que não podem acontecer
  • Não projete para requisitos futuros hipotéticos
  • Não adicione shims de retrocompatibilidade — simplesmente mude o código
  • Não crie arquivos de documentação a menos que seja explicitamente solicitado