Per Iniziare
Installazione e Avvio
npm install -g @anthropic-ai/claude-code claude # avvia sessione interattiva claude --version # controlla versione claude update # aggiorna all'ultima versione
Autenticazione
claude login # OAuth via browser export ANTHROPIC_API_KEY="sk-ant-..." claude logout # cancella sessione
Comandi Slash
Comandi di Sessione
/helpMostra i comandi disponibili
/clearCancella la cronologia della conversazione
/compactComprime il contesto per risparmiare token
/costMostra utilizzo token e costo
/statusMostra info sessione e modello
/newAvvia una nuova conversazione
/configApre o visualizza la configurazione
/doctorDiagnostica problemi di configurazione
/initCrea un CLAUDE.md per il progetto
/loginAutentica con Anthropic
/logoutCancella l'autenticazione
Comandi Workflow
/bugSegnala un bug
/reviewRichiede una revisione del codice
/prCrea o aggiorna una pull request
/commitEsegue commit delle modifiche con messaggio
Scorciatoie da Tastiera
Ctrl+CAnnulla la generazione corrente
Ctrl+DEsci da Claude Code (EOF)
EscapeAnnulla input/modifica corrente
TabCompletamento automatico percorsi file e comandi
Su/GiùNaviga nella cronologia degli input
Flag CLI
Flag Comuni
-p, --printModalità non interattiva (headless)
--modelImposta modello: opus, sonnet, haiku
--output-formatOutput come text, json, stream-json
--allowedToolsLimita gli strumenti: Edit,Read,Bash
--max-turns NLimita i turni della conversazione
--debugAbilita logging di debug
-n, --nameAssegna un nome alla sessione
Headless / Scripting
claude -p "explain this error" < log.txt claude -p "list todos" --output-format json echo "fix typos" | claude -p
File di Configurazione
Gerarchia CLAUDE.md
./CLAUDE.mdIstruzioni a livello progetto (versionato nel repo)
./.claude/settings.jsonImpostazioni progetto (permessi, hook)
~/.claude/CLAUDE.mdIstruzioni globali utente (tutti i progetti)
~/.claude/settings.jsonImpostazioni globali utente
~/.claude/projects/*/CLAUDE.mdIstruzioni utente per progetto (non nel repo)
Variabili d'Ambiente
ANTHROPIC_API_KEYChiave API per autenticazione diretta
CLAUDE_MODELOverride del modello predefinito
CLAUDE_CONFIG_DIRPercorso directory di configurazione personalizzata
Permessi
settings.json
{ "permissions": { "allow": ["Read", "Glob", "Grep"], "deny": ["Bash(rm *)"] } }
Modalità Permessi
defaultChiede conferma prima di strumenti rischiosi
--dangerously-skip-permissionsConsente tutti gli strumenti (solo CI/script)
--allowedToolsFlag CLI per limitare il set di strumenti
Server MCP
Cosa Sono i Server MCP?
I server Model Context Protocol estendono Claude Code con strumenti personalizzati — database, API, servizi. Gestiti via CLI o `.mcp.json`.
Gestione via CLI
claude mcp add server-name -- cmd arg1 arg2 claude mcp list claude mcp remove server-name
Configurazione .mcp.json
{ "mcpServers": { "my-db": { "command": "python", "args": ["-m", "mcp_server_db"], "env": { "DB_URL": "${DATABASE_URL}" } } } }
Scope
.mcp.jsonServer MCP a livello progetto
~/.claude/mcp.jsonServer MCP globali utente
claude mcp add -s userAggiunge allo scope utente
claude mcp add -s projectAggiunge allo scope progetto
Hook
Eventi Hook
PreToolUseEseguito prima che uno strumento venga avviato
PostToolUseEseguito dopo che uno strumento è completato
NotificationEseguito quando Claude invia una notifica
StopEseguito quando Claude termina una risposta
Esempio settings.json
{ "hooks": { "PreToolUse": [{ "matcher": "Bash", "hooks": [{ "type": "command", "command": "check-command.sh $INPUT" }] }] } }
Comportamento degli Hook
exit 0Consente allo strumento di procedere
exit 2Blocca l'esecuzione dello strumento
stdoutFeedback JSON a Claude
SDK e Automazione
Scripting Headless
# Prompt singolo, output JSON claude -p "summarize main.py" \ --output-format json # Input da pipe git diff | claude -p "review this diff"
CI / GitHub Actions
- uses: anthropics/claude-code-action@v1 with: claude_args: > --max-turns 5 --model claude-sonnet-4-6
Consigli
Usa `--max-turns` per limitare i costi nell'automazione. Usa `--output-format json` per elaborare i risultati a livello di codice. Combina con `--allowedTools` per sicurezza.
Modelli
Selezione Modello
claude --model opus # più capace claude --model sonnet # bilanciato (predefinito) claude --model haiku # più veloce, meno costoso
Scorciatoie Modello
opusClaude Opus — massima capacità
sonnetClaude Sonnet — predefinito, bilanciato
haikuClaude Haiku — veloce ed economico
--model full-namees. claude-sonnet-4-6
Best Practice
Scrivere CLAUDE.md
Inserisci in CLAUDE.md le convenzioni del progetto, lo stack tecnologico, i comandi di build e le istruzioni di test. Mantienilo conciso — Claude lo legge ad ogni sessione. Usa `/init` per generarne uno.
Gestione dei Costi
/costControlla l'utilizzo corrente dei token
/compactComprimi il contesto quando cresce
--max-turnsLimita i turni nell'automazione
sonnet / haikuUsa modelli più economici per task semplici
Prompting Efficace
Sii specifico"Correggi il null check in auth.ts:42" > "correggi bug"
Fornisci contestoCita file, funzioni, messaggi di errore
Usa @fileRiferisci file direttamente: @src/main.ts
Usa immaginiTrascina screenshot per contesto visuale
IteraFai follow-up per raffinare; usa /clear per azzerare