AI Deep Dive

Karpathy CLAUDE.md Rules + 8 More: The 12-Rule Template Tested Across 30 Codebases

Karpathy's January 2026 complaint became a 4-rule CLAUDE.md file. The repo hit 120K stars. After six weeks of testing across 30 codebases, @mnilax added 8 more rules — cutting Claude's mistake rate from 41% to 3%. Here's the full template, the gaps it closes, and what it means for Antigravity users running GEMINI.md.

Final de janeiro de 2026: Andrej Karpathy posta uma thread no X reclamando de como o Claude escreve código. Três modos de falha — suposições erradas silenciosas, excesso de complicação, danos ortogonais ao código que não deveria ter sido tocado. Forrest Chang lê a thread, empacota as reclamações em 4 regras de comportamento em um único arquivo CLAUDE.md e o lança no GitHub. 5.828 estrelas no primeiro dia. 60.000 bookmarks em duas semanas. 120.000 estrelas até meados de 2026. O repositório de arquivo único com o crescimento mais rápido do ano. Em 9 de maio de 2026, um desenvolvedor verificado com o handle @mnilax (Mnimiy) postou um artigo longo no X com uma das afirmações de engenharia mais perspicazes do ano: eles testaram o template em 30 codebases por 6 semanas e depois adicionaram mais 8 regras para fechar as lacunas. 2,7 milhões de visualizações, 18.800 bookmarks. Este é o detalhamento completo — e o que isso significa se você estiver rodando o Claude dentro do Antigravity (ou qualquer outra IDE de agente) com um GEMINI.md ou AGENTS.md arquivo.

Get the latest on AI, LLMs & developer tools

New MCP servers, model updates, and guides like this one — delivered weekly.

A publicação original de @mnilax no X que este artigo analisa — 2,7M visualizações, 18,8K favoritos, 9 de maio de 2026.

1. O Momento Viral

A thread original de Karpathy não era prescritiva. Era uma reclamação — do tipo que engenheiros seniores postam após uma tarde ruim. Três modos de falha específicos:

  1. Suposições erradas silenciosas. O Claude infere o que você quis dizer, constrói sobre a inferência errada e nunca te avisa.
  2. Excesso de complicação. O Claude busca abstrações, camadas, helpers genéricos. A correção de 4 linhas vira 40 linhas.
  3. Dano ortogonal. O Claude "melhora" o código que não deveria ter tocado — espaços em branco, nomenclatura, formatação, funções adjacentes que não foram solicitadas.

Forrest Chang leu a thread e fez o trabalho que ninguém mais fez: ele escreveu o que Karpathy estava pedindo implicitamente. Quatro regras curtas e imperativas. Um arquivo. 65 linhas. Repositório público. O ritmo importa — Forrest não adicionou comentários, não transformou em um framework, não monetizou. Apenas as regras.

Isso tocou na ferida. Desenvolvedores que lutavam contra o Claude todos os dias de repente tiveram uma instalação de uma linha: cole este arquivo na raiz do seu repositório. As métricas contam a história — 120.000 estrelas em um arquivo sem nenhum código. A maioria desses desenvolvedores ainda está rodando apenas essas quatro regras hoje.

2. As 4 Regras Originais (Karpathy via Forrest Chang)

Aqui está a base — as regras em sua forma original. Se você não tem nenhum CLAUDE.md hoje, comece com estas:

Regra 1 — Pense Antes de Programar. Sem suposições implícitas. Declare o que você está assumindo. Exponha os tradeoffs. Pergunte antes de adivinhar. Questione quando existir uma abordagem mais simples.

Regra 2 — Simplicidade Primeiro. O mínimo de código que resolva o problema. Sem funcionalidades especulativas. Sem abstrações para código de uso único. Se um engenheiro sênior consideraria complicado demais, simplifique.

Regra 3 — Mudanças Cirúrgicas. Toque apenas no que for estritamente necessário. Não "melhore" códigos adjacentes, comentários ou formatação. Não faça refatoração do que não está quebrado. Siga o estilo existente.

Regra 4 — Execução Focada em Objetivos. Define success criteria. Loop until verified. Don't tell Claude what steps to follow; tell it what success looks like and let it iterate.

Dados de Mnimiy: estas quatro fecham ~40% dos modos de falha em sessões não supervisionadas do Claude Code. Os ~60% restantes residem nas lacunas que o template original não aborda.

3. Por Que Foi Necessário Estender

O template foi escrito em janeiro de 2026. O ecossistema do Claude Code em maio de 2026 é uma realidade completamente diferente. O artigo destaca quatro realidades pós-janeiro que as 4 regras originais não cobrem:

  • Conflitos entre agentes. Configurações multi-agente onde dois agentes editam os mesmos arquivos e se atropelam. As regras de Karpathy assumem um único loop de autocomplete. A real orquestração multi-agente precisa de regras de propriedade.
  • Cascatas de hooks. Os hooks do Claude Code são disparados a cada chamada de ferramenta. Sem orçamentos, um hook prolixo transforma uma requisição de 200 tokens em 8.000 tokens.
  • Conflitos de carregamento de habilidades. Múltiplas Skills com descrições sobrepostas confundem o dispatcher de correspondência de descrições. O template original não possui nada sobre como resolver ambiguidades.
  • Workflows de múltiplas etapas. Um refactor de 6 etapas que falha na etapa 4 significa que as etapas 5 e 6 serão construídas sobre um estado corrompido. O template original trata cada iteração do Claude como um one-shot.

A tese de Mnimiy: as 4 originais são fundamentais, não erradas. Elas estão incompletas.

4. As 8 Novas Regras (Cada uma com o Momento que a Originou)

Cada uma delas surgiu de um incidente específico no estudo de 30 codebases. O artigo mostra o momento e, em seguida, a regra. Abaixo: mesma estrutura, condensada.

Regra 5 — Não faça o modelo realizar trabalho que não seja de linguagem

Decisões determinísticas pertencem a código determinístico. Políticas de retry, roteamento, limites de escalonamento — não chamadas de LLM. O modelo decide de forma diferente a cada semana.

O momento: Uma chamada de LLM para "decidir se deve fazer retry em um 503" funcionou por duas semanas, depois começou a falhar porque o modelo passou a ler o corpo da requisição como contexto para a decisão. A política de retry tornou-se aleatória porque o prompt era, efetivamente, aleatório.

Regra 6 — Budgets rígidos de tokens, sem exceções

Todo loop tem a chance de espiralar em um dump de contexto de 50.000 tokens. O modelo não vai parar por conta própria. Budgets oferecem um limite rígido.

O momento: Uma sessão de debugging de 90 minutos iterando sobre a mesma mensagem de erro de 8KB. Ao final, o Claude estava sugerindo correções que o usuário já havia rejeitado 40 mensagens antes. Um budget de tokens teria encerrado o loop no minuto 12.

Regra 7 — Exponha conflitos, não faça uma média deles

Quando duas partes da codebase divergem, o Claude tenta agradar a ambas. O resultado é um código incoerente que combina ambos os padrões e não funciona corretamente em nenhum deles.

O momento: Uma codebase tinha dois padrões de tratamento de erro — async/await com try/catch e um global error boundary. O Claude escreveu código que fazia ambos. Os erros foram silenciados duas vezes. 30 minutos para descobrir.

Regra 8 — Leia antes de escrever

As "Surgical Changes" de Karpathy dizem ao Claude para não tocar no código adjacente. Elas não dizem ao Claude para entender o código adjacente. Sem essa adição, o Claude escreve um novo código que conflita com o código existente a 30 linhas de distância.

O momento: Claude added a function next to an existing identical function it hadn't read. The new one won by import order. The original had been the source of truth for 6 months.

Regra 9 — Testes não são opcionais, mas não são o objetivo

A Goal-Driven Execution trata "testes passarem" como sucesso. Na prática, o Claude escreve código que passa em testes superficiais enquanto quebra o comportamento em produção.

