Destaques
- Planejamento em duas etapas com ChatGPT 5.2: primeiro o overview/PRD do projeto, depois histórias de usuário e schema do banco, tudo em inglês para economizar cerca de 30% de tokens (1.454 tokens em inglês contra 2.003 em português no mesmo documento).
- Stack definida: Laravel 12, PostgreSQL 18, Livewire 4 (namespace de Pages, componentes de arquivo único no estilo Volt, uso de Livewire Forms), sem starter kit, testes com Pest.
- Guidelines próprias criadas dentro da estrutura do Laravel Boost (
.ai/guidelines), incluindo uma guideline específica para forçar convenções do Livewire 4 (o modelo tende a puxar para padrões do Livewire 3 por causa do treinamento) e outra de idioma/localização (código em inglês, interface em português). - Servidores MCP configurados para Claude Code, Codex e Gemini: Laravel Boost expondo ferramentas Artisan (make:model, make:migration etc.) e Context7 para documentação, ambos rodando através do Sail dentro do Docker.
- Modelagem multi-tenant em banco único: leads únicos por tenant, vendedor só visualiza, move e conversa com os próprios leads, deals com título, valor e motivo de perda obrigatório quando marcados como perdidos.
- Construção por fases (método de modelagem, infraestrutura, lógica e testes) usando Claude Code no plano Max, com comparação de comportamento frente a Codex (cobrança por hora de uso, cerca de 5h de trabalho na assinatura do ChatGPT Plus) e Gemini.
- Deploy ao vivo na Cloud Prime, com correção em tempo real de configuração de TrustProxies e variáveis de ambiente que travavam o Livewire em produção.
- Integração com WhatsApp via Evolution API self-hosted em Docker: criação de instância, geração de QR code de conexão e configuração de webhook para eventos como
connection.updateemessage.upsert.
Profundidade técnica
A espinha dorsal do workshop foi tratar o agente de código como um dev pleno que precisa de contexto e diretrizes explícitas, não como uma caixa-preta: as guidelines cobriram desde preferências de estilo (uso de enums em vez de switch, helpers do Laravel em vez de facades, services para regras de negócio e integrações, fillable explícito nos models, relacionamentos bidirecionais) até detalhes de ambiente (forçar todos os comandos Artisan via Sail para não quebrar contra o banco em Docker). O banco gerado pela IA a partir da descrição do projeto seguiu convenções Laravel de forma consistente — foreign ids com constraint e cascade on delete, nomes de tabela no plural, índices e uniques compostos, trait de BelongsToTenant com global scope — e os desvios de convenção observados nos models (como invited_by em vez de invited_by_user, ou owner em vez de user na relação de leads) foram tratados como decisões de legibilidade a validar, não como erros. A parte mais frágil da sessão foi justamente a integração com WhatsApp: depois do deploy, foi preciso corrigir na mão a configuração de base URL e API key do serviço no .env, o parsing do QR code retornado pela Evolution API e, ao final, o cadastro incompleto do webhook (faltando assinar os eventos connection.update e message.upsert), evidenciando que a orquestração de um provedor externo de WhatsApp ainda exige acompanhamento manual mesmo com boa parte do CRUD e das regras de negócio geradas pelo agente.
Faça parte do Clã
Quer aprender o método completo por trás desse workflow — do planejamento de IA à integração de sistemas reais — com acompanhamento de quem vive isso no dia a dia? Conheça o Clã Beer and Code.
Engenharia de IA virou profissão, e se aprende construindo, não assistindo. O Clã Beer and Code é o ambiente onde isso acontece ao vivo, toda semana: RAG, agentes, observabilidade e LLMOps em projetos reais, ao lado de quem já está em produção. É pago, é assinatura, e é exatamente o ambiente que estes encontros dão uma amostra.
Entrar no Clã