VendeeDocs
Desenvolvimento

GitHub — Convenções

Branches, commits, corpo de PR e o que o CI cobra

Branches

BranchUso
mainprodução — deploy automático em app.vendee.com.br
developintegração de construção — deploy automático em dev.vendee.com.br
feat/<ISSUE-ID>-descricaofuncionalidade nova
fix/<ISSUE-ID>-descricaocorreção de bug
refactor/<ISSUE-ID>-descricaorefatoração

Dois trilhos: hotfix sai de main e faz PR para main; construção sai de develop e faz PR para develop. A promoção para produção é um PR develop → main.

Nunca faça push direto na main. Há hook que bloqueia — e ele lê a linha de comando inteira, então até um comando que só mencione "main" é barrado. Rode um comando por vez.

Commits

tipo: descrição curta (ISSUE-ID)

Exemplo: feat: add custom fields to deal form (CRM-12).

Corpo do PR

Use Ref CRM-XX, nunca Closes. A issue só fecha quando a validação em produção acontece — deixar o GitHub fechar sozinho no merge faz o board mentir.

Um PR por issue. Se a tarefa crescer, quebre em mais issues em vez de empilhar. Exceção: um lote de issues pequenas do mesmo assunto vai num PR só, com todas referenciadas.

Etiqueta de release

Todo PR de promoção leva release:patch, release:minor ou release:major. A etiqueta sai do conteúdo do pacote, não do trilho:

O pacote temEtiqueta
só correção, refactor, ajuste internorelease:patch
feature nova visível ao cliente, ou dependência novarelease:minor
marco de produtorelease:major

Feature atrás de flag desligada não é visível ao cliente → segue patch.

O que o CI cobra

JobO que roda
qualitylint (zero warnings) + check-types + testes (vitest) + knip
edgesdeno check em todas as edge functions
driftmigration nova registrada e aplicada no Dev
verdadesinvariantes de negócio conferidos direto no banco de dev
promocaosó em PR develop → main: exige changelog público + etiqueta release:*

Antes de abrir o PR, rode localmente o mesmo portão:

bun run validate:strict   # lint + check-types + build + testes, em série, --force
bun run gates             # knip + deno check das edges

Merge

Merge exige autorização. Há hook que bloqueia gh pr merge — apresente a prova (CI verde, revisão feita, o que foi verificado no navegador) e peça o GO.

Nesta página