Organizamos de forma concisa no CLAUDE.md do projeto o comando de execução, as regras de dados, as proibições e a forma de verificar resultados que antes eram repetidos em cada solicitação. Distinguimos a função de `/init` para criar um rascunho e o propósito de cada localização de arquivo e concluímos um arquivo de regras de 35 linhas adaptado ao exemplo do CSV de despesas.
Conteúdo verificado 2026.09.22Prompts para copiar
Ver o sumário
Para quem éUsuários iniciantes que modificam várias vezes o mesmo projeto com Claude Code e querem reduzir a repetição das mesmas regras em cada solicitação
Preparação
Ter expenses.csv e summarize.py na pasta vibe-expenses
Conhecer o comando de execução da ferramenta de total mensal e sua saída esperada
Entender que CLAUDE.md é contexto do projeto, não uma configuração coercitiva
01Mover para o arquivo do projeto apenas as regras que se repetem
No artigo anterior, cada solicitação ao Claude Code incluía diretamente o arquivo de entrada, o uso da biblioteca padrão, a proibição de modificar o CSV original, o comando de execução e a saída esperada. Se o trabalho continuar no mesmo projeto, essas regras podem ser organizadas em CLAUDE.md em vez de serem escritas novamente toda vez. O Claude Code lê esse arquivo no início da sessão e o usa como contexto do projeto.
No entanto, CLAUDE.md não deve ser considerado um mecanismo de controle de acesso nem uma regra absoluta. Segundo a documentação oficial, esse arquivo fornece contexto e é mais fácil de seguir quanto mais específico e conciso for. Portanto, não se deve presumir que “sempre será seguido perfeitamente”; as alterações reais ainda precisam ser revisadas.
Regra repetida
Exemplo que pode ser escrito em CLAUDE.md
Motivo
Entrada
expenses.csv / UTF-8 / colunas fixas
Reduz a chance de outros arquivos ou colunas serem assumidos arbitrariamente
Implementação
Usar apenas a biblioteca padrão do Python
Deixa claro o limite para adicionar pacotes
Execução
python summarize.py expenses.csv
Fixa o comando de verificação
Proibição
Não modificar expenses.csv
Define o critério de preservação dos dados originais
Critério de conclusão
Duas linhas com os valores mensais esperados
Fornece valores que a pessoa pode comparar depois do trabalho
02Distinguir os locais para regras compartilhadas pela equipe, pessoais globais e pessoais do projeto
A documentação oficial descreve locais com finalidades diferentes. `./CLAUDE.md`, na raiz do projeto, é adequado para regras do projeto compartilhadas com a equipe. `~/.claude/CLAUDE.md` contém notas pessoais comuns a todos os projetos, e `./CLAUDE.local.md` serve para notas pessoais de um projeto específico e pode ser adicionado ao .gitignore.
Prompt
./CLAUDE.md
~/.claude/CLAUDE.md
./CLAUDE.local.md
Neste exemplo, usamos `./CLAUDE.md` porque ele contém informações próprias do projeto, como o comando de execução e as regras de dados. É mais fácil manter o arquivo se preferências pessoais ou caminhos locais não forem misturados em um arquivo compartilhado pela equipe.
03Criar um rascunho com /init sem aceitá-lo como está
Ao usar `/init` dentro de uma sessão, o Claude Code pode analisar a base de código e criar um rascunho de CLAUDE.md com comandos de build, testes e convenções. A documentação oficial explica que, se CLAUDE.md já existir, ele não é sobrescrito; em vez disso, são sugeridas melhorias. Portanto, é mais adequado entender `/init` não como um comando que decide as regras automaticamente, mas como um ponto de partida para obter um rascunho que uma pessoa revisará.
Prompt
/init
Depois que o rascunho for criado, verifique se ele inclui comandos que não correspondem ao projeto real, testes inexistentes ou instruções genéricas demais. Como o Claude Code não foi executado de fato neste artigo, não inventamos uma resposta de exemplo atribuindo a `/init` frases específicas que ele teria gerado.
04Organizar em 35 linhas o CLAUDE.md do exemplo de despesas
O exemplo abaixo é um CLAUDE.md que reúne apenas as regras necessárias para o projeto fictício desta série. A documentação oficial recomenda menos de 200 linhas por arquivo, e este exemplo é mantido em 35 linhas. Separamos objetivo, dados, regras de Python, comandos de execução, resultado esperado e regras de trabalho para que também seja fácil de entender por uma pessoa.
Prompt
# Project: vibe-expenses
## Goal
- Read expenses.csv and summarize expense amounts.
- Keep the example small and understandable for beginners.
## Data
- Input file: expenses.csv
- Encoding: UTF-8
- Columns: date, category, amount
- date format: YYYY-MM-DD
- category values stay in English.
- amount is treated as an integer.
## Python rules
- Use only the Python standard library.
- Prefer csv for reading CSV files.
- Do not add third-party packages.
- Keep functions short and names descriptive.
- Do not modify expenses.csv.
## Commands
- Run: python summarize.py expenses.csv
- On Windows, py summarize.py expenses.csv is also acceptable.
## Expected result
- 2026-09 = 26600
- 2026-10 = 9800
## Working rules
- Explain the planned change before editing files.
- Change only files needed for the requested task.
- Do not invent extra input columns or business rules.
- If a requirement is unclear, ask before expanding scope.
- After editing, show what changed and how to verify it.
Não incluímos aqui senhas, chaves de API nem caminhos reais de clientes. Um arquivo de instruções do projeto serve para transmitir contexto de trabalho, então é mais seguro concentrá-lo em regras que não causem problemas mesmo se o arquivo for publicado ou compartilhado.
05Priorizar regras verificáveis em vez de explicações longas
Um CLAUDE.md não é melhor por ser mais longo. Regras que podem ser comparadas com o resultado real, como “não adicionar pacotes externos”, “não modificar expenses.csv” ou “este é o comando de execução”, são mais úteis do que frases difíceis de avaliar, como “escreva um bom código”. Se necessário, é possível usar a sintaxe `@caminho` para incorporar o conteúdo de outros arquivos, mas este pequeno exemplo não precisa incluir arquivos adicionais.
Escrever apenas nomes de arquivos e comandos que realmente existam no projeto.
Não acumular em CLAUDE.md instruções para tarefas necessárias apenas uma vez.
Escrever as proibições de forma específica, indicando o que não deve ser feito.
Deixar valores esperados ou comandos de verificação que permitam decidir se o trabalho foi concluído.
Não incluir segredos pessoais nem chaves de API no arquivo de regras do projeto.
Mesmo depois de adicionar regras, é preciso revisar separadamente quais arquivos o Claude Code realmente modifica. CLAUDE.md não substitui a revisão; ele reduz o contexto do projeto que teria de ser explicado repetidamente.
06Ler novamente o arquivo de regras antes do próximo trabalho
Depois de salvar CLAUDE.md, convém que uma pessoa leia o arquivo uma vez antes de solicitar o próximo recurso. Se o código atual ou o comando de execução tiver mudado, mas instruções antigas permanecerem, o arquivo pode fornecer contexto incorreto. Em particular, se a saída esperada ou os nomes dos arquivos mudarem, o arquivo de regras também deve ser atualizado.
Pergunta de revisão
Resposta esperada neste exemplo
Sinal de que precisa corrigir
O arquivo de entrada está correto?
expenses.csv
Permanece outro nome de arquivo
O comando de execução está correto?
python summarize.py expenses.csv
Permanece o nome de um script anterior
A regra de pacotes está correta?
Usar apenas a biblioteca padrão
Exige um pacote externo desnecessário
Os valores esperados estão corretos?
26600 / 9800
Aparecem números diferentes dos do exemplo atual
Está claro o que não deve ser modificado?
Não modificar expenses.csv
Há apenas expressões ambíguas
No próximo artigo, manteremos essas regras e, em vez de implementar imediatamente um novo recurso, faremos primeiro o projeto no modo plan. O objetivo será revisar, ainda na etapa de planejamento, quais alterações são necessárias para uma opção `--by-category` que mostre, para 2026-09, food 20500, transport 2900 e supplies 3200.
O que conferir por conta própria
Redigido com base na documentação oficial do Claude Code (consultada em 2026-09-22) e no exemplo fictício desta série · Claude Code não foi executado de fato · Este artigo não contém código Python que precise ser executado
Verificar se os locais e os usos de `./CLAUDE.md` do projeto, `~/.claude/CLAUDE.md` pessoal global e `./CLAUDE.local.md` pessoal do projeto coincidem com a documentação oficial
Comparar com a documentação oficial a explicação de que `/init` analisa a base de código para criar um rascunho e, se CLAUDE.md já existir, sugere melhorias em vez de sobrescrevê-lo
Verificar se CLAUDE.md é descrito como contexto do projeto, e não como uma configuração coercitiva
Verificar se o CLAUDE.md de exemplo tem 35 linhas e está abaixo da recomendação oficial de menos de 200 linhas por arquivo
Verificar se as regras de exemplo incluem comando de execução, regras de dados, proibições, resultado esperado e fluxo de verificação
Verificar se não é afirmado que foram criados resultados reais de `/init` ou respostas reais do Claude Code
Limites da verificação
Neste artigo, `/init` e os recursos de arquivos de memória do Claude Code não foram executados de fato. O exemplo de CLAUDE.md é um texto editorial baseado nos requisitos do projeto fictício desta série; em um projeto real, uma pessoa deve revisá-lo de acordo com a estrutura de arquivos e os comandos vigentes.
Entendemos vibe coding não como “pedir em palavras e deixar a IA fazer tudo sozinha”, mas como uma forma de trabalho em que a pessoa define os requisitos e os critérios de verificação e depois revisa o resultado gerado pela IA. Usando como exemplo uma ferramenta fictícia para somar um CSV de despesas domésticas, organizamos em uma única nota a entrada, a saída, o que não deve ser feito e como verificar o resultado.
Verificamos o comando de instalação do Claude Code e as condições de conta de acordo com o sistema operacional e iniciamos a primeira sessão em uma pasta fictícia de prática. Em vez de gerar código imediatamente, fazemos apenas três perguntas para ler a pasta e o CSV no modo plan e depois encerramos a sessão com segurança.
Praticamos o fluxo para criar uma primeira ferramenta pequena em Python usando o expenses.csv fictício e a nota de requisitos preparada anteriormente. A solicitação inclui um exemplo de entrada, a saída esperada e as restrições e, depois, executamos o summarize.py concluído na ferramenta Python do chat GPT, e não no Claude Code, para verificar o resultado.
Usando como exemplo a adição da opção `--by-category` a uma ferramenta já funcional que soma despesas por mês, você aprenderá a revisar primeiro o plano de mudanças no modo plan do Claude Code. Antes de implementar, definirá o escopo da alteração e o formato de saída; depois de aprovar o plano, executará o código final para verificar tanto os totais mensais existentes quanto os totais por categoria.
Você aprenderá um fluxo mínimo para criar um ponto de referência com git antes de o Claude Code modificar arquivos e, depois do trabalho, revisar as mudanças reais com `git status` e `git diff`. É possível pedir à IA que explique o diff, mas o processo se baseia em a pessoa conferir o diff e os resultados da execução antes de fazer staging e commit diretamente.
Em vez de apenas dizer à IA que “está dando erro”, você praticará um fluxo em que primeiro reproduz o problema com a mesma entrada, restringe a causa com base na mensagem real de exceção e solicita somente a mudança mínima. Usaremos um CSV cujo amount contém uma vírgula para reproduzir um ValueError no Python e executaremos novamente o código corrigido para verificar o resultado.
Partindo do princípio de que o Claude Code pode ler e modificar arquivos e executar comandos, este artigo reúne as verificações de segurança que iniciantes devem fazer antes, durante e depois do trabalho. Ele conecta em uma única lista as diferenças entre os modos de permissão, as mudanças que os checkpoints não conseguem restaurar, a diferença de função em relação ao git e a regra de não inserir informações secretas.