Skip to content

Commit 63e5947

Browse files
committed
chore: configura husky e padroniza contribuição
1 parent 1426541 commit 63e5947

5 files changed

Lines changed: 1536 additions & 37 deletions

File tree

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
npm test

commitlint.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default { extends: ['@commitlint/config-conventional'], };

contribuition.md

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
# Guia de Contribuicao
2+
3+
Este documento define o processo oficial de contribuicao no monorepo para manter qualidade, previsibilidade e historico limpo.
4+
5+
## 1. Fluxo obrigatorio
6+
7+
1. Criar/selecionar um card no board oficial.
8+
2. Atualizar a branch principal local.
9+
3. Criar branch de feature a partir da master.
10+
4. Implementar mudancas com testes.
11+
5. Commitar em blocos pequenos e coerentes.
12+
6. Abrir PR para develop.
13+
7. Ajustar feedback de review.
14+
8. Fazer merge somente apos aprovacao.
15+
16+
## 2. Padrao de branch
17+
18+
Formato recomendado:
19+
20+
- feature/<id-card>-<descricao-curta>
21+
- fix/<id-card>-<descricao-curta>
22+
- chore/<id-card>-<descricao-curta>
23+
24+
Exemplo:
25+
26+
- feature/123-corrigir-contrato-keywords
27+
28+
Comandos base:
29+
30+
```bash
31+
git checkout master
32+
git pull origin master
33+
git checkout -b feature/123-corrigir-contrato-keywords
34+
```
35+
36+
## 3. Responsabilidades por papel
37+
38+
### Desenvolvedor(a)
39+
40+
- Implementar somente o escopo do card.
41+
- Garantir build e testes locais antes do commit.
42+
- Atualizar documentacao quando contrato/API mudar.
43+
- Descrever claramente impacto tecnico no PR.
44+
45+
### Revisor(a)
46+
47+
- Validar regressao funcional e tecnica.
48+
- Verificar padrao de codigo e clareza do diff.
49+
- Bloquear merge se houver risco de quebra nos fluxos criticos.
50+
51+
### QA
52+
53+
- Executar roteiro QA no estado da branch.
54+
- Reportar bug com passos, evidencia e severidade.
55+
- Aprovar somente apos criterios de aceite serem atendidos.
56+
57+
## 4. Convencao de commit
58+
59+
Usar Conventional Commits:
60+
61+
- feat: nova funcionalidade
62+
- fix: correcao de bug
63+
- chore: manutencao
64+
- refactor: refatoracao sem mudar comportamento
65+
- test: testes
66+
- docs: documentacao
67+
68+
Formato:
69+
70+
```text
71+
tipo(escopo): descricao curta no imperativo
72+
```
73+
74+
Exemplos:
75+
76+
- feat(frontend): adicionar estado vazio para tabela
77+
- fix(backend): corrigir metodo da rota jobs search
78+
- docs(repo): atualizar guia de testes
79+
80+
## 5. Checklist antes do commit
81+
82+
Executar na raiz:
83+
84+
```bash
85+
npm run lint --workspace=frontend
86+
npm run test --workspace=backend
87+
npm run build --workspace=frontend
88+
```
89+
90+
Se alterou backend com banco:
91+
92+
```bash
93+
npm run db:generate
94+
npm run db:migrate
95+
```
96+
97+
## 6. Husky (hooks locais obrigatorios)
98+
99+
O projeto esta preparado para usar Husky com os hooks:
100+
101+
- pre-commit: lint frontend + teste backend
102+
- pre-push: build frontend
103+
104+
Arquivos de hook:
105+
106+
- .husky/pre-commit
107+
- .husky/pre-push
108+
109+
### Instalacao inicial
110+
111+
Depois de clonar o repositorio:
112+
113+
```bash
114+
npm install
115+
```
116+
117+
O script prepare configura o Husky automaticamente.
118+
119+
### Rodar hooks manualmente (debug)
120+
121+
```bash
122+
npm run hook:pre-commit
123+
npm run hook:pre-push
124+
```
125+
126+
## 7. Regras de Pull Request
127+
128+
Toda PR deve conter:
129+
130+
1. Link do card/issue.
131+
2. Resumo objetivo das alteracoes.
132+
3. Evidencias de teste (logs, prints ou comandos executados).
133+
4. Riscos conhecidos e plano de rollback, quando aplicavel.
134+
135+
Checklist minimo da PR:
136+
137+
- [ ] Escopo limitado ao card
138+
- [ ] Sem arquivos temporarios/gerados desnecessarios
139+
- [ ] Sem segredo/token em codigo
140+
- [ ] Testes locais executados
141+
- [ ] Documentacao atualizada (quando necessario)
142+
143+
## 8. Regras de merge
144+
145+
- Nao fazer commit direto em master ou develop.
146+
- Nao fazer merge sem review.
147+
- Nao usar squash sem preservar contexto da PR (descricao clara).
148+
- Corrigir conflitos localmente e rerodar checklist antes do merge.
149+
150+
## 9. Politica de qualidade minima
151+
152+
- Cobertura minima de 80% (linhas, statements, functions, branches) conforme TESTING.md.
153+
- Qualquer mudanca em contrato de API deve vir com ajuste de frontend e testes relacionados.
154+
- Bugs bloqueantes ou criticos impedem merge.
155+
156+
## 10. Template rapido de mensagem de PR
157+
158+
```markdown
159+
## Card
160+
- [link do card]
161+
162+
## O que foi feito
163+
- item 1
164+
- item 2
165+
166+
## Validacao
167+
- comando 1
168+
- comando 2
169+
170+
## Riscos
171+
- risco 1
172+
173+
## Evidencias
174+
- print/log/link
175+
```

0 commit comments

Comments
 (0)