Pular para o conteúdo principal

Convenções de Código

Git — Conventional Commits

feat(processos): adicionar submissão com validação de geometria
fix(auth): corrigir expiração de refresh token em fuso horário
docs(api): atualizar exemplo de paginação cursor-based
test(dominio): adicionar casos de borda para CPF inválido
chore(deps): atualizar fastapi para 0.116

Branches:

feat/CAR-123-abertura-carla
fix/CAR-456-timeout-govbr
chore/atualizar-dependencias

Python

ElementoConvençãoExemplo
Módulos/arquivossnake_casevalue_objects.py
ClassesPascalCaseProcessoCAR, NumeroCAR
Funções/métodossnake_casecalcular_area_rl()
ConstantesUPPER_SNAKE_CASEMAX_TAMANHO_ARQUIVO
Variáveis privadas_snake_case_domain_events

Linting: Ruff com regras E, F, I, N, UP, S, B
Types: mypy strict mode — sem Any sem justificativa

# Checar antes de commitar
uv run ruff check src/
uv run mypy src/

TypeScript / React

ElementoConvençãoExemplo
ComponentesPascalCase.tsxProcessoStepper.tsx
HooksusePascalCase.tsuseProcessos.ts
UtilscamelCase.tsformatters.ts
Types/InterfacesPascalCaseProcessoCARResponse
Stores (Zustand)camelCase + StoreauthStore.ts

Banco de Dados

ElementoConvençãoExemplo
Tabelassnake_case, pluralprocessos_car
Colunassnake_casedata_submissao_at
Índicesidx_{tabela}_{coluna}idx_processos_status
Triggerstrg_{tabela}_{evento}trg_processos_updated_at
Functionsfn_{descricao}fn_calcular_score_completude
MigrationsYYYY_MM_DD_NNNN_{descricao}.py2026_01_15_0001_initial_schema.py

Pull Requests

Checklist antes de abrir PR:

  • Testes passando (make test)
  • Sem lint errors (make lint)
  • Cobertura ≥ 80% nos arquivos alterados
  • SAST sem findings HIGH/CRITICAL
  • Descrição do PR explica o porquê, não o o quê
  • Se ADR necessária: criada e linkada