Coders Club

AI Coding Techniques

Como escrever software de verdade com IA: Compound Engineering, Spec-Driven Development, agents e o stack que o mercado usa em 2026

Alex Seixas Senior Software Engineer · CTO
02

Quem sou

Portugal
Portugal Senior Software Engineer

Zonesoft

Navistore: SaaS em larga escala

Arquitetura e liderança de frontend do zero: Vue 3, TS, Pinia e Vite. Backend Phalcon → Laravel, PostgreSQL e REST APIs.

−40% no tempo de carregamento inicial Permissões com Vue directives + Pinia Docker & Jenkins CI/CD
Vue 3 TypeScript Pinia Vite Laravel PostgreSQL
Canadá
Canadá Senior Software Engineer

Vocara

Cápsula digital segura

Plataforma B2C para preservar memórias de família: vídeos, fotos e entrevistas guiadas. Privacidade by design.

Full-stack: Nuxt.js + Node.js UX, segurança e gestão de conteúdo
Nuxt.js Node.js SaaS B2C Privacy-first
03

Por que essa aula importa?

Velocidade

Times que dominam agents entregam features em horas, não semanas. Mas velocidade sem processo vira débito técnico.

Mercado

Empresas já esperam que você use Cursor, Claude, Copilot. Saber como usar é diferencial de entrevista.

Qualidade

IA sem método gera vibe coding. Com Compound Engineering e specs, cada PR deixa o próximo mais fácil.

A pergunta não é "você usa IA?". É "você sabe orquestrar IA?"

04

Agenda da aula

  • Paradigma: de autocomplete a agents
  • Ferramentas do mercado (Cursor, Claude, Copilot…)
  • Prompt engineering para código
  • Contexto: AGENTS.md, rules, skills, MCP
  • Spec-Driven Development
  • Compound Engineering (loop completo)
  • Review, debug, TDD e anti-patterns
  • Frontend: DESIGN.md + getdesign.md
05

A nova forma de escrever software

Antes
Você escreve cada linha
IDE = editor de texto
Agora
Você dirige o agent
IDE = copiloto + executor
Amanhã
Multi-agent + specs
Você é o arquiteto

Seu valor sobe na medida em que você especifica, revisa e compõe, não na digitação.

06

De autocomplete a agentic coding

1 · Snippet

ChatGPT / Claude chat. Copia e cola. Você controla 100%.

2 · Inline

Copilot / Tab. Completa a linha. Acelera boilerplate.

3 · Agent

Cursor Agent / Claude Code. Lê e edita o repo inteiro.

4 · Compound

Plan → Work → Review → Document. Cada ciclo deixa o próximo mais fácil.

A maioria ainda vive no 1-2. O salto real começa no 3 e se multiplica no 4.

07

Vibe Coding vs Engineering

Vibe Coding

  • Prompt vago → código "parece ok"
  • Sem spec, sem testes, sem review
  • Funciona no demo, quebra em prod
  • Débito cresce a cada PR

AI Engineering

  • Spec clara + critérios de aceite
  • Agent executa com contexto do repo
  • Review humano + testes
  • Aprendizados documentados (compound)

Vibe coding é ótimo para protótipo. Engenharia com IA é o que escala.

08

Mapa de ferramentas (2026)

Categoria Ferramentas Quando usar
IDE AI-first Cursor, Windsurf, Kiro Dia a dia no editor, plan + agent
Terminal agent Claude Code, Codex CLI, Aider Refactors grandes, multi-file, CI
Inline / PR GitHub Copilot, Copilot Chat Autocomplete + review no PR
Cloud agent Devin, Jules, Codex Cloud Tasks longas, tickets, PRs remotos
Chat / pesquisa Claude, ChatGPT, Gemini Design, trade-offs, aprendizado
09

Cursor: o IDE do agent

Tab / Inline

Autocomplete multi-linha com contexto do arquivo e do projeto.

Chat + Composer

Edita vários arquivos, aplica diffs, roda terminal.

Agent Mode

Explora, planeja, implementa e itera com tools (MCP, browser, shell).

Pontos fortes

  • Plan Mode (só leitura) antes de editar
  • Rules, Skills, Hooks, MCP nativos
  • Melhor UX editor + agent do mercado

Dica prática

Pick one tool e fique fluente. Cursor + modelo forte (ex.: Opus / GPT) costuma bater "usar 4 tools pela metade".

10

Claude Code & Anthropic

Claude Code (CLI)

  • Agent no terminal, forte em repos grandes
  • Lê CLAUDE.md a cada sessão
  • Plugins, skills e marketplace
  • Ideal para refactors e long-running tasks

Claude (chat / API)

  • Excelente para design e raciocínio
  • Projects, Artifacts, long context
  • Base de vários agents (Cursor, etc.)
  • Artifacts ≠ escrever no seu git

Muitos times usam Cursor no dia a dia + Claude Code para jobs pesados no terminal.

11

GitHub Copilot & OpenAI Codex

GitHub Copilot

  • Inline no VS Code / JetBrains
  • Copilot Chat + Coding Agent
  • Review de PR nativo no GitHub
  • Forte em empresas já no ecossistema GH

Codex (OpenAI)

  • CLI + cloud agents
  • Nativo com AGENTS.md
  • Bom para tasks remotas e PRs
  • Complementa Cursor / Claude
12

Outros players relevantes

Windsurf

IDE concorrente do Cursor. Cascade agent, bom custo/benefício.

Devin / Jules

Cloud agents que abrem PRs. Úteis para tickets bem especificados.

Kiro (AWS)

Spec-driven IDE: specs → tasks → código → PR.

Aider / Gemini

Aider: CLI open. Gemini CLI / chat: pesquisa e multi-modal.

Não precisa dominar todos. Domine um IDE + um terminal agent + um chat.

13

Como escolher sua ferramenta

Se você…

Vive no editor

→ Cursor ou Windsurf / Kiro

Se você…

Prefere terminal

→ Claude Code ou Codex CLI

Se a empresa…

É GitHub-first

→ Copilot + Coding Agent no PR

Regra de ouro
Fluência > variedade. Um tool bem configurado (rules + MCP + hábitos) vence três tools sem processo.
14

Prompt Engineering para código

Prompt bom para código não é "seja criativo". É contrato: contexto, objetivo, restrições, definição de pronto.

// Ruim
"Faz um login legal com React"
// Bom
"Implemente login email/senha em src/auth.
Stack: React + Zod + nosso AuthService.
Não invente API: use POST /api/login.
Inclua testes e estados de erro.
Não altere billing."
15

Anatomia de um bom prompt

1 · Papel & escopo

O que fazer / o que não tocar. Arquivos e módulos relevantes.

2 · Contexto

Stack, padrões do repo, links para regras, exemplos bons/ruins.

3 · Critérios

Aceite: testes, lint, tipos, edge cases, UX, segurança.

Template mental: Objetivo → Contexto → Restrições → Passos → Done when → Nunca faça

16

Contexto é o produto

O modelo é commodity. O contexto do seu projeto é o moat.

Repo context

AGENTS.md, DESIGN.md, rules, architecture docs, exemplos canônicos.

Session context

Arquivos abertos, erros do terminal, PR diff, logs.

Tool context

MCP (Linear, Sentry, DB), browser, CI, docs internos.

17

AGENTS.md: a constituição

Padrão open (60k+ repos): um Markdown na raiz que qualquer agent lê: Cursor, Codex, Copilot, Gemini CLI…

# AGENTS.md
## Overview: o que é o projeto
## Build & test: comandos exatos com flags
## Code style: só o que difere do default
## Security: nunca commit .env / secrets
## Boundaries: Always / Ask first / Never

Claude Code usa CLAUDE.md. Importe com @AGENTS.md na primeira linha.

18

Rules, Skills e Hooks

Rules

.cursor/rules/*.mdc

Regras por glob (ex.: migrations sempre com down). Sempre-on ou sob demanda.

Skills

SKILL.md + plugins

Procedimentos reutilizáveis: "como abrir PR", "como debugar flaky test".

Hooks

Eventos do agent

Antes/depois de editar, format, bloquear ações perigosas, automations.

AGENTS.md = universal. Rules/Skills = poder específico da ferramenta.

19

MCP: Model Context Protocol

MCP conecta o agent a sistemas externos com tools tipadas, em vez de "colar JSON no chat".

Linear / Jira

Ler tickets, atualizar status

Sentry / Datadog

Erros reais de produção

DB / Stripe

Schema e dados (com cuidado)

Browser / Docs

QA visual e docs internas

Cuidado
MCP com escrita em prod = poder. Comece read-only. Nunca exponha secrets no prompt.
20

Spec-Driven Development

Resposta ao vibe coding: a spec vira o contrato executável antes do código.

Constitution
AGENTS.md
SPEC.md
objetivo + aceite
TASKS.md
unidades verificáveis
Código + PR

Ferramentas: GitHub Spec Kit, Kiro, OpenSpec, Cursor Plan Mode, Claude skills.

21

Compound Engineering

Cada unidade de trabalho deve tornar a próxima mais fácil.

Filosofia (Every.to)

  • ~80% planejar e revisar
  • ~20% executar
  • Documentar o que o agent errou
  • Feedback vira regra permanente

Plugin

  • Claude Code, Cursor, Codex…
  • Comandos /ce-* estruturados
  • 20k+ stars no GitHub
  • O compounding só acontece se fechar o ciclo
22

O loop Compound

1 · Brainstorm
/ce-brainstorm
2 · Plan
/ce-plan
3 · Work
/ce-work
4 · Simplify
/ce-simplify
5 · Review
/ce-code-review
6 · Compound
/ce-compound

Pular o compound = ficar no mesmo nível para sempre. O aprendizado precisa virar arquivo.

23

Plan Mode vs Agent Mode

Plan Mode

  • Só leitura: explora o código
  • Gera plano e trade-offs
  • Você aprova antes de escrever
  • Ideal para features não-triviais

Agent Mode

  • Lê e escreve arquivos
  • Roda shell, testes, MCP
  • Você reviewa diffs
  • Ideal com plano já aprovado

Regra: planeje no modo seguro, execute no modo agent. Não pule o plano em mudanças grandes.

24

Multi-agent e worktrees

Por quê paralelizar?

  • Feature A + bugfix B ao mesmo tempo
  • Um agent implementa, outro reviewa
  • Best-of-N: várias tentativas, escolha a melhor

Isolamento

  • Git worktrees / branches por agent
  • Evita agents brigando no mesmo working tree
  • CE /ce-work usa worktrees por padrão
25

TDD + IA

Escreva / peça os testes primeiro
Peça a implementação até passar
Agent roda a suite e corrige falhas

Por que funciona

Testes viram a spec executável. Reduz alucinação e "código que parece certo".

Armadilha

Agent que enfraquece asserts para "passar". Exija: não alterar testes sem aprovação.

26

Code review com agents

Antes do PR

/ce-code-review ou agent dedicado: segurança, edge cases, drift da spec.

No PR

Copilot / Bugbot / CI agents. Comentários + checks automáticos.

Humano

Você decide arquitetura e risco. Agent acelera, não assina.

Peça ao review: "encontre padrões recorrentes". Isso alimenta o compound.

27

Debugging com IA

// Ruim
"Não funciona, arruma"
// Bom
"Reproduza: passos 1-2-3.
Esperado X, obtido Y.
Stack trace anexado.
Hipótese: race no WebSocket.
Não refatore: só a causa raiz."
  • Cole logs, stack, versão, ambiente
  • Peça hipóteses ordenadas por probabilidade
  • Exija repro antes do fix (CE: /ce-debug)
28

Refactoring e código legado

1 · Caracterize

Peça mapa do módulo, dependências, hotspots, sem editar.

2 · Proteja

Adicione testes de caracterização antes de mexer.

3 · Fatias

Refactors pequenos, reviewáveis. Um concern por PR.

Nunca: "reescreve o módulo inteiro em TypeScript" numa única sessão.

29

Anti-patterns: o que NÃO fazer

  • Aceitar diff gigante sem ler
  • Prompt vago em produção
  • Colar secrets / .env no chat
  • Deixar agent "melhorar" testes até passarem
  • Misturar 5 features no mesmo prompt
  • Ignorar lint/typecheck que o agent "pulou"
  • Confiar em APIs inventadas
  • Não ter AGENTS.md / rules
  • Trocar de tool toda semana
  • Pular o passo compound / docs
30

Segurança com AI coding

Secrets

Nunca cole API keys. Use vault / env local. Revise .gitignore.

Supply chain

Agent pode sugerir packages maliciosos. Confira nomes e downloads.

Dados

PII de clientes não vai pro prompt. Políticas da empresa importam.

Peça security review em auth, billing, uploads e SQL
MCP write-access só com aprovação explícita
Diff de dependências: trate como código de segurança
31

Quando NÃO usar IA

Melhor na mão

  • Decisão arquitetural crítica sem critérios
  • Hotfix de 3 linhas que você já entende
  • Código regulado que exige accountability clara
  • Aprender um fundamento pela primeira vez

Melhor com IA

  • Boilerplate, testes, migrations
  • Explorar codebase desconhecido
  • Refactors mecânicos com testes
  • Drafts de PR description e docs
32

Stack recomendado (2026)

CamadaSugestãoPor quê
IDE principalCursorPlan + Agent + rules + MCP
Terminal agentClaude CodeJobs longos, plugins CE
Chat / designClaude ou ChatGPTTrade-offs e specs
PR / CICopilot + checksReview no fluxo GitHub
ContextoAGENTS.md + rulesCompounding no repo
33

Checklist do dia a dia

AGENTS.md atualizado no repo
DESIGN.md no frontend (ou referência do getdesign.md)
Rules para hotspots (auth, billing, DB)
Plan Mode antes de features grandes
Testes / typecheck rodados pelo agent
Diff lido antes de commit
Aprendizado documentado (compound)
Nenhum secret no histórico do chat
34

Workflow completo: exemplo

Feature: "rate limit no endpoint de login"

Brainstorm: requisitos, edge cases, métricas
Plan: Redis vs in-memory, headers, testes
Work: implementar + testes em worktree
Simplify + multi-agent review
Compound: doc "rate-limit pattern" no repo
35

Métricas que importam

Lead time

Do ticket ao merge: caiu?

Rework

Quantos PRs voltam por bug?

Coverage útil

Testes que pegam regressão real

Context reuse

Rules/docs usadas de novo?

Linhas geradas por IA ≠ produtividade. Resultado + qualidade + compounding sim.

36

Frontend + IA: DESIGN.md

Sem referência visual, o agent cai no layout genérico: purple gradient, cards iguais, Inter, “AI slop”. O DESIGN.md é o brief de design versionado no repo.

O que entra no arquivo

  • Cores, tipografia, spacing, radii
  • Componentes (botões, cards, nav, hero)
  • Princípios: o que fazer / o que evitar
  • Tom visual (editorial, dark, product…)

Por que funciona

  • Mesma linguagem em toda página nova
  • Você não precisa “ser designer” no prompt
  • Restyle sem recomeçar do zero
  • Compõe com AGENTS.md (código + visual)

Esta própria aula usa um design.md inspirado em Mastercard. O agent segue o sistema, não inventa outro.

37

getdesign.md: referências prontas

Catálogo de 300+ DESIGN.md analisados de sites reais (Linear, Stripe, Airbnb, Cursor, Vercel…). Baixe e jogue no projeto.

1 · Escolha

Em getdesign.md, pegue um sistema que combine com o produto.

2 · Coloque no repo

Salve como design.md ou DESIGN.md na raiz (ou em docs/).

3 · Peça na criação

No prompt: "siga o design.md". Cores, type e componentes entram no contexto.

// Exemplo de prompt
"Crie a landing do produto. Siga rigorosamente o arquivo design.md.
Não use layout genérico de IA. Hero + tipografia + CTAs conforme o sistema."
38

Takeaways

  • IA sem processo = vibe coding
  • Contexto > modelo do momento
  • AGENTS.md + rules = compounding barato
  • Frontend: DESIGN.md evita visual genérico
  • getdesign.md = referências prontas para o agent
  • Plan antes de Agent em mudanças grandes
  • Feche o loop: documente o aprendizado
  • Fluência em 1-2 tools > conhecer 10
39

Próximos passos

Hoje

Crie AGENTS.md. No frontend, baixe um DESIGN.md em getdesign.md e coloque no repo.

Esta semana

Gere uma página pedindo "siga o design.md". Adicione rules + um ciclo compound.

Este mês

MCP read-only (Sentry/Linear). Meça lead time e rework antes/depois.

Escrever código com IA não é digitar menos.
É especificar, orquestrar, revisar e compor. Cada ciclo mais inteligente que o anterior.

Obrigado!

Coders Club · Alex Seixas

Brincadeira à parte: este deck (HTML + CSS + JS) saiu em menos de 20 minutos com IA + um design.md bem feito. A curadoria do conteúdo? Essa demorou bem mais.

Space avançar  ·  voltar  ·  R resposta  ·  Home End  ·  digite slide + Enter