TRILHA 2

🏗️ Construindo com Claude Code

Como o Claudex foi construído do zero — usando 7 prompts incrementais, cada um verificado antes do próximo. Do scaffold ao safety pass.

6
Módulos
38
Tópicos
~5h
Duração
Interm.
Nível
Conteúdo Detalhado
2.1 ~50 min

📐 O Blueprint

Como especificar antes de codificar — o papel do README, SPEC e os dois primeiros prompts que definem a estrutura.

O que é:

A abordagem de dividir a construção de um sistema em prompts atômicos, cada um verificado antes do próximo ser executado.

Por que aprender:

Evita o acúmulo de bugs não detectados que tornam refatoração impossível. Cada camada fica sólida antes de receber peso.

Conceitos-chave:

Build incremental, verificação por camada, prompts atômicos, fail-fast por design.

O que é:

Um documento de especificação que define componentes, responsabilidades, invariantes e contratos antes de qualquer linha de código.

Por que aprender:

O SPEC força decisões difíceis cedo, quando mudar é barato. Sem ele, cada prompt reimagina a arquitetura do zero.

Conceitos-chave:

Componentes e responsabilidades, invariantes de segurança, contratos de interface, decisões de design explícitas.

O que é:

As seis propriedades que o sistema nunca pode violar: fail-open, escrita atômica, CAS, idempotência, timeouts e limpeza garantida.

Por que aprender:

Sem invariantes explícitos, cada prompt pode inadvertidamente quebrar uma garantia que outro prompt estabeleceu.

Conceitos-chave:

Fail-open, atomic writes, compare-and-swap, idempotência, timeout handling, cleanup guarantees.

O que é:

O primeiro prompt que cria o esqueleto do plugin: estrutura de arquivos, hook de PreToolUse com fail-open, e integração básica com Claude Code.

Por que aprender:

O esqueleto define o contrato externo do sistema. Acertar aqui evita reescritas completas nos prompts seguintes.

Conceitos-chave:

Plugin scaffold, PreToolUse hook, fail-open por padrão, estrutura de arquivos do plugin.

O que é:

A propriedade de segurança que garante: se o plugin falhar por qualquer motivo, Claude Code continua funcionando normalmente.

Por que aprender:

Um hook que bloqueia o trabalho do desenvolvedor quando falha é pior que não existir. Fail-open é a primeira linha de defesa.

Conceitos-chave:

Fail-open vs fail-closed, try/catch em hooks, exit codes, degradação graciosa.

O que é:

O segundo prompt adiciona a máquina de estados que controla as transições entre fases: idle → planning → running → summarizing → done.

Por que aprender:

Sem estado explícito, o sistema não sabe em qual fase está e pode executar ações fora de ordem ou duplicar trabalho.

Conceitos-chave:

State machine, transições de estado, estado persistido em arquivo, fases do loop de revisão.

O que é:

Técnicas para garantir que o arquivo de estado nunca fica corrompido: escrever em arquivo temporário e renomear atomicamente, verificar versão antes de modificar.

Por que aprender:

Claude Code pode ser interrompido a qualquer momento. Estado corrompido transforma um erro recuperável em perda permanente de sessão.

Conceitos-chave:

Atomic write via rename, compare-and-swap, versioning de estado, recuperação de falha.

Ver Completo
2.2 ~60 min

🧠 O Cérebro do Loop

Os três prompts que implementam a lógica central: Stop Hook lifecycle, extração de findings com personas e a fase de sumarização.

O que é:

O Stop Hook que intercepta o fim de cada turno de Claude e decide: bloquear (continuar o loop) ou aprovar (encerrar a sessão).

Por que aprender:

Este hook é o coração do loop. Sem ele, o Claudex seria apenas um script que roda uma vez — não um loop de revisão contínua.

Conceitos-chave:

Stop Hook, exit code 2 (bloquear), exit code 0 (aprovar), lifecycle do hook, controle de fluxo.

O que é:

A lógica dentro do Stop Hook que lê o estado atual e decide qual ação tomar: iniciar rodada de revisão, acumular findings, ou ativar sumarização.

Por que aprender:

O hook precisa de visão completa do estado para tomar decisões corretas. Um switch incorreto pode pular fases ou criar loops infinitos.

Conceitos-chave:

Leitura de estado, switch por fase, injeção de instrução no próximo turno, transição de fases.

O que é:

O script que invoca `claude --print` com o prompt de revisão correto para cada rodada, capturando o output para processamento posterior.

Por que aprender:

O runner é o ponto de integração entre o hook e o modelo. Problemas aqui se propagam para todas as rodadas de revisão.

Conceitos-chave:

claude --print, subprocess invocation, output capture, error handling no runner.

O que é:

O sistema que extrai findings estruturados (arquivo, linha, severidade, descrição) das respostas do modelo, ao invés de acumular o texto bruto completo.

Por que aprender:

Acumular respostas completas consome o contexto rapidamente. Findings estruturados permitem múltiplas rodadas sem explodir o token budget.

Conceitos-chave:

Structured extraction, findings schema, token efficiency, JSON output parsing.

O que é:

O mecanismo que instrui o modelo a revisar com perspectiva diferente em cada rodada: engenheiro de software, especialista em segurança, ou SRE de produção.

Por que aprender:

Um único ponto de vista encontra um subconjunto dos problemas. Personas diferentes ativam diferentes heurísticas e encontram bugs distintos.

Conceitos-chave:

Persona rotation, system prompt por rodada, bias de revisão, cobertura multi-perspectiva.

O que é:

A fase final do loop que agrega todos os findings das rodadas em um relatório estruturado com priorização por severidade.

Por que aprender:

Raw findings de múltiplas rodadas são barulhentos. A sumarização torna o output acionável para o desenvolvedor.

Conceitos-chave:

Findings aggregation, deduplicação, priorização por severidade, formato do relatório final.

O que é:

A regra que toda saída do loop deve produzir output visível para o usuário: seja um relatório completo, uma mensagem de erro, ou confirmação explícita de "nenhum problema encontrado".

Por que aprender:

Silêncio é ambíguo. O usuário não sabe se o loop terminou com sucesso ou falhou silenciosamente. Saídas explícitas constroem confiança.

Conceitos-chave:

Saídas explícitas, never-silent failure, feedback ao usuário, zero findings report.

Ver Completo
2.3 ~50 min

🛡️ Acabamento e Segurança

Os prompts finais de implementação: comandos utilitários, diagnóstico completo e o safety pass que audita cada caminho de erro.

O que é:

Quatro slash commands adicionados no sexto prompt: start (iniciar sessão), stop (encerrar), status (estado atual) e doctor (diagnóstico).

Por que aprender:

Um plugin sem ferramentas de operação é uma caixa preta. Os comandos tornam o sistema inspecionável e controlável pelo usuário.

Conceitos-chave:

Slash commands, operabilidade, /claudex:start, /claudex:stop, /claudex:status, /claudex:doctor.

O que é:

O comando de diagnóstico que verifica a saúde completa do plugin: arquivos presentes, permissões corretas, estado consistente, dependências disponíveis.

Por que aprender:

Problemas de instalação e configuração são a causa mais comum de "não funciona". O doctor elimina o debug manual linha por linha.

Conceitos-chave:

Health check, verificação de dependências, validação de configuração, output estruturado de diagnóstico.

O que é:

A fase de planning que ocorre antes do primeiro loop: Claude entrevista o usuário sobre o escopo, arquivos relevantes e critérios de qualidade antes de iniciar as rodadas.

Por que aprender:

Sem planejamento, o loop revisa tudo com a mesma granularidade. A entrevista foca o esforço nos arquivos e preocupações que realmente importam.

Conceitos-chave:

Planning phase, scoping interview, context gathering, focused review.

O que é:

O último prompt que percorre sistematicamente cada caminho de falha do sistema, adicionando guardrails, validações e mensagens de erro claras onde estavam faltando.

Por que aprender:

Caminhos de erro são onde os sistemas falham em produção. O safety pass força uma revisão estruturada de todos os "e se der errado".

Conceitos-chave:

Error path audit, guardrails, defensive programming, error message quality, failure mode coverage.

O que é:

A estratégia de teste em três camadas: testes de plataforma (o hook registra corretamente?), smoke tests (o plugin inicia?) e e2e sintético (uma sessão completa funciona?).

Por que aprender:

Cada camada testa diferentes garantias. Pular camadas deixa classes inteiras de bugs sem cobertura.

Conceitos-chave:

Platform tests, smoke tests, e2e sintético, test pyramid para plugins Claude Code.

O que é:

O processo de empacotar, documentar e publicar o plugin — mais o roadmap do que a v2 adiciona: configuração por projeto, integração com CI e novas personas.

Por que aprender:

Shipar é diferente de "funciona na minha máquina". O processo de publicação revela problemas de documentação e configuração que o desenvolvimento não revela.

Conceitos-chave:

Plugin packaging, documentação de instalação, changelog, v2 roadmap.

Ver Completo
2.4 ~40 min

📊 O que Isso nos Deu

Antes e depois do processo incremental — bugs capturados, qualidade comparada e o custo real de construir sobre camadas não verificadas.

O que é:

Comparação direta do código antes e depois do Prompt 07: o que mudou, quais caminhos de erro foram adicionados, quais validações faltavam.

Por que aprender:

Ver o delta concreto torna o valor do safety pass tangível. Abstrações sobre "qualidade" não convencem — diffs convencem.

Conceitos-chave:

Diff analysis, before/after comparison, safety pass delta, code quality metrics.

O que é:

Bugs reais encontrados durante a construção incremental que não teriam sido encontrados com um único prompt: race conditions, edge cases de estado e falhas de timeout.

Por que aprender:

Cada bug tem um "quando foi introduzido" e um "quando foi encontrado". O processo incremental comprime essa janela para zero.

Conceitos-chave:

Bug detection timing, race conditions, state corruption bugs, early detection value.

O que é:

Análise dos problemas que surgiriam se todo o Claudex fosse solicitado em um único prompt gigante: inconsistências de arquitetura, falta de verificação entre componentes e bugs não detectados.

Por que aprender:

Entender os riscos do "one-shot" é o que motiva a disciplina incremental. Sem isso, o processo parece burocracia desnecessária.

Conceitos-chave:

One-shot risks, context collapse, unverified assumptions, architectural drift.

O que é:

Comparação lado a lado de código gerado por um único prompt versus código gerado por sete prompts incrementais — em termos de consistência, edge case coverage e manutenibilidade.

Por que aprender:

Dados concretos importam mais que argumentos teóricos. Ver o código gerado lado a lado elimina a dúvida sobre se o processo adiciona valor real.

Conceitos-chave:

Code quality comparison, incremental vs one-shot, consistency metrics, maintainability score.

O que é:

O custo de detectar um bug nas camadas superiores (que depende de uma camada incorreta) versus detectá-lo na própria camada: reescrita em cascata, risco de regressão e tempo perdido.

Por que aprender:

O custo de correção cresce exponencialmente com a distância entre introdução e detecção. Verificar cada camada é uma decisão econômica, não uma preferência estética.

Conceitos-chave:

Cascade rewrite cost, detection distance, technical debt accumulation, cost of late detection.

O que é:

A ponte entre o curso de construção e o curso de uso: quem entendeu como o Claudex foi construído está pronto para operar ele com muito mais consciência.

Por que aprender:

Usar uma ferramenta que você construiu (ou entende em profundidade) é fundamentalmente diferente de usar uma caixa preta. Você sabe o que fazer quando algo dá errado.

Conceitos-chave:

Builder's advantage, deep usage, debugging with internals knowledge, curso-claudex.html.

Ver Completo
2.5 ~45 min

🗺️ A Metodologia

Os padrões extraídos da construção do Claudex — como pensar qualquer build incremental com Claude Code.

O que é:

O padrão de escrever um documento de especificação antes de qualquer prompt de código — definindo componentes, responsabilidades e invariantes explicitamente.

Por que aprender:

Sem SPEC, o modelo improvisa arquitetura em cada prompt. Com SPEC, cada prompt é uma implementação de uma decisão já tomada.

Conceitos-chave:

SPEC-first, architecture before code, explicit invariants, design document como primeiro artefato.

O que é:

O princípio de implementar a propriedade de fail-open no primeiro prompt, antes de qualquer lógica de negócio, garantindo que falhas nunca bloqueiam o trabalho.

Por que aprender:

Adicionar fail-open retroativamente é muito mais arriscado — você precisa auditar cada caminho de erro novo. Começa com fail-open é uma decisão de arquitetura.

Conceitos-chave:

Safety-first architecture, fail-open como invariante, defensive by default, graceful degradation.

O que é:

A disciplina de testar e verificar cada camada antes de iniciar o prompt seguinte — nunca construir sobre fundação não verificada.

Por que aprender:

Bugs se multiplicam quando camadas incorretas recebem camadas adicionais. A verificação por camada mantém o custo de correção constante.

Conceitos-chave:

Layer verification, test before next prompt, solid foundation principle, incremental validation.

O que é:

O padrão de persistir todo estado relevante em arquivo, nunca em variáveis de processo ou memória — tornando o estado inspecionável e recuperável.

Por que aprender:

Estado implícito é invisível para debug e desaparece em crashes. Estado explícito em arquivo sobrevive a reinicializações e pode ser inspecionado com qualquer editor.

Conceitos-chave:

Explicit state, file-based persistence, observable state, crash recovery.

O que é:

A prática de verificar cada função primitiva (escrita atômica, leitura de estado, CAS) de forma isolada antes de compor o sistema completo.

Por que aprender:

Falhas em composições são difíceis de atribuir. Primitivos verificados individualmente tornam falhas de composição isoláveis imediatamente.

Conceitos-chave:

Unit isolation, primitive testing, bottom-up verification, composition safety.

O que é:

A sequência universal: SPEC → Scaffold → Estado → Lógica principal → Utilitários → Safety pass — aplicável a qualquer projeto, não apenas ao Claudex.

Por que aprender:

Esta sequência não é específica do Claudex — é um framework reutilizável para qualquer sistema que precisa ser confiável em produção.

Conceitos-chave:

Universal build sequence, SPEC→Scaffold→State→Logic→Utils→Safety, reusable framework.

Ver Completo
2.6 ~60 min

🚀 Seu Próximo Projeto

Projeto guiado: construa seu próprio hook de linting aplicando a metodologia incremental — do SPEC ao safety pass.

O que é:

Template completo de SPEC com todas as seções obrigatórias, aplicado ao hook de linting como exemplo concreto.

Por que aprender:

Um SPEC ruim leva a prompts que reimaginam a arquitetura. Um bom SPEC torna cada prompt uma implementação mecânica de uma decisão já tomada.

Conceitos-chave:

SPEC template, seções obrigatórias, exemplo de linting hook, decisões de design explícitas.

O que é:

A heurística para decidir a granularidade de cada prompt: um prompt por camada verificável, sem misturar concerns que precisam de verificação independente.

Por que aprender:

Prompts grandes demais perdem a vantagem incremental. Prompts pequenos demais criam fricção sem benefício. A granularidade certa é uma skill que se aprende na prática.

Conceitos-chave:

Prompt granularity, one concern per prompt, verification boundary, decomposition heuristics.

O que é:

A sequência obrigatória de construção: (1) scaffold com fail-open, (2) máquina de estados, (3) lógica principal, (4) safety pass — nesta ordem, sempre.

Por que aprender:

Inverter a ordem cria problemas: estado adicionado depois quebra a lógica existente, safety pass no início não tem o que auditar. A ordem não é arbitrária.

Conceitos-chave:

Build order dependency, scaffold-first, state before logic, safety as final pass.

O que é:

Critérios explícitos de "pronto para o próximo prompt" — o que testar, o que verificar manualmente e quais propriedades confirmar antes de avançar.

Por que aprender:

Sem critérios explícitos, "funciona" é subjetivo. Critérios explícitos tornam a verificação sistemática e reproduzível.

Conceitos-chave:

Definition of done, layer acceptance criteria, verification checklist, gate conditions.

O que é:

Como adaptar o conceito de personas de revisão (engenheiro, segurança, SRE) para outros domínios: frontend, data pipeline, CLI tool ou API.

Por que aprender:

As personas do Claudex são específicas para um plugin de revisão de código. Outros sistemas precisam de perspectivas diferentes — mas o mecanismo é o mesmo.

Conceitos-chave:

Domain-specific personas, perspective mapping, review coverage, multi-angle analysis.

O que é:

Checklist universal de segurança para qualquer plugin Claude Code: fail-open verificado, estado atômico, todos os exit codes testados, mensagens de erro claras, documentação de instalação completa.

Por que aprender:

Um checklist transforma o safety pass de exercício subjetivo em processo auditável. Cada item tem um teste concreto associado.

Conceitos-chave:

Pre-ship checklist, safety audit, exit code coverage, documentation completeness.

Ver Completo
← Voltar ao Início Começar pelo Módulo 2.1 →