Uso de IA no trabalho

Explicar as regras do projeto com CLAUDE.md

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.

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 repetidaExemplo que pode ser escrito em CLAUDE.mdMotivo
Entradaexpenses.csv / UTF-8 / colunas fixasReduz a chance de outros arquivos ou colunas serem assumidos arbitrariamente
ImplementaçãoUsar apenas a biblioteca padrão do PythonDeixa claro o limite para adicionar pacotes
Execuçãopython summarize.py expenses.csvFixa o comando de verificação
ProibiçãoNão modificar expenses.csvDefine o critério de preservação dos dados originais
Critério de conclusãoDuas linhas com os valores mensais esperadosFornece 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ãoResposta esperada neste exemploSinal de que precisa corrigir
O arquivo de entrada está correto?expenses.csvPermanece outro nome de arquivo
O comando de execução está correto?python summarize.py expenses.csvPermanece o nome de um script anterior
A regra de pacotes está correta?Usar apenas a biblioteca padrãoExige um pacote externo desnecessário
Os valores esperados estão corretos?26600 / 9800Aparecem números diferentes dos do exemplo atual
Está claro o que não deve ser modificado?Não modificar expenses.csvHá 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.