Skip to content

Instantly share code, notes, and snippets.

@pedrovasconcellos
Last active November 3, 2025 04:44
Show Gist options
  • Select an option

  • Save pedrovasconcellos/dcf48d0e64c67506ad706c23d1704e6e to your computer and use it in GitHub Desktop.

Select an option

Save pedrovasconcellos/dcf48d0e64c67506ad706c23d1704e6e to your computer and use it in GitHub Desktop.
O que é um Memory Bank?

Para que serve o Memory Bank?

São checklists que servem como guias de verificação para garantir que alterações realizadas pela inteligência artificial (IA) no código respeitem os padrões definidos e workflows do projeto, reduzindo erros e mantendo a consistência.

1. Antes de implementar

Propósito

Garantir que o trabalho comece com entendimento e planejamento corretos.

O que faz

  • "Revisou as convenções" — lê os padrões do projeto antes de começar
  • "Identificou as camadas afetadas" — define quais camadas serão afetadas para escolher o fluxo (Quick/Task)
  • "Declarou/atualizou os gateways e DTOs necessários" — declara interfaces (ports) primeiro, não depois

Por que é importante

  • Evita violações de dependências
  • Define contratos antes de implementar
  • Escolhe o fluxo de trabalho adequado

2. Durante a implementação

Propósito

Manter a qualidade e os princípios durante o desenvolvimento.

O que faz

  • "As dependências fluem apenas para dentro" — garante que dependências fluam para dentro
  • "Os adaptadores permanecem enxutos" — evita lógica de negócio nos adapters.
  • "Valores configuráveis lidos pela camada de configuração" — evita valores hardcoded

Obs.: Adapters devem ser responsáveis apenas pela tradução, orquestração e pelo input/output. A lógica de negócio deve residir nas entidades e nos serviços de domínio.

Por que é importante

  • Mantém a arquitetura limpa durante o trabalho
  • Preserva a testabilidade
  • Facilita a manutenção futura

3. Antes de solicitar revisão

Propósito

Garantir que tudo está completo e documentado antes de pedir revisão.

O que faz

  • "Testes atualizados/aprovados" — garante testes para as camadas afetadas
  • "Documentação ajustada" — atualiza a documentação relevante
  • "Contexto do Memory Bank + alterações rápidas registradas" — registra mudanças no sistema de memória

Por que é importante

  • Evita revisões com trabalho incompleto
  • Mantém a documentação atualizada
  • Preserva o histórico de mudanças

Avaliação geral

Conclusão

Pontos fortes:

  • ✅ Cobre o ciclo completo (antes, durante e depois)
  • ✅ Foco em Clean Architecture (dependências, camadas)
  • ✅ Prático e acionável
  • ✅ Útil para IAs (checkpoints claros)
  • ✅ Integra com o sistema de memória do projeto

Valor:

  • Para humanos: checklists mentais
  • Para IAs: guias programáticos
  • Para o projeto: consistência e qualidade

Recomendações (opcionais)

  • Adicionar exemplos breves do que “não fazer”
  • Especificar onde registrar mudanças no Memory Bank
  • Incluir validação automática quando possível (por exemplo, verificação de imports)

As checklists funcionam como:

  • 🎯 guias de qualidade para manter padrões de projeto
  • 🛡️ prevenção de erros comuns (dependências, lógica no lugar errado)
  • 📋 padrão consistente de trabalho
  • 🤖 instruções claras para IAs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment