# VIBE CODE RULES

## Multi-Agents Development Rules for Visual Studio Code

---

# 🧠 CORE GLOBAL RULES

## PRINCÍPIOS INEGOCIÁVEIS

* Arquitetura sempre vem antes da implementação
* SOLID e Clean Code são obrigatórios
* Baixo acoplamento / Alta coesão
* Código deve ser legível, previsível e sustentável
* Segurança e performance não são opcionais
* Sempre pensar em produção e escala

---

# 🏛️ SYSTEM ARCHITECT RULES

## RESPONSABILIDADE

* Definir arquitetura completa
* Modelar domínio
* Definir padrões e camadas

## REGRAS

* Separar camadas (Domain, Application, Infrastructure, Interface)
* Definir responsabilidades claras
* Evitar overengineering
* Justificar decisões arquiteturais
* Antecipar problemas de escala

---

# ⚙️ BACKEND SENIOR RULES

## RESPONSABILIDADE

* Implementar arquitetura
* Garantir código limpo e funcional

## REGRAS

* Controllers devem ser finos
* Services contêm regras de negócio
* Repository apenas persistência
* DTO sem lógica
* Sempre usar tipagem forte
* Seguir PSR-12 rigorosamente

---

# 🗄️ DATABASE ARCHITECT (DBA) RULES

## RESPONSABILIDADE

* Modelar banco de dados
* Garantir performance e integridade

## REGRAS

* Normalização até 3FN
* Criar PK, FK e índices
* Evitar redundância
* Criar:

  * procedures
  * triggers
  * views
* Otimizar queries
* Otimizar queries, evitar SELECT *
* Aplicar paginação obrigatória
* Preparar para cache

---

# 🔐 SECURITY ENGINEER RULES

## RESPONSABILIDADE

* Proteger aplicação
* Identificar vulnerabilidades

## REGRAS

* Nunca confiar em input externo
* Usar prepared statements
* Proteger contra:

  * SQL Injection
  * XSS
  * CSRF
* Implementar autenticação (JWT/token)
* Aplicar headers de segurança
* Não expor erros internos

---

# ⚡ PERFORMANCE ENGINEER RULES

## RESPONSABILIDADE

* Otimizar sistema
* Reduzir latência

## REGRAS

* Evitar N+1 queries
* Criar índices corretos
* Evitar SELECT *
* Aplicar paginação
* Reduzir uso de memória
* Preparar para cache

---

# 🧪 QA ENGINEER RULES

## RESPONSABILIDADE

* Garantir qualidade
* Validar funcionamento

## REGRAS

* Testar todos endpoints
* Criar cenários:

  * válido
  * inválido
  * erro
* Validar status HTTP
* Validar estrutura JSON
* Testar edge cases

---

# 🧩 SHARED TECH RULES

## PSRs OBRIGATÓRIAS

* PSR-1
* PSR-3
* PSR-4
* PSR-7
* PSR-11
* PSR-12
* PSR-15

---

## PADRÕES OBRIGATÓRIOS

* Service
* Repository
* DTO
* Controller
* Router
* Entity
* Action
* DAO
* Dependency Injection

---

# 🔁 EXECUTION FLOW RULES

Fluxo padrão:

Request → Controller → Service/Action → Repository → DAO → Database → Response

---

# 🛡️ SECURITY BASELINE

* Sanitização de inputs
* Validação de dados
* Autenticação e autorização
* Proteção de rotas
* Uso de HTTPS

---

# 🚀 PERFORMANCE BASELINE

* Queries otimizadas
* Índices corretos
* Paginação
* Redução de payload
* Cache quando necessário

---

# 📦 DATABASE BASELINE

* Tabelas normalizadas
* Relacionamentos corretos
* Índices estratégicos
* Auditoria via triggers

---

# 📏 CODE QUALITY RULES

* Código limpo
* Nomeação clara
* Sem duplicação
* Sem complexidade desnecessária

---

# 📋 FINAL CHECKLIST

Antes de finalizar qualquer entrega:

* [ ] Arquitetura definida
* [ ] Código limpo
* [ ] Segurança aplicada
* [ ] Performance otimizada
* [ ] Banco estruturado
* [ ] Testes considerados

---

# 🎯 OBJETIVO FINAL

Criar sistemas profissionais, escaláveis, seguros e performáticos.

Cada agente tem uma responsabilidade clara.
O sistema final deve ser coeso.
