MÓDULO 2.2

📋 Templates ICCA Prontos

6 templates copy/paste para bug, feature, debug, refactor, migração e integração. Mais 1 receita para virar snippets do seu editor.

7
Tópicos
40
Minutos
Inter.
Nível
Biblioteca
Tipo
6 TEMPLATES ICCA — CARTAS DE BARALHO 🐛BUG FEAT 🔎DEBUG 🔄REFAC 📚MIGR 🔗API
1

🐛 Template — Bug fix

O formato mais usado. Foca em reprodução concreta e critério binário.

# INTENT
Bug: [sintoma em 1 frase]
Impacto: [quem é afetado, com que frequência]
Repro: [passos ou curl/payload]

# ARQUIVOS
- Suspeitos: [paths]
- Teste que deve passar: [path::caso]

# CONSTRAINTS
- Não alterar [assinatura/schema/etc]
- Sem cleanup adjacente

# CRITERIA
- [comando de teste] passa
- Diff ≤ [N] arquivos
2

✨ Template — Feature nova

Feature bem briefada sai em 1 turno. Escopo explícito evita mission creep.

# INTENT
Adicionar [feature] para [perfil de usuário]
Motivo de negócio: [uma frase mensurável]
Comportamento esperado: [happy path em 3 linhas]

# ARQUIVOS
- Novos: [paths que serão criados]
- Alterar: [paths]
- Não tocar: [paths relacionados mas fora do escopo]

# CONSTRAINTS
- API pública mantida
- [framework/versão] compatível
- Sem novas deps sem avisar

# CRITERIA
- Testes novos passam: [path]
- Nenhum teste existente quebra
- Feature toggle: [flag] (desativada por padrão)
3

🔎 Template — Investigação/debug

Separa diagnóstico de correção. Pede hipóteses ranqueadas.

# INTENT
Entender por que [sintoma]. NÃO corrigir ainda.
Output: 3 hipóteses ranqueadas por probabilidade,
        cada uma com teste de confirmação.

# ARQUIVOS
- Logs: [path]
- Suspeitos: [paths]
- Config relevante: [path]

# CONSTRAINTS
- Não edite código
- Não rode comandos destrutivos

# CRITERIA
- 3 hipóteses concretas
- Cada hipótese com evidência + contra-evidência
- Recomendação final
4

🔄 Template — Refactor multi-arquivo

O maior buraco de tokens quando mal-briefado. Liste todos os call-sites.

# INTENT
Refatorar [padrão] para [padrão novo]
Motivo: [dado concreto — 3x copy/paste, DRY, etc]

# ARQUIVOS (todos os call-sites)
- /src/a.ts:42
- /src/b.ts:87
- /src/c.ts:15
(liste TUDO — resultado de grep inclusive)

# CONSTRAINTS
- Comportamento idêntico (testes passam sem mudança)
- Sem renomear funções públicas
- Commit único

# CRITERIA
- `npm test` verde
- `git diff --stat` ≤ 5 arquivos
- Sem `any` novos
5

📚 Template — Migração de legado

Sem spec escrita, alucinação é garantida. Testes caracterizadores primeiro.

# INTENT
Migrar [módulo] de [tech A] para [tech B]
Critério de equivalência: comportamento em [spec link]

# ARQUIVOS
- Origem: [path]
- Destino: [path novo]
- Testes caracterizadores: [path] (criar antes)

# CONSTRAINTS
- Nenhuma regressão nos testes caracterizadores
- API pública inalterada
- Deprecation warning nos call-sites, não remoção

# CRITERIA
- Testes caracterizadores ≥ 20 casos
- Cobertura de linha ≥ 85%
- Doc de migração em /docs/migrations/[nome].md
6

🔗 Template — Integração com API externa

Falham mais por premissa oculta que por código. Nunca deixe o modelo inferir auth.

# INTENT
Integrar com [API Xyz] para [ação específica]

# CONTRATOS
- Endpoint: POST https://api.xyz/v1/...
- Auth: Bearer token via env var X
- Response: { "id": string, "status": enum }
- Rate limit: 60/min
- Idempotency-Key: UUID por request

# ARQUIVOS
- Client: /src/integrations/xyz-client.ts (novo)
- Testes: /tests/integrations/xyz.test.ts

# CONSTRAINTS
- Retry exponencial (max 3) só em 5xx
- Timeout 10s
- Sem fallback silencioso em 4xx

# CRITERIA
- Mock server roda localmente
- Testes cobrem: 200, 4xx, 5xx, timeout
- Nenhum secret hard-coded
7

💾 Como salvar como snippets

Atalho > memória. 1 gatilho por template.

VSCode snippets.json

"ICCA Bug": {
  "prefix": "icca-bug",
  "body": ["# INTENT", "Bug: $1", ...]
}

Claude Code commands

~/.claude/commands/icca-bug.md
~/.claude/commands/icca-feat.md
# rode com /icca-bug

💡 Dica

Versione os snippets no repo dotfiles. Compartilhar com a equipe tira dúvida de "qual é o template oficial".

📋 Resumo

6 templates — bug, feature, debug, refactor, migração, API
Todos seguem ICCA — mesma espinha dorsal
Snippet por template — VSCode/Alfred/Claude Code
Versione no git — equipe alinhada

Próximo Módulo:

2.3 — Níveis de Effort