docs: detalha padrões de mobile-first e estratégia de testes
This commit is contained in:
parent
0230a26302
commit
1a527add23
2 changed files with 31 additions and 0 deletions
15
AGENT.md
Normal file
15
AGENT.md
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
## 🛠️ 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)`.
|
||||||
16
DOMAIN.md
Normal file
16
DOMAIN.md
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# GoHorseJobs - Regras de Domínio
|
||||||
|
|
||||||
|
## 📄 Ciclo de Vida da Vaga (Job)
|
||||||
|
1. **Posted**: Vaga criada pela empresa.
|
||||||
|
2. **Featured**: Vaga paga para destaque no topo da lista.
|
||||||
|
3. **Expired**: Vagas caducam após 30 dias automaticamente.
|
||||||
|
4. **Closed**: Encerrada manualmente pelo RH.
|
||||||
|
|
||||||
|
## 👥 Candidatos e Aplicações
|
||||||
|
- **Resume**: Suporte a upload de PDF no S3/Civo Object Storage.
|
||||||
|
- **Application**: Um candidato só pode se aplicar 1 vez por vaga.
|
||||||
|
- **Answers**: Perguntas customizadas por vaga devem ser validadas no momento da aplicação.
|
||||||
|
|
||||||
|
## 🕷️ Motor de Scraping
|
||||||
|
- As vagas coletadas de outros sites (multisite) devem ter o campo `source_url` preenchido.
|
||||||
|
- Vagas duplicadas devem ser ignoradas via hash do conteúdo + título.
|
||||||
Loading…
Reference in a new issue