🚀 Iniciando Claude Code
O Claude Code inicia sempre no diretório atual. O primeiro passo é sempre navegar até o seu projeto antes de chamar o comando claude. Isso garante que ele carregue o contexto correto do projeto.
💡 Como o Claude Code inicia
Ao executar claude, ele lê o diretório atual, carrega os arquivos CLAUDE.md disponíveis e inicia a sessão interativa. Você pode passar um arquivo como argumento para já abrir com contexto.
- • Sem argumento: inicia no diretório atual
- • Com arquivo: abre com o arquivo já carregado no contexto
- • Non-interactive (-p): executa um prompt e retorna, ideal para scripts
# Iniciar no projeto atual
cd ~/meu-projeto
claude
# Iniciar e já abrir um arquivo específico
claude app.py
# Iniciar com múltiplos arquivos no contexto
claude app.py utils.py config.json
# Modo non-interactive (script/automação)
claude -p "explique este código" < arquivo.py
# Modo non-interactive com arquivo de saída
claude -p "adicione docstrings" arquivo.py > arquivo_documentado.py
Fluxo de inicialização
cd para o projeto
Navegue até o diretório raiz do seu projeto para que o CC encontre os arquivos CLAUDE.md corretos.
Executar claude
O CC carrega o ambiente, lê os CLAUDE.md e exibe o prompt de entrada aguardando sua primeira instrução.
Aguardar carregamento
O CC inicializa os tools, verifica permissões e carrega configurações do settings.json antes de estar pronto.
Primeira mensagem
Você vê o prompt > — CC está pronto. Pode começar com "O que existe neste projeto?" para um overview rápido.
💬 Como dar instruções
A diferença entre um resultado medíocre e um resultado excelente está na qualidade da instrução. Claude Code é poderoso, mas precisa de contexto suficiente para trabalhar com precisão. Instruções vagas geram resultados genéricos.
✓ O que FAZER
- ✓ "Crie uma função Python que valida email com regex, retorna bool, com testes pytest cobrindo emails válidos e inválidos"
- ✓ "Refatore a função process_data em utils.py para usar list comprehension em vez de loop for"
- ✓ "Adicione tratamento de erro para FileNotFoundError na função load_config, logando o erro antes de relançar"
✗ O que NÃO fazer
- ✗ "Faz um código aí" — sem contexto, linguagem ou objetivo
- ✗ "Melhore este código" — o que é "melhorar"? Performance? Legibilidade? Segurança?
- ✗ "Corrija o bug" — sem colar o erro, o trecho de código ou descrever o comportamento esperado
💡 Fórmula de instrução eficaz
Use este template mental para toda instrução:
[Ação] + [O quê] + [Onde] + [Restrições] + [Resultado esperado]
Exemplo: "Crie [ação] uma função [o quê] de validação de CPF [onde: no arquivo validators.py] usando regex [restrição] que retorne True/False e lance ValueError se o input não for string [resultado]"
⚡ Comandos Slash Essenciais
Os comandos slash são atalhos que controlam o comportamento do Claude Code durante a sessão. Dominá-los aumenta drasticamente a produtividade — especialmente /compact e /model.
Referência completa de comandos
| Comando | O que faz | Quando usar |
|---|---|---|
/help |
Lista todos os comandos disponíveis | Quando esquecer algum comando |
/compact |
Comprime o histórico mantendo pontos-chave | A cada ~10-15 mensagens em sessões longas |
/clear |
Limpa toda a conversa (novo início) | Mudança de tarefa completamente diferente |
/config |
Abre o menu de configurações | Ajustar permissões, modelo, preferências |
/exit |
Sai do Claude Code | Encerrar a sessão corretamente |
/model |
Troca o modelo de linguagem | Alternar entre Opus/Sonnet/Haiku ou Ollama |
/add-dir |
Adiciona diretório ao contexto da sessão | Trabalhar com pastas fora do diretório atual |
⚡ Atalho de teclado
Pressione / seguido de Tab para autocompletar comandos. O CC mostra sugestões conforme você digita — você não precisa memorizar todos os comandos.
🔒 Modo de Permissão
O Claude Code tem um sistema de permissões que controla quais ações ele pode executar automaticamente. O modo padrão é conservador — ideal para uso cotidiano. O modo sem permissões é para automações controladas.
⚠️ --dangerously-skip-permissions
Esta flag desativa todas as confirmações. O CC executa comandos de terminal, escreve arquivos e faz mudanças sem pedir aprovação. Consequências:
-
•
Comandos destrutivos (
rm -rf, sobrescrita de arquivos) executam sem aviso - • Ideal apenas em containers isolados ou pipelines CI/CD controlados
- • Nunca use em máquinas de produção ou com dados sensíveis
🛡️ Modo padrão — o mais seguro
No modo padrão, o CC solicita aprovação antes de executar qualquer comando de terminal. Você vê exatamente o que ele quer fazer e pode aprovar, rejeitar ou editar.
- ✓ Aprovação explícita para cada execução de comando
- ✓ Você mantém controle total sobre o que acontece no sistema
- ✓ Pode usar allowlists no settings.json para comandos confiáveis específicos
# Modo padrão (recomendado) - pede confirmação
claude
# Skip de permissões - APENAS em ambientes controlados
claude --dangerously-skip-permissions
# Non-interactive + skip - para pipelines CI/CD
claude -p "rode os testes e corrija falhas" --dangerously-skip-permissions
📂 Trabalhando com Arquivos
Claude Code pode ler, editar e criar arquivos diretamente no seu sistema de arquivos usando linguagem natural. Você não precisa copiar conteúdo para o terminal — basta descrever o que quer.
📋 Exemplos reais de pedidos
> Leia o arquivo app.py e explique o que ele faz
CC lê o arquivo e retorna um resumo claro da estrutura e função de cada parte
> Edite o arquivo config.json e adicione a chave "debug": true
CC lê, modifica e salva o arquivo — pedindo confirmação no modo padrão
> Crie um novo arquivo utils.py com funções auxiliares para validação
CC cria o arquivo do zero com o conteúdo especificado
> Liste todos os arquivos .py neste projeto e me diga quais têm mais de 100 linhas
CC usa ferramentas de busca para encontrar e analisar arquivos
💡 Dica: mencione o caminho do arquivo
Sempre que possível, mencione o caminho relativo do arquivo no pedido. "Edite src/models/user.py" é mais preciso que "edite o modelo de usuário" — especialmente em projetos com muitos arquivos.
🌿 Usando Git com Claude Code
Claude Code pode executar qualquer operação git em linguagem natural. A grande vantagem é que ele entende o que mudou no código e escreve mensagens de commit mais descritivas do que a maioria dos desenvolvedores escreveria manualmente.
🌿 Pedidos git que funcionam
# Commit com mensagem automática
> Faça commit das mudanças com uma mensagem descritiva
# Ver o que mudou
> Mostre o diff do que mudou desde o último commit
# Criar branch
> Crie uma nova branch chamada feature/autenticacao
# Resolver conflitos
> Resolva os conflitos de merge no arquivo models/user.py
# Histórico resumido
> Mostre os últimos 5 commits com o que foi alterado em cada um
# Reverter mudança
> Reverta as mudanças no arquivo config.py sem criar commit
📊 Por que CC escreve commits melhores
- Analisa o diff completo — não só o nome do arquivo, mas o que realmente mudou
- Segue convenções — se o CLAUDE.md define Conventional Commits, ele segue sem falhar
- Descreve o porquê — não apenas "update user.py" mas "fix: corrige validação de email que aceitava domínios sem TLD"
⚠️ Atenção com operações destrutivas
Para operações como git reset --hard, git push --force ou rebase, o CC no modo padrão pedirá confirmação explícita. Sempre revise antes de confirmar operações que reescrevem o histórico.
✅ Resumo do Módulo 5.1
Próximo Módulo:
5.2 — 📄 CLAUDE.md: a memória persistente que melhora cada sessão automaticamente