aprimoração de ia

This commit is contained in:
Luiz Silva 2026-08-10 16:18:49 -03:00
parent 1177e31e56
commit 4a9f5f70ff
109 changed files with 8835 additions and 55 deletions

View file

@ -1,56 +0,0 @@
---
type: rule
name: refatoracao-segura
description: Toda refatoração deve preservar comportamento e ter cobertura de testes
scope: local
trigger: always_on
updatedAt: "2026-06-19"
---
# Regra: Refatoração Segura
## Contexto
Refatoração é a melhoria da estrutura interna do código **sem alterar seu comportamento externo**. Sem essa garantia, refatoração vira regressão.
## Regra
Antes de executar qualquer refatoração, verificar:
1. **Testes existem** — o comportamento que será afetado tem cobertura
2. **Testes passam** — o estado antes da mudança é verde
3. **Passos pequenos** — cada mudança deve ser verificável isoladamente
4. **Sem surpresas** — nenhuma funcionalidade nova introduzida junto com refatoração
Se não há testes cobrindo o trecho:
- **PARAR** a refatoração
- Solicitar ao `@testes` a criação de testes de cobertura
- Só prosseguir após testes existirem e passarem
## Exemplos
### ✅ Correto
```
1. Verificar testes existentes para `calcularLicenca()`
2. Executar testes → todos passam
3. Extrair cálculo de multa para `calcularMulta()`
4. Executar testes → todos passam
5. Commit: "refactor: extrair calcularMulta de calcularLicenca"
```
### ❌ Incorreto
```
1. Refatorar `calcularLicenca()` inteiro
2. Adicionar nova regra de desconto (feature!)
3. Descobrir que não tinha testes
4. Commit: "refactor: melhorar cálculos" ← mentira, é feature + refatoração
```
## Impacto
Sem esta regra, refatorações introduzem regressões silenciosas que só são descobertas em produção.
## Referências
- Martin Fowler — "Refactoring: Improving the Design of Existing Code"
- Persona: `agents/refatorar/persona`