Guias Compartilhados — Atenvi ERP
Convenções aplicadas a todos os projetos (atenvi-ui, atenvi-admin, atenvi-web, atenvi-bff).
Linguagem
- TypeScript strict em todos os projetos
- Sem
any— useunknown+ type guard se necessário - Sem
@ts-ignore— corrija o tipo
Nomenclatura
| Contexto | Convenção | Exemplo |
|---|---|---|
| Arquivos de componente | PascalCase | UserCard.tsx |
| Arquivos de hook | camelCase com use |
useUserData.ts |
| Arquivos de util/service | camelCase | formatCurrency.ts |
| Arquivos de tipo | camelCase com .types.ts |
user.types.ts |
| Constantes | UPPER_SNAKE_CASE | MAX_RETRY_COUNT |
| Variáveis/funções | camelCase | fetchUserById |
Commits
Seguir Conventional Commits:
<type>(<scope>): <description>
types: feat | fix | refactor | test | docs | chore | style
scope: nome do projeto ou módulo (ex: admin, bff, ui)
Estrutura de PR
- PR pequeno: 1 feature ou 1 fix por PR
- Branch:
<type>/<scope>-<description>→feat/admin-user-list - Requer: CI verde + 1 aprovação
Imports
- Imports absolutos via path alias
@/configurado em cada projeto - Sem imports relativos com
../../../
Proibido
console.logem código commitado- Secrets ou credenciais hardcoded
- Lógica de negócio em componentes de UI