Skip to main content
Conteúdo do guia

Conteúdo do guia

Tempo de leitura: 20 min
#automation#claude_code#cli#terminal#ai_tools
Iniciante20 min

Claude Code: guia para iniciantes

Guia completo sobre o uso do Claude Code da Anthropic: instalação da CLI, autenticação, gerenciamento de permissões, atalhos de teclado e desenvolvimento passo a passo do primeiro projeto.

Publicado:
PARA AGENTE DE IAChatGPTClaude

Claude Code é a interface de linha de comando oficial da Anthropic, capaz de ler código-fonte, aplicar edições, executar comandos e interagir com o git diretamente no terminal por meio de um diálogo natural em linguagem humana. Não se trata de uma janela separada de webchat onde você precisa copiar o código manualmente, mas sim de um agente autônomo completo que opera diretamente dentro do seu projeto.

Este guia é o ponto de partida para começar rapidamente com o Claude Code. O material está dividido em três blocos lógicos:

  • Módulo 1 — Instalação e configuração básica: implantação da CLI, autenticação via API ou OAuth, primeiro uso e visão geral dos arquivos de configuração.
  • Módulo 2 — Sessão de trabalho e interação: gerenciamento de contexto, atalhos de teclado, slash commands, modo não interativo e otimização de memória (/compact).
  • Módulo 3 — Segurança e modelo de permissões: configuração dos arquivos settings.json, criação de listas de permissão (allow) e negação (deny) para comandos bash.

Cada módulo é consolidado por um exercício prático de criação, refinamento e finalização de um componente web real em Next.js.


1. O que é o Claude Code e requisitos do sistema

1.1. O que é o Claude Code e suas diferenças em relação ao webchat

O Claude Code integra-se ao seu stack de desenvolvimento diário como um assistente de terminal. Diferentemente de um webchat tradicional, o agente possui um conjunto de ferramentas (Tools):

  • Leitura e busca: inspeciona arquivos individuais, encontra ocorrências via expressões regulares (grep) e navega pela estrutura do projeto (glob).
  • Modificação de código: gera alterações pontuais nos arquivos através de mecanismos de patch/diff, evitando a reescrita completa de arquivos grandes.
  • Execução de comandos do sistema: roda testes, compiladores, linters e comandos git, com capacidade de analisar códigos de retorno e erros de compilação.

1.2. Requisitos do sistema e preparação do ambiente

Antes de instalar, certifique-se da presença dos componentes necessários:

  • Sistema operacional: macOS, distribuição Linux moderna ou Windows via subsistema WSL2.
  • Ambiente de execução: Node.js versão 18.0 ou superior (verifique com node -v).
  • Sistema de controle de versões: Git versão 2.20+ (verifique com git --version).
  • Acesso aos modelos da Anthropic: chave de API ativa da Anthropic Console ou conta com plano Claude Max.

2. Instalação e autenticação

2.1. Instalação da CLI via npm e gerenciador de pacotes

O Claude Code é distribuído como um pacote global no registro npm. Execute o comando de instalação no terminal:

bash
npm install -g @anthropic-ai/claude-code

Verifique a correção da instalação do binário:

bash
claude --version

Se o terminal retornar o erro command not found, isso indica que o caminho dos pacotes globais do npm não está presente na variável de ambiente PATH. A solução detalhada é apresentada no bloco de diagnóstico abaixo.

2.2. Autenticação e vinculação da conta Anthropic

São suportados dois métodos de autorização:

Opção 1 — Chave da API Anthropic:
Especifique o token através de uma variável de ambiente:

bash
export ANTHROPIC_API_KEY="sk-ant-ваш-ключ-api"

Para que a chave seja mantida entre reinicializações do terminal, adicione o comando ao arquivo de configuração do seu shell:

bash
echo 'export ANTHROPIC_API_KEY="sk-ant-ваш-ключ-api"' >> ~/.zshrc source ~/.zshrc

Opção 2 — Assinatura Claude Max (OAuth):
Se você utiliza a assinatura Claude Max ($100 ou $200/mês), faça login sem usar uma chave de API separada:

bash
claude login

O comando abrirá uma sessão no seu navegador padrão para confirmar o acesso.


3. Primeiro uso e configuração básica

3.1. Primeira execução no projeto e verificação do ambiente

Navegue até o diretório de qualquer um dos seus projetos de código e inicialize o Claude Code:

bash
cd ~/my-project claude

Após a execução, você entrará em um ambiente de linha de comando interativo. Tente enviar uma consulta básica de teste:

text
Summarize the structure of this project and list the main technologies used.

O Claude revisará automaticamente os arquivos package.json, configurações de build e a estrutura de diretórios, formulando em seguida um breve relatório introdutório.

3.2. Configuração básica e resolução de problemas (Troubleshooting)

Os arquivos de configuração estão localizados no diretório ~/.claude/:

  • ~/.claude/settings.json — permissões globais e restrições de acesso às ferramentas.
  • ~/.claude/CLAUDE.md — instruções de sistema pessoais do usuário.
  • .claude/settings.json — configurações do projeto (fixadas no sistema de controle de versões).
  • CLAUDE.md — instruções a nível de repositório (arquitetura, regras de linting).
Problema durante a execuçãoCausa raizSolução de engenharia
claude: command not foundDiretório bin do npm não adicionado ao PATHAdicione o caminho ao shell: export PATH="$(npm config get prefix)/bin:$PATH"
Erro de autorização 401 UnauthorizedChave de API inválida ou expiradaExecute claude logout, verifique o valor de ANTHROPIC_API_KEY e repita claude login
Inicialização lenta da sessãoIndexação de repositório grandeA primeira execução requer análise da árvore de arquivos; as iterações subsequentes utilizam cache

4. Prática: criando a primeira aplicação

4.1. Algoritmo passo a passo para implantar o protótipo

O objetivo do primeiro exercício é criar, na prática, um componente cliente mínimo Next.js / React usando o Claude Code:

  1. Peça ao Claude para criar um novo arquivo de página app/practice/page.tsx.
  2. Instrua-o a descrever um estado simples de carregamento e um botão para chamar um endpoint de teste.
  3. Verifique a funcionalidade da interface acessando http://localhost:3000/practice.

4.2. Template inicial do componente e verificação local

O código base do protótipo:

tsx
// app/practice/page.tsx 'use client'; import { useState } from 'react'; export default function PracticePage() { const [result, setResult] = useState(''); const [loading, setLoading] = useState(false); async function runTest() { setLoading(true); try { const response = await fetch('/api/test'); const data = await response.json(); setResult(data.message || 'Запит виконано успішно'); } catch { setResult('Помилка виконання тестового запиту'); } finally { setLoading(false); } } return ( <div className="p-8 max-w-2xl mx-auto font-sans"> <h1 className="text-3xl font-bold mb-6">Практична вправа 1: Прототип</h1> <button onClick={runTest} disabled={loading} className="bg-black text-white px-6 py-3 rounded-lg hover:bg-neutral-800 disabled:opacity-50 transition" > {loading ? 'Виконується...' : 'Запустити тест'} </button> {result && ( <div className="mt-6 p-4 bg-neutral-100 rounded-lg border border-neutral-200"> {result} </div> )} </div> ); }

5.1. Iniciando uma sessão REPL interativa

Para o desenvolvimento cotidiano, navegue até o diretório de trabalho e ative o loop interativo de leitura-execução (REPL):

bash
cd ~/my-project claude

O Claude mantém o contexto da conversa durante a sessão, lembrando dos arquivos alterados e dos erros detectados. A comunicação ocorre em linguagem natural, sem sintaxe formalizada.

5.2. Ciclo de diálogo: planejamento, ferramentas e execução

O funcionamento do agente segue um ciclo de cinco etapas:

mermaid
flowchart TD A["Користувач ставить завдання природною мовою"] --> B["Claude аналізує кодову базу та формує план"] B --> C["Агент запитує дозвіл на модифікацію файлів/команд"] C --> D["Виконання затверджених дій та валідація дифу"] D --> E["Користувач перевіряє результат та надає фідбек"]

Um trecho típico de interação:

  • Consulta: Adicione um indicador de carregamento à página do dashboard.
  • Análise: O Claude lê app/dashboard/page.tsx e identifica a ausência de tratamento para espera de dados.
  • Proposta: Criação do componente loading.tsx e envolvimento do bloco dentro de limites Suspense.
  • Resumo: O agente apresenta um diff pontual e aguarda sua aprovação.

6. Atalhos, comandos e modos de operação

6.1. Atalhos de teclado e slash commands para gerenciamento de contexto

A navegação eficiente no terminal baseia-se em abreviações do sistema:

CombinaçãoFinalidade
EnterEnvio da mensagem atual ao agente
EscapeCancelamento imediato da geração ativa ou execução de ferramenta
Ctrl+CEncerramento correto da sessão do Claude Code
Up / DownNavegação pelo histórico anterior de consultas
Shift+TabAlternância entre entrada de linha única e múltiplas linhas

Comandos internos especiais (slash commands) para controle do ambiente:

  • /help — lista de diretivas disponíveis.
  • /clear — reset da história atual de mensagens.
  • /compact — compressão da janela de contexto para economizar tokens sem perder a essência.
  • /model — troca rápida do modelo atual (por exemplo, alternar entre Sonnet e Opus).
  • /permissions — verificação das permissões ativas para chamadas de utilitários do sistema.

6.2. Modo não interativo e dicas para trabalho eficaz

Para usar o Claude Code em scripts de automação ou operações únicas, utilize a flag -p (print):

bash
# Отримання швидкої довідки про проєкт claude -p "Яку базу даних використовує цей проєкт?" # Передача логів для аналізу через пайплайн cat error.log | claude -p "Знайди першопричину збою та запропонуй рішення"

💡 Recomendações para estabilidade:

  • Formule requisitos especificamente: em vez de “corrija o formulário”, escreva “adicione debounce ao handler de clique do botão de envio do formulário”.
  • Execute /compact regularmente quando o comprimento do diálogo exceder 30–40 passos.

7. Prática: refinando a aplicação

7.1. Refatoração e melhoria da base de código via Claude

Na segunda parte prática, expandiremos o protótipo criado, instrindo o Claude a aprimorar o tratamento de estados limite e a tipagem.

Envie ao agente a seguinte instrução:

text
Abra app/practice/page.tsx. Adicione tipagem TypeScript estrita e correta, um bloco de tratamento de erros try/catch que exiba a mensagem de erro em fundo vermelho, e adicione um spinner CSS animado durante o carregamento.

7.2. Expansão de funcionalidades: estilização, tratamento de erros e animação

O código atualizado da página:

tsx
// app/practice/page.tsx - Доопрацьована версія 'use client'; import { useState } from 'react'; export default function PracticePage() { const [result, setResult] = useState<string | null>(null); const [error, setError] = useState<string | null>(null); const [loading, setLoading] = useState(false); async function runTest() { setLoading(true); setError(null); try { const response = await fetch('/api/test'); if (!response.ok) throw new Error(`Помилка сервера: код ${response.status}`); const data = await response.json(); setResult(data.message || 'Операцію успішно завершено'); } catch (err: unknown) { setError(err instanceof Error ? err.message : 'Сталася непередбачена помилка'); } finally { setLoading(false); } } return ( <div className="p-8 max-w-2xl mx-auto font-sans"> <h1 className="text-3xl font-bold mb-4">Практична вправа 2: Доопрацювання</h1> <p className="text-neutral-600 mb-6">Тестування обробки винятків та динамічних станів.</p> <button onClick={runTest} disabled={loading} className="flex items-center gap-2 bg-black text-white px-6 py-3 rounded-lg hover:bg-neutral-800 disabled:opacity-50 transition" > {loading && ( <span className="w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin" /> )} {loading ? 'Обробка запиту...' : 'Виконати дію'} </button> {error && ( <div className="mt-6 p-4 bg-red-50 text-red-700 rounded-lg border border-red-200"> {error} </div> )} {result && ( <div className="mt-6 p-4 bg-neutral-100 text-neutral-800 rounded-lg border border-neutral-200"> {result} </div> )} </div> ); }

8. Modelo de permissões e segurança

8.1. Arquitetura do modelo de permissões e níveis de risco das ferramentas

O sistema de segurança do Claude Code classifica todas as operações disponíveis em duas categorias fundamentais conforme o nível de risco potencial:

Nível de acessoOperações disponíveisMecanismo de execução
Seguras (Read-only)Read, Grep, Glob, listagem de diretóriosExecutadas automaticamente sem solicitações ao usuário
Potencialmente perigosasEdit, Write, Bash, exclusão de arquivos, git pushRequerem confirmação explícita antes da execução

8.2. Mecânica de aprovação e rejeição de ações potencialmente perigosas

Antes de executar uma ação arriscada, o Claude pausa a execução e exibe uma solicitação:

text
Claude wants to run: npm install express Allow? (y/n/always)

As opções disponíveis são:

  • y (yes) — aprovar esta chamada específica única.
  • n (no) — rejeitar a ação indicando o motivo da recusa.
  • always (ou a) — conceder permissão para chamar esta ferramenta até o final da sessão de trabalho atual.

9. Arquivos de configuração e gestão de direitos

9.1. Arquivos de configuração globais e de projeto (settings.json)

Para fixar regras permanentes, crie ou edite o arquivo global ~/.claude/settings.json:

json
{ "permissions": { "allow": [ "Read", "Glob", "Grep", "Edit", "Write", "Bash(npm run *)", "Bash(git status)" ], "deny": [ "Bash(rm -rf *)", "Bash(sudo *)" ] } }

9.2. Padrões para comandos bash e verificação via /permissions

A seção permissions.allow suporta máscaras de busca flexíveis (glob patterns):

  • Bash(npm test *) — permite a execução de pacotes de teste sem confirmações.
  • Bash(git commit *) — permite a fixação de mudanças.
  • Bash(rm -rf *) na lista deny — garante o bloqueio absoluto de exclusão massiva de dados.

Para visualizar as regras vigentes a qualquer momento da sessão, execute o comando /permissions.


10. Melhores práticas de segurança e operação

10.1. Estratégia de controle de acesso: princípio do menor privilégio

  • Expansão gradual de direitos: Comece o trabalho com moderação totalmente manual. Adicione comandos à lista allow apenas após garantir a estabilidade do comportamento do agente.
  • Proibição de wildcard para bash: Nunca especifique "Bash(*)" nas ferramentas permitidas — isso anula completamente a sandbox de proteção.
  • Uso ativo de deny: Bloqueie explicitamente utilitários destrutivos (sudo, mkfs, dd) para impedir danos acidentais ao sistema.

10.2. Proteção de segredos do ambiente e auditoria cuidadosa dos diffs

  • Isolamento de tokens: O Claude Code tem acesso às variáveis de ambiente do shell atual. Não mantenha chaves críticas de bancos de dados de produção na sessão de trabalho.
  • Revisão do diff antes da aprovação: Analise sempre o diff proposto para edição de arquivo, a fim de detectar a tempo a remoção acidental de módulos adjacentes.

11. Prática: versão final da aplicação

11.1. Versão protegida da aplicação

Este guia é totalmente gratuito. Se ele te poupou uma noite, você pode apoiar o crescimento do projeto.
Apoiar o autor