Obrigado por ajudar a manter o Controle de Entrega de EPIs. Este guia resume o fluxo de trabalho; o passo a passo técnico está em docs/desenvolvimento.md.
-
Crie uma branch a partir de
main:feat/estoque-por-local,fix/assinatura-ios,docs/guia-usuario. -
Faça commits pequenos e coesos (veja mensagens de commit).
-
Rode localmente:
pnpm format && pnpm lint && pnpm typecheck && pnpm test pnpm --filter @epi-manager/api test:integration # se mexeu na API ou no banco pnpm build
-
Abra um Pull Request para
maindescrevendo o que mudou, por quê e o impacto (formato ATUAL → NOVO → IMPACTO para mudanças de comportamento). -
O CI precisa passar: formatação, lint, typecheck, testes, integração com PostgreSQL, drift de migrations e build.
Conventional Commits, validadas pelo commitlint no
hook commit-msg:
<tipo>(<escopo opcional>): <descrição no imperativo, em português>
| Tipo | Quando |
|---|---|
feat |
Nova funcionalidade |
fix |
Correção de bug |
docs |
Somente documentação |
refactor |
Mudança de código sem alterar comportamento |
test |
Testes |
chore |
Build, dependências, configuração |
ci |
Pipeline |
perf |
Desempenho |
style |
Formatação (sem mudança de lógica) |
Escopos usados: api, web, db, contracts, deps, ci.
Exemplos:
feat(web): estoque agrupado por equipamento com filtros de modelo e tamanho
fix(api): recusar devolução maior que a quantidade pendente
docs: guia do usuário com o fluxo de entrega
O hook pre-commit roda pnpm lint; um commit com erro de lint é bloqueado.
- A regra de negócio e a autorização estão na API (não só na tela)
- Entradas validadas com schema do
@epi-manager/contracts; nada deany - Mudança de banco tem migration versionada (e
CHECK/índice escritos à mão quando necessário) - Operações em várias tabelas usam transação e gravam auditoria na mesma transação
- Testes cobrindo o comportamento novo (integração para regras da API)
- Telas com estados de carregando, vazio e erro; testadas em 360 px e 1440 px
- Rótulos e
aria-labelem campos e botões de ícone; lintjsx-a11ylimpo - Nenhum segredo, senha ou
.envno commit - Documentação atualizada (README,
docs/, CHANGELOG) quando a mudança for visível
Não abra issue pública para vulnerabilidades. Comunique o responsável técnico do projeto; veja SECURITY.md.