21 lines
1.3 KiB
Markdown
21 lines
1.3 KiB
Markdown
# GoHorseJobs - AI Engineering Standards
|
||
|
||
## 📱 Mobile-First Obsession (Frontend)
|
||
1. **Padrão de Layout**: Todas as páginas devem ser desenvolvidas para mobile (`width < 640px`) primeiro.
|
||
2. **Componentes**: Use o design system já definido. É proibido duplicar componentes de "Card de Vaga".
|
||
3. **Imagens**: Sempre use o componente `next/image` com `sizes` definido para evitar layouts que "pulam".
|
||
|
||
## 🧪 Estratégia de Testes
|
||
1. **Scraper (Python/Playwright)**: Cada novo site de vagas deve ter um teste de "extração simulada" para garantir que o seletor CSS ainda funciona.
|
||
2. **E2E (Playwright)**: Fluxos crÃticos (Candidatar-se a vaga, Login de Empresa) devem ser testados via Playwright E2E na VPS.
|
||
3. **Integration**: Testar a persistência do banco via Postgres diretamente.
|
||
|
||
## 🛠ï¸<C3AF> Regras de Código (Go)
|
||
- Use **Context** em todas as chamadas de banco e serviços externos.
|
||
- Erros devem ser "embrulhados" com contexto: `fmt.Errorf("falha ao salvar vaga: %w", err)`.
|
||
|
||
|
||
## ?? Gestão de Credenciais
|
||
- **Prioridade**: O sistema DEVE ler credenciais da tabela 'external_services_credentials' no banco de dados.
|
||
- **Fallback**: Variáveis de ambiente (.env) são apenas para bootstrap e desenvolvimento inicial.
|
||
- **Serviços Ativos**: Stripe (Pagamentos), CloudAMQP (Mensageria), Appwrite (Chat), Civo (Storage).
|