O momento: 12 testes para uma função de auth, todos passando, auth quebrada em produção. Os testes verificavam se a função retornava algo, não se ela retornava a coisa certa. A função passou porque estava retornando uma constante.

Regra 10 — Operações de longa duração precisam de checkpoints

O template original assume interações one-shot. O trabalho real com Claude Code é multi-etapa — refactors em 20 arquivos, features ao longo de uma sessão, debugging entre commits. Sem checkpoints, um erro faz perder todo o progresso.

O momento: Um refactor de 6 etapas deu errado no passo 4. O Claude prosseguiu para os passos 5 e 6 sobre o estado quebrado. Desfazer a confusão demorou mais do que refazer todo o refactor.

Regra 11 — Convenção vence a novidade

Em uma codebase com padrões estabelecidos, o Claude gosta de introduzir os seus próprios. Mesmo quando o jeito dele é "melhor," introduzir um segundo padrão é pior do que qualquer um dos padrões isoladamente.

O momento: O Claude introduziu React hooks em uma codebase de class-components. Os hooks funcionaram. Eles também quebraram os padrões de teste da codebase, que assumiam componentDidMount. Meio dia para remover e reescrever.

Regra 12 — Falhe visivelmente, não silenciosamente

As falhas mais caras do Claude parecem sucesso. Uma função "funciona", mas retorna dados errados. Uma migração "conclui", mas ignorou 30 registros. Um teste "passa", mas a asserção estava errada.

O momento: O Claude relatou que uma migração de banco de dados "foi concluída com sucesso." Ele havia ignorado silenciosamente 14% dos registros que atingiram uma violação de restrição. A omissão foi registrada em log, mas não foi exposta. Descoberto 11 dias depois, quando os relatórios começaram a parecer errados.

5. Os Números

Mnimiy acompanhou as mesmas 50 tarefas representativas em 30 codebases ao longo de 6 semanas, em três configurações: sem CLAUDE.md, 4 regras originais, 12 regras completas. A taxa de erro é a parcela de tarefas que exigiram correção ou reescrita para corresponder à intenção — contabilizada em sete tipos distintos de falha (suposição errada silenciosa, over-engineering, dano ortogonal, falha silenciosa, violação de convenção, média de conflitos, checkpoint perdido).

RESULTADOS EM 30 CODEBASES, 50 TAREFAS, 6 SEMANAS

Sem CLAUDE.md:    taxa de erro ~41%, sem conformidade de baseline
4 regras:           taxa de erro ~11%, conformidade 78%
12 regras:          taxa de erro ~3%,  conformidade 76%

A queda principal (41% → 3%) é o resultado óbvio. O interessante resultado é que passar de 4 regras para 12 adicionou quase nenhum overhead de conformidade (78% → 76%) enquanto reduziu a taxa de erro em mais 8 pontos. As novas regras cobrem modos de falha que as 4 originais não tocavam — elas não competem pelo mesmo orçamento de atenção.

Este é o caso empírico para ir além de 4. Se adicionar regras custasse conformidade proporcionalmente, você pararia em 4. Não custa.

6. Onde o Template Original Quebra Silenciosamente

Quatro cenários onde os 4 de Karpathy não são suficientes — mesmo antes de adicionar regras. O artigo é explícito que o original não está errado, ele está abordando o espaço de problemas de janeiro de 2026:

  1. Tarefas de agentes de longa duração. As regras focam no momento em que o Claude escreve código. Elas são omissas sobre pipelines de múltiplas etapas. Nenhuma regra de orçamento. Nenhuma regra de checkpoint. Nenhuma regra de fail-loud. Pipelines sofrem desvios.
  2. Consistência entre múltiplas bases de código. "Match existing style" assume um único estilo. Em um monorepo com 12 serviços, o Claude precisa escolher qual estilo seguir. As regras originais não dizem como. Ele escolhe aleatoriamente ou faz uma média.
  3. Qualidade dos testes. Goal-Driven Execution trata "testes passarem" como sucesso. Não diz que os testes precisam ser significativos. O resultado são testes que não testam nada útil, mas deixam o Claude confiante.
  4. Produção vs protótipo. As mesmas 4 regras que protegem o código de produção contra over-engineering também atrasam protótipos que legitimamente precisam de 100 linhas de scaffolding especulativo para definir uma direção. "Simplicity First" acaba sendo rigoroso demais em códigos de estágio inicial.

7. O que não funcionou (Os experimentos que falharam)

Possivelmente a seção mais útil do artigo — não as regras que foram selecionadas, mas os padrões que explicitamente não foram:

  • Regras coletadas de redes sociais. A maioria era apenas uma reescrita dos 4 de Karpathy com palavras diferentes, ou regras específicas de domínio ("sempre use classes Tailwind") que não se generalizam. Cortadas.
  • Mais de 14 regras. Mnimiy testou até 18. A conformidade caiu de 76% para 52% após 14. O teto de 200 linhas que a Anthropic documenta é real — passando disso, o Claude faz pattern-matching para "regras existem" sem realmente lê-las.
  • Regras dependentes de ferramentas. "Always use eslint" falha silenciosamente quando o eslint não está instalado. Substituído por frases agnósticas à capacidade: "corresponder ao estilo imposto pela base de código."
  • Exemplos em vez de regras. Três exemplos custam tanto contexto quanto ~10 regras e o Claude sofre over-fitting com eles. Regras são abstratas, exemplos são específicos. Use regras.
  • Intensificadores vagos. "Tenha cuidado," "pense bem," "foque de verdade." Conformidade ~30% porque nada disso é testável. Substituído por imperativos concretos como "declare as premissas explicitamente."
  • Prompts de identidade. Dizer ao Claude para ser "senior" não funciona. O Claude já acha que é senior. A lacuna de conformidade está entre o pensar e o fazer. Imperativos fecham essa lacuna; prompts de identidade não.

8. O Modelo Mental

Reduza o artigo à sua frase principal e você terá isto:

CLAUDE.md não é uma lista de desejos. É um contrato comportamental que resolve modos de falha específicos que você observou.

Cada regra deve responder: qual erro isso evita?

Isso muda tudo. A maioria dos desenvolvedores trata o CLAUDE.md como um arquivo de preferências pessoais — uma lista de gostos e desgostos estilísticos que cresce com o tempo. O argumento do artigo é que um arquivo de preferências é o formato errado. O formato correto é uma lista de modos de falha que você realmente encontrou, com uma regra para cada modo.

Isso também explica por que o artigo termina com uma recomendação contraintuitiva:

Um CLAUDE.md de 6 regras ajustado aos seus modos de falha reais supera um de 12 regras com 6 regras que você nunca precisará.

Não cole todas as 12 só porque alguém no X disse para fazer isso. Leia-as, mantenha as que correspondem a erros que você já cometeu e descarte o restante.

9. Mapeando para o Antigravity (GEMINI.md / AGENTS.md)

O artigo é focado no Claude, mas a abstração é portável. O Antigravity lê regras procedimentais de dois arquivos no mesmo formato:

  • GEMINI.md — o arquivo de system prompt específico do Gemini. Veja nosso guia do GEMINI.md.
  • AGENTS.md — o formato multi-ferramenta (funciona com Claude Code, Cursor, Antigravity). Veja nosso Guia AGENTS.md.

