Como escrever o primeiro prompt do dia no Claude Code sem gastar tempo explicando o projeto

primeiro prompt no Claude Code explicando o CLAUDE.md e caminhos do projeto
Resposta rápida

O primeiro prompt no Claude Code não precisa recontar o projeto inteiro: cada sessão nova começa com a janela de contexto limpa, sem histórico das anteriores. O que é fixo mora no CLAUDE.md, lido no início de toda sessão, em ./CLAUDE.md ou ./.claude/CLAUDE.md, gerado pelo /init e mantido curto (a recomendação oficial é abaixo de aproximadamente 200 linhas, porque cada linha entra no contexto a cada request). O pedido de abertura fica só com o que muda: objetivo específico com sintoma observável, os caminhos que você já sabe com @src/auth/login.ts e, se a tarefa for ampla, modo de planejamento com Shift+Tab ou /plan

Fala aí, beleza? Toda manhã a mesma cena: você abre o terminal, sobe o Claude Code e gasta os primeiros minutos contando de novo o que é o projeto, onde mora o backend, qual comando roda os testes

E não é o agente sendo esquecido, viu

Cada sessão nova começa mesmo com a janela de contexto limpa, sem o histórico de conversa das sessões anteriores, isso está na documentação de como o Claude Code funciona

O problema real é outro: o contexto persistente está no lugar errado (ou simplesmente não existe)

A saída é separar duas coisas que quase sempre vêm grudadas no mesmo pedido: o que é FIXO no projeto e o que muda todo dia

O fixo vai pro arquivo que o Claude lê sozinho no start

O que muda vira o seu primeiro prompt no Claude Code, e aí ele cabe em três linhas

Bora ver na prática?

Domine o Claude Code do básico ao avançado
Pré-inscrição Formação Claude Code

Domine o Claude Code do básico ao avançado

Você vai aprender a criar sistemas completos com Claude Code, sem precisar ser programador. Inscreva-se para ter acesso a um desconto de lançamento e bônus especiais!

Antes do primeiro pedido: deixe o CLAUDE.md pronto uma vez

O Claude Code lê os arquivos CLAUDE.md no início de toda sessão

"Que arquivo é esse?" É onde você guarda o contexto persistente que o modelo não consegue inferir sozinho olhando o código

Se você já usou um .editorconfig ou um README de onboarding do time, a ideia é bem parecida: escreve uma vez, vale pra todo mundo que senta na cadeira depois

Onde o arquivo mora:

O CLAUDE.md do projeto pode ficar em ./CLAUDE.md ou em ./.claude/CLAUDE.md

Os arquivos que estão no diretório de trabalho e acima dele são lidos no início da sessão

Os de subpastas não: eles só carregam depois, sob demanda, quando o Claude lê arquivos daquela subpasta

Isso é ótimo pra monorepo, porque a regra específica do pacote só entra em cena quando o pacote entra em cena 🙂

Não precisa escrever do zero:

O comando /init gera um CLAUDE.md inicial analisando o seu código

/init

E se já existir um arquivo no projeto, ele sugere melhorias em vez de sobrescrever, então rodar de novo não destrói o que você escreveu

Curto e denso em sinal:

A recomendação oficial é manter o arquivo abaixo de aproximadamente 200 linhas

O motivo é bem concreto: cada linha entra no contexto a cada request

CLAUDE.md gordo é conta rodando o dia inteiro, e isso conversa direto com a ideia de gastar menos com o Claude Code

A documentação de boas práticas lista o que vale colocar ali:

  • comandos de build, teste, lint e execução local
  • convenções (nomenclatura, tratamento de erro)
  • arquitetura em três frases
  • restrições duras

Algo mais ou menos assim:

# Projeto X

## Comandos
- dev: npm run dev
- teste: npm test
- lint: npm run lint

## Arquitetura (3 frases)
Monorepo com web (Next) e worker (Node).
O banco é Postgres, acesso só pela camada db.
Todo job novo passa pelo registro de jobs.

## Convenções
- nomes de arquivo em kebab-case
- erro sempre tratado na borda, nunca engolido

## Restrições duras
- não editar arquivos de migration já aplicados
- não commitar sem rodar o lint

Tome cuidado com um detalhe que engana muita gente: usar imports com @caminho DENTRO do CLAUDE.md ajuda a organizar, mas não reduz contexto

Os arquivos importados são carregados no launch, junto

Ou seja: quebrar em cinco arquivinhos deixa mais bonito, não deixa mais barato 😛

E a memória que ele escreve sozinho?

São dois mecanismos que carregam conhecimento entre sessões: os arquivos CLAUDE.md (as instruções que VOCÊ escreve) e a auto memory (notas que o próprio Claude escreve a partir das suas correções e preferências)

Um você controla na mão, o outro vai se formando conforme você corrige o agente

Como montar o pedido de abertura, passo a passo

Com o fixo fora do caminho, o pedido de abertura vira quase um checklist de quatro itens

  1. Escreva o objetivo específico, com sintoma observável

A orientação oficial de prompt é essa: ser específico

O exemplo que a própria documentação dá é trocar "conserte o bug" por "conserte o bug de login em que o usuário vê tela branca depois de digitar credencial errada"

Repara que a diferença não é tamanho, é o sintoma estar visível na frase

O erro comum deste passo: despejar o repositório inteiro no prompt achando que contexto é volume

  1. Aponte só os caminhos que você JÁ sabe que importam

Se você já sabe qual arquivo é relevante, dizer isso é mais rápido e gasta menos tokens

A referência a caminhos é feita com @, assim:

conserte o bug de login em que o usuário vê tela branca depois de digitar credencial errada
começa por @src/auth/login.ts
não mexa nas migrations

Três linhas, e o dia começou

O erro comum deste passo: apontar o arquivo errado com @ e travar a busca numa pista falsa, porque agora ele está ancorado onde você mandou

Se você não tem certeza, é melhor descrever o sintoma e deixar ele achar

  1. Anexe a fonte externa quando ela existir

Tem mais formas oficiais de dar contexto sem escrever parágrafo:

  • passar URLs de documentação e referência de API direto no pedido
  • usar /permissions pra liberar domínios que você usa com frequência
  • canalizar dados pelo terminal, tipo cat error.log | claude

Esse último é sério, é lindo pra abrir o dia em cima de um log de erro de ontem à noite

O erro comum deste passo: colar 800 linhas de log no chat quando o pipe faria o trabalho

  1. Abra em modo de planejamento quando a tarefa for ampla

O modo de planejamento é acionado com Shift+Tab ou prefixando o prompt com /plan

Nele o Claude lê arquivos, roda comandos de exploração e escreve um plano, sem editar o código-fonte

Com o plano na tela, as opções de resposta são ‘Yes, and use auto mode’, ‘Yes, manually approve edits’ e ‘No, keep planning’

E tem um atalho que pouca gente usa: Ctrl+G abre o plano proposto no seu editor de texto padrão, aí você edita o plano na mão antes de aprovar

Mto massa pra cortar aquele passo 4 que você sabe que é besteira

O erro comum deste passo: pedir plano pra tarefa de uma linha e transformar um rename de variável em reunião de arquitetura haha

O que dizer e o que o Claude descobre sozinho

Essa é a parte que mais economiza tempo, porque metade do que a gente digita de manhã é trabalho que o agente já ia fazer

O Claude Code trabalha em três fases: reunir contexto, agir e verificar

Na primeira ele busca os arquivos relevantes e lê vários, na segunda faz edições coordenadas e na terceira roda testes

O Claude descobre sozinho Só você sabe
quais arquivos são relevantes pra tarefa qual é a tarefa de hoje
o conteúdo de vários arquivos de uma vez qual comportamento está errado
como coordenar a edição entre eles o que não pode ser tocado
rodar os testes pra verificar o resultado qual caminho já é suspeito

A conclusão prática é direta: descrever a ESTRUTURA do projeto no prompt é trabalho duplicado

Descrever a INTENÇÃO não é, isso nenhuma varredura de código adivinha

Se você quiser ver esse ciclo rodando inteiro, do primeiro projeto até o deploy, tem um post aqui do blog só sobre isso

Três aberturas de dia e o comando certo para cada uma

Nem todo dia começa igual, né? Então o comando de abertura muda

1. Tarefa nova, sem nada a ver com ontem:

Usa /clear

Ele começa uma tarefa do zero mantendo a memória do projeto

Ou seja: some o histórico da conversa, fica o que está no CLAUDE.md

É exatamente o que você quer quando o assunto de hoje não tem parentesco com o de ontem

2. Continuar de onde parou:

Usa /resume (o alias é /continue)

E pela linha de comando existem as flags --continue e --resume

claude --continue

Aqui vale a ressalva pro que eu falei lá no começo: abrir o Claude Code do jeito normal te dá uma sessão nova, de contexto limpo

O /resume é justamente o comando que existe pra fugir disso, ele volta pra uma conversa anterior em vez de começar outra

É a exceção, não a regra 🙂

3. A sessão já ficou pesada:

Primeiro /context, que mostra o que está consumindo contexto no momento

Depois /compact [instruções], que substitui o histórico por um resumo, opcionalmente focado no que você especificar

/compact foque no bug de login e nos arquivos de auth

Esse par é o que segura o dia longo sem precisar reabrir tudo do zero

Conclusão

O tempo que você economiza de manhã não vem de escrever prompt bonito

Vem de mover o que é FIXO pro CLAUDE.md e deixar o prompt só com o que muda: a tarefa de hoje, o sintoma e, se você já souber, o caminho suspeito

O resto o agente busca sozinho, e ele é bom nisso

Próximo passo, bem concreto: roda o /init hoje no seu projeto principal, corta o arquivo pra caber no limite recomendado de aproximadamente 200 linhas e amanhã tenta abrir o dia com um pedido de três linhas

Se der certo, você nunca mais reconta o projeto inteiro às 9 da manhã 😀

até o próximo post!

Perguntas frequentes

Qual o tamanho ideal do CLAUDE.md pra não pesar no contexto do Claude Code?

A recomendação oficial é ficar abaixo de aproximadamente 200 linhas. Cada linha do arquivo entra no contexto a cada request, então um CLAUDE.md gordo vira conta rodando o dia inteiro. Prioriza comandos, convenções, arquitetura em três frases e restrições duras, o resto corta.

Rodar /init de novo apaga o CLAUDE.md que eu já escrevi?

Não. O /init gera um CLAUDE.md inicial analisando o código só quando não existe nenhum ainda. Se já existir um arquivo no projeto, ele sugere melhorias em vez de sobrescrever, então rodar de novo é seguro.

Quebrar o CLAUDE.md em vários arquivos com @import deixa o contexto mais leve?

Não deixa. Imports com @caminho dentro do CLAUDE.md ajudam a organizar, mas os arquivos importados são carregados no launch junto com o principal. Ou seja, o custo de contexto continua o mesmo, só muda a organização visual.

O Claude Code lembra de correções que eu fiz numa sessão anterior?

Existem dois mecanismos separados pra isso: o CLAUDE.md, que são as instruções que você escreve na mão, e a auto memory, que são notas que o próprio Claude escreve a partir das suas correções e preferências. Cada sessão nova começa com a janela de contexto limpa, sem o histórico de conversa, então é esse par que carrega o conhecimento entre uma sessão e outra. A exceção é quando você não abre uma sessão nova: o /resume volta pra uma conversa anterior.

Dá pra mandar um log de erro direto pro Claude Code sem colar tudo no chat?

Dá, e é uma das formas oficiais de dar contexto no pedido. Canaliza o arquivo direto pelo terminal, tipo cat error.log | claude, em vez de colar centenas de linhas na conversa. Funciona bem pra abrir o dia já em cima do log da noite anterior.

Quando compensa usar o modo de planejamento em vez de mandar o pedido direto?

O modo de planejamento (Shift+Tab ou /plan) vale pra tarefa ampla, onde o Claude precisa ler vários arquivos e montar uma estratégia antes de tocar no código. Com o plano na tela dá pra aprovar em modo automático, aprovar edição por edição, pedir mais planejamento ou editar o plano direto no seu editor com Ctrl+G. Pra tarefa de uma linha isso é overhead desnecessário.



Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares