Para de pagar pra IA esquecer o que você já sabe
Eu tenho vários SaaS rodando em paralelo, e mais alguns em construção. Todo projeto precisa de Stripe. Todo projeto precisa de email transacional. A maioria roda em Cloudflare Workers com D1 e R2.
Por um tempo, deixei a IA reescrever essas integrações do zero em cada projeto novo.
Caro. E burro.
O que tava acontecendo de verdade
Quando você pede pro Claude Code "integrar o Stripe checkout", ele não "teleporta" pra implementação final. Ele explora. Escreve, avalia, ajusta. Trata erro, reconsidera o tratamento de erro. Descobre onde colocar o webhook handler, que metadata incluir, como estruturar a resposta.
Tudo isso gasta tokens. E tempo.
Multiplica por cada projeto. Cada vez que eu começava algo novo, a IA reconstruía o mesmo modelo mental pra integrações que eu já tinha resolvido antes.
O código saía ok. Mas eu tava pagando em tokens e em tempo de revisão por decisões que já tinham sido tomadas.
A solução: ai-boilerplates
Criei um repo privado chamado ai-boilerplates. A ideia é simples: toda integração que eu já resolvi e validei vai pra lá, pronta pra ser usada como referência.
ai-boilerplates/
stripe/
checkout.ts
webhook.ts
customer.ts
resend/
transactional.ts
cloudflare/
d1-client.ts
r2-upload.ts
auth/
jwt.ts
session.ts
Mas a parte importante não é só o código. É o bloco de contexto no topo de cada arquivo:
/**
* BOILERPLATE: Stripe Checkout Session
*
* Usar: produto único ou price_id dinâmico
* Não usar: subscriptions (ver stripe/subscription.ts)
*
* Decisões já tomadas:
* - success_url sempre redireciona pro /dashboard com session_id
* - metadata sempre inclui userId pra reconciliar no webhook
* - erro retorna 500 com mensagem genérica, nunca expõe detalhes do Stripe
*/
Esse bloco é o valor real. A IA não só copia o código. Ela entende a intenção, as restrições e as decisões já tomadas. Pula a fase de exploração inteira.
Conectando ao Claude Code
Criei um arquivo de rule em ~/.claude/rules/ai-boilerplates.md:
## ai-boilerplates
Repo em ~/ai-boilerplates/ contém boilerplates padrão.
Antes de implementar qualquer integração nova, verificar se existe boilerplate.
Se existir, usar como base, não reescrever do zero.
Ao usar um boilerplate:
- Adaptar ao contexto do projeto, não copiar cegamente
- Preservar as decisões documentadas
- Se precisar desviar de uma decisão, comentar o motivo no código
Ao escrever código que poderia virar boilerplate, sugerir adição ao repo.
Fica em rules/ e não no CLAUDE.md por uma razão: CLAUDE.md é pra contexto geral do projeto (stack, convenções, quem você é). Rules são modulares, cada uma com uma responsabilidade específica.
Agora toda sessão do Claude Code em qualquer projeto começa com esse contexto carregado. A IA sabe que tem que verificar antes de construir.
O que mudou
Menos tokens em problemas resolvidos. A IA não fica re-explorando verificação de webhook do Stripe ou error handling do Resend. Lê o boilerplate, adapta, segue em frente.
Código mais consistente entre projetos. As mesmas decisões (estrutura de metadata, formato de erro, padrão de logging) aparecem do mesmo jeito em todo lugar. Isso importa quando você alterna entre quatro codebases.
Menos tempo de revisão. Não fico questionando se a IA tomou a decisão certa em algo que eu já pensei. A decisão foi tomada uma vez, documentada, e acabou.
O que entra num bom boilerplate
Nem todo código merece virar boilerplate. Um bom candidato é algo que você:
- Integra em mais de um projeto
- Já debugou pelo menos uma vez
- Tomou decisões arquiteturais explícitas
Se os três são verdade, documenta. Se é código descartável, não perde tempo.
Contexto é o ativo real
A maioria dos devs pensa em produtividade com IA em termos de prompt: como perguntar melhor, como extrair output melhor. Isso é válido, mas perde a alavanca maior.
O ativo real é contexto estruturado. Boilerplates são uma camada. ADRs são outra. Rules que codificam como você trabalha, memória compartilhada de por que decisões foram tomadas. Quando esse contexto existe e é carregado em toda sessão, a IA não começa do zero. Ela constrói em cima do que você já descobriu.
Isso composta. Cada problema resolvido torna o próximo mais barato. Cada decisão documentada economiza tokens, tempo de revisão e o overhead cognitivo de explicar suas convenções de novo.
Um repo ai-boilerplates é um lugar pequeno e concreto pra começar. Mas o hábito que ele constrói é o que importa.