Ambos são recomendativos, não obrigatórios, ambos limitam-se a cerca de 200 linhas antes que a conformidade diminua, e ambos seguem a mesma disciplina de "enuncie a regra, sem exemplos, sem intensificadores vagos". As 12 regras transferem-se essencialmente sem alterações. Considerações específicas do Antigravity:

  1. A Regra 6 (orçamentos de tokens) torna-se crítica, não opcional. A cota do Antigravity consome-se mais rápido do que a do Claude Code. Combine a regra com o nosso playbook de redução de tokens.
  2. A Regra 10 (checkpoints) mapeia para o Agent Manager do Antigravity. Se uma execução multi-agente falhar no passo 4, você vai querer encerrar o agente e retomar a partir de um artefato anterior, não do zero.
  3. A Regra 7 (expor conflitos) ajuda em trocas de modelos. Se você alternar entre Gemini e Claude Opus no meio da sessão (conforme abordado em nossa análise de troca de modelos), o novo modelo frequentemente herda contexto obsoleto do antigo e tenta reconciliar padrões incompatíveis.
  4. A Regra 12 (falhe visivelmente) é a mais subestimada para o Autopilot. Se você executar o auto-accept, falhas silenciosas acumulam-se em vários ciclos de Cmd-Enter antes que você as perceba. Force o agente a expor cada etapa ignorada.

Mesmo template, runtime diferente, mesma lógica.

Get the latest on AI, LLMs & developer tools

New MCP servers, model updates, and guides like this one — delivered weekly.

10. O Template Completo de 12 Regras (Pronto para Copiar e Colar)

Salve isto como CLAUDE.md (ou GEMINI.md ou AGENTS.md) na raiz do seu repositório. O artigo original observa: mantenha o tamanho total do arquivo abaixo de 200 linhas combinadas, incluindo quaisquer adições específicas do projeto abaixo; além disso, a conformidade diminui.

# Coding Behavior Contract (12 Rules) ## Core (Karpathy via Forrest Chang) 1. Think before coding. State your assumptions. Surface tradeoffs. Ask before guessing. Push back when a simpler approach exists. 2. Simplicity first. Minimum code that solves the problem. No speculative features. No abstractions for single-use code. 3. Surgical changes. Touch only what is asked. Do not "improve" adjacent code, comments, or formatting. Match existing style. 4. Goal-driven execution. Define success criteria. Loop until verified. Do not narrate steps; tell me what success looks like. ## Extended (Mnimiy, May 2026) 5. Do not make the model do non-language work. Retry policies, routing, escalation thresholds belong in deterministic code. 6. Hard token budgets, no exceptions. Stop and ask if a task is trending past its budget. 7. Surface conflicts, do not average them. If two parts of the codebase disagree, flag the disagreement and ask which to follow. 8. Read before you write. Understand adjacent code (the file and nearby siblings) before adding new code. 9. Tests are required but are not the goal. A passing test that tests nothing useful is a failure. Tests must check behavior. 10. Long-running operations require checkpoints. After every significant step, summarize what was done and confirm before proceeding. 11. Convention beats novelty. In an established codebase, match the existing pattern even if a "better" one exists. 12. Fail visibly, not silently. Surface every skipped record, every rolled-back transaction, every constraint violation. Never report success when something was bypassed. ## Project-specific rules below this line # (Add stack, test commands, error patterns specific to this repo.) # Total file should stay under 200 lines.

Esse é o arquivo. Duas coisas a fazer com ele:

  1. Leia as 12 honestamente. Quais delas correspondem a erros que você realmente cometeu este mês? Mantenha essas. Descarte o restante. Um arquivo de 6 regras ajustado aos seus modos de falha é melhor que um arquivo de 12 regras com regras que você nunca acionará.
  2. Adicione regras específicas do projeto abaixo. Stack-specific ("always use the Repository pattern"), test-runner ("run pnpm test:unit before reporting done"), error patterns. Keep the total under 200 lines.

11. FAQ

O que é o template de 12 regras CLAUDE.md?

É uma extensão do arquivo CLAUDE.md de 4 regras que Forrest Chang construiu com base na thread de Andrej Karpathy de janeiro de 2026 sobre os modos de falha do Claude. Mnimiy (@mnilax) testou o original em 30 codebases por 6 semanas e publicou 8 regras adicionais em maio de 2026 para cobrir problemas que surgiram após a versão original — conflitos de agentes, cascatas de hooks, conflitos de carregamento de skills e desvios de workflow em múltiplas etapas.

Quem é Karpathy e quem empacotou as 4 regras originais?

Andrej Karpathy é o renomado pesquisador de IA (ex-Tesla, OpenAI). Ele postou uma thread no final de janeiro de 2026 enumerando três modos de falha que via constantemente na geração de código do Claude: suposições erradas silenciosas, excesso de complicação e danos ortogonais. Forrest Chang leu a thread, empacotou as reclamações em 4 regras de comportamento em um único arquivo CLAUDE.md e o colocou no GitHub. O repositório alcançou 5.828 estrelas no primeiro dia e 120.000 estrelas em meados de 2026 — o repositório de arquivo único com o crescimento mais rápido do ano.

O quanto essas regras realmente reduzem os erros?

As medições de Mnimiy em 30 codebases e 50 tarefas representativas: sem o CLAUDE.md, a taxa de erro era de ~41%. Com as 4 regras originais, ~11%. Com as 12 regras completas, ~3%. O compliance — a frequência com que o Claude aplicava visivelmente a regra relevante — permaneceu praticamente estável entre 4 e 12 regras (78% → 76%), sugerindo que as novas regras cobrem modos de falha que as 4 originais não abordavam, em vez de competirem pelo mesmo orçamento de atenção.

Isso se aplica ao Antigravity, já que o Antigravity usa o Gemini, e não o Claude?

Sim. O Antigravity lê regras procedimentais dos arquivos AGENTS.md e GEMINI.md no mesmo formato: um arquivo Markdown na raiz do repositório, consultivo e não impositivo, limitado a cerca de 200 linhas antes que o compliance diminua. As 12 regras são transferidas quase literalmente. Cobrimos o mapeamento prático nos guias AGENTS.md e GEMINI.md do Antigravity linkados abaixo.

Por que 12 regras e não mais?

Mnimiy testou até 18 regras. O compliance caiu de 76% para 52% após a 14ª regra. O teto de 200 linhas que a Anthropic documenta é real: além disso, o Claude começa a fazer pattern-matching para "regras existem" sem realmente lê-las. A disciplina do template consiste em mantê-lo pequeno o suficiente para que cada regra seja lida em cada sessão.

Devo usar todas as 12 regras ou escolher um subconjunto?

Escolha. O artigo é explícito: "um CLAUDE.md de 6 regras ajustado aos seus modos de falha reais supera um de 12 regras com 6 regras que você nunca precisará". Leia as 12, mantenha as que se aplicam aos erros que você realmente cometeu e descarte

Where does the original Karpathy template silently break?

Mnimiy identifies four gaps: (1) long-running agent tasks — no budget, no checkpoint, no fail-loud rules; (2) multi-codebase consistency — 'match existing style' assumes one style, fails in monorepos with multiple services; (3) test quality — 'tests pass' as the only goal means Claude writes tests that test nothing; (4) production vs prototype — 'Simplicity First' overfires on early-stage code that legitimately needs speculative scaffolding.

What approaches did Mnimiy try that didn't work?

Five things failed: (1) collecting rules from social media — mostly restatements or non-generalizable; (2) more than 14 rules — compliance crash; (3) tooling-dependent rules like 'always use eslint' — fails silently when tool is missing; (4) examples instead of rules — heavier, model over-fits; (5) vague rules like 'be careful' or 'think hard' — compliance ~30% because they're not testable; (6) identity prompts like 'act like a senior engineer' — Claude already thinks it's senior. Imperative rules close the gap; identity prompts don't.

Obtenha o Pacote de Templates de 12 Regras para CLAUDE.md / GEMINI.md / AGENTS.md

Baixe o template completo e mais três variantes pré-ajustadas — para desenvolvedores solo, equipes de monorepo e usuários do Antigravity Autopilot. Arquivos CLAUDE.md, GEMINI.md e AGENTS.md prontos para uso, além da planilha de seleção de regras.

    We respect your privacy. Unsubscribe at any time.

    Sponsored AI assistant. Recommendations may be paid.