🤖

Claude Code per Svogliati

La guida all'IA che scrive codice, legge file, esegue comandi e fa il lavoro sporco mentre tu pensi a cosa ordinare per pranzo.

Da "cos'è un token" a "ho delegato il 90% del mio lavoro a un robot"

"Il vero ingegnere pigro non automatizza il lavoro. Chiede a un'IA di automatizzare il lavoro per lui."

Capitolo 01

Che Cavolo È Claude Code?

Non è ChatGPT. Non è un plugin. Non è Copilot. È molto peggio (per la tua produttività).

🎲 Analogia per Svogliati

Immagina di avere un collega junior instancabile che non dorme mai, non va in pausa pranzo, non si lamenta, legge qualsiasi file in un secondo, e fa tutto quello che gli dici. Il problema? Ogni tanto inventa cose che non esistono con una sicurezza impressionante. È il tirocinante più bravo e più pericoloso che tu abbia mai avuto.

💻 CLI, non Chat

Claude Code è un tool da terminale. Lo lanci, gli parli, e lui legge file, scrive codice, esegue comandi, crea commit, apre PR. Tutto dal terminale. Zero interfaccia grafica. Come piace a noi.

💡 Disponibile anche come app desktop (Mac/Windows), web app (claude.ai/code), e estensioni IDE (VS Code, JetBrains). Ma il terminale resta la via dello svogliato supremo.

⚠️ Claude Code ≠ ChatGPT

ChatGPT è una chat. Gli scrivi, ti risponde. Fine.
Claude Code è un agente. Gli dici "sistema questo bug", e lui legge i file, trova il problema, edita il codice, esegue i test, e ti dice "fatto". Tu nel frattempo stavi su Reddit.

⚠️ Claude Code usa i modelli Claude di Anthropic (Opus, Sonnet, Haiku). Non è OpenAI. Se dici "usa GPT-4" ti guarda male (metaforicamente).

💔 Senza Claude Code

Apri ChatGPT → copia il codice → incolla nel file → non funziona → torna su ChatGPT → "non funziona" → copia → incolla → errore diverso → 47 tab aperte → 😵

VS

💚 Con Claude Code

"fixxa il bug nel login" → legge i file → trova il problema → edita → testa → "fatto, vuoi che committo?" → 😎

🛠️ Come Claude Code Interagisce col Tuo Progetto
💤 Tu (lo svogliato) Scrivi il prompt prompt Claude Code Legge & Scrive file Esegue comandi bash Cerca nel codebase Crea commit & PR Lancia sub-agent Modello: Opus / Sonnet / Haiku Read/Edit/Bash Il Tuo Progetto 📁 src/ 📁 tests/ 📄 package.json 📄 CLAUDE.md 📄 .git/ + Terminale + Git + Web risultato / "fatto, capo"
📄

Legge File

Qualsiasi file del progetto, immagini incluse

✏️

Edita Codice

Modifica chirurgica o riscrittura completa

💻

Esegue Comandi

npm, git, docker, qualsiasi cosa nel terminale

🔍

Cerca nel Codice

Grep, glob, ricerca semantica nel codebase

🌐

Naviga il Web

Fetch di pagine, ricerche web, documentazione

🤖

Lancia Agenti

Sub-agenti paralleli per task complessi

Capitolo 02

Come Funziona (Davvero)

Il loop Prompt → Pensa → Tool → Risultato che fa la magia

🎲 Analogia per Svogliati

Immagina un cuoco che non ha la ricetta. Gli dici "fammi una carbonara". Lui pensa a cosa serve, apre il frigo (legge file), prende gli ingredienti (cerca nel codice), cucina (edita/esegue), e poi ti chiede "va bene così?". Se dici "troppo sale", aggiusta. Questo è il loop di Claude Code.

🔄 L'Agent Loop — Come Ragiona Claude Code
1. PROMPT Tu scrivi cosa vuoi "fixxa il bug nel file auth.js" 2. PENSA Analizza il contesto Decide quali tool usare e in che ordine 3. TOOL Read, Edit, Bash, Grep, Glob, Agent, WebSearch... 4. RISULTATO Mostra cosa ha fatto Chiede conferma o continua il loop Se serve altro → ripete il loop

🛠️ I Tool a Disposizione

Claude Code non è solo una chat. Ha accesso a strumenti reali che usa autonomamente:

ToolCosa faEsempio
ReadLegge un fileLegge src/auth.js per capire il bug
EditModifica chirurgica di un fileCambia la riga 42 con il fix
WriteCrea o sovrascrive un fileCrea un nuovo componente da zero
BashEsegue un comando nel terminalenpm test, git status
GrepCerca pattern nel codiceTrova tutte le occorrenze di TODO
GlobTrova file per patternTrova tutti i *.test.ts
AgentLancia un sub-agenteAgente parallelo per esplorare il codebase
WebSearchCerca sul webCerca documentazione di una libreria
WebFetchScarica una pagina webLegge la docs di un'API
💡 Il bello? Non devi dirgli quale tool usare. Gli dici cosa vuoi, e lui decide da solo. "Trova tutti i file dove si usa la funzione X" → usa Grep automaticamente. "Crea un test per Y" → Read + Write + Bash (per eseguire il test).
Capitolo 03

Installazione

3 comandi e sei operativo. Lo svogliato approva.

📦 Installazione Rapida

terminale
# Installa Claude Code globalmente
npm install -g @anthropic-ai/claude-code

# Vai nella cartella del tuo progetto
cd il-tuo-progetto/

# Lancia Claude Code
claude

# La prima volta ti chiede di autenticarti
# Segui le istruzioni per collegare il tuo account Anthropic
💰 Costa soldi. Claude Code usa l'API di Anthropic, che si paga a token (quanto testo mandi/ricevi). Con il piano Pro ($20/mese) o Max ($100-200/mese) hai un tot di utilizzo incluso. Oppure paghi a consumo con l'API key. Capitolo 10 è dedicato al risparmio token.

🔑 Autenticazione

Hai 2 opzioni:

1. Account Anthropic (consigliato) — colleghi il tuo account claude.ai e usi i token inclusi nel tuo piano Pro/Max.

2. API Key — generi una chiave su console.anthropic.com e paghi a consumo. Più flessibile, più pericoloso per il portafoglio.

terminale
# Con API key (in variabile d'ambiente)
export ANTHROPIC_API_KEY="sk-ant-..."
claude

⚙️ Requisiti

Quello che ti serve:

Node.js 18+ — se non ce l'hai, stai vivendo nel passato

npm — viene con Node

Account Anthropic — o API key

Un progetto — Claude Code funziona meglio dentro una cartella di progetto con codice vero

Git — opzionale ma consigliato (Claude Code sa fare commit e PR)

🚀 Primo Lancio

Quando lanci claude nella cartella del progetto, succede questo:

1

Scansiona il progetto

Legge la struttura delle cartelle, trova i file importanti, cerca un CLAUDE.md per le istruzioni personalizzate.

2

Ti mostra il prompt

Appare la riga di input. Scrivi cosa vuoi. In italiano, in inglese, come ti pare. Non è un esame.

3

Chiede permessi

La prima volta che vuole leggere un file, editare qualcosa, o eseguire un comando, ti chiede "posso?". Puoi dire sì, no, o "sì sempre".

4

Lavora

Fa il suo loop: pensa, usa tool, mostra risultati. Tu guardi. O guardi il telefono. Nessuno ti giudica.

Capitolo 04

I Comandi che Devi Sapere

Slash command, scorciatoie, e i trick che ti faranno sembrare un pro

⌨️ Comandi da Terminale (prima di lanciare claude)

ComandoCosa fa
claudeLancia la sessione interattiva nella cartella corrente
claude "fai X"Lancia con un prompt iniziale diretto
claude -p "fai X"Modalità print: esegue, stampa il risultato, esce. Perfetto per script
claude -cContinua l'ultima conversazione (riprendi dove avevi lasciato)
claude -rRiprendi una sessione specifica
cat file | claude "analizza"Pipe: passa l'output di un comando come contesto

🔌 Slash Command (dentro la sessione)

Questi li scrivi dentro Claude Code, non nel terminale:

ComandoCosa faQuando usarlo
/helpMostra l'aiutoQuando non sai cosa fare (come nella vita)
/clearPulisce la conversazioneQuando il contesto è troppo pieno
/compactComprime la conversazioneFONDAMENTALE per risparmiare token
/costMostra quanto hai spesoQuando vuoi deprimerti
/commitCrea un commit GitDopo aver fatto modifiche
/reviewRevisiona le modifichePrima di committare
/fastToggle modalità veloceStesso modello, output più rapido

⌨️ Scorciatoie da Tastiera

TastoCosa fa
EnterA capo (nella finestra di input multilinea)
Ctrl+J / Opt+EnterInvia il messaggio
EscAnnulla l'operazione corrente / torna indietro
Esc + EscEsce da Claude Code
TabAccetta il suggerimento / autocomplete
! comandoEsegui un comando shell senza uscire da Claude
💡 Pro tip: ! npm test esegue i test direttamente nella sessione Claude. L'output entra nel contesto, così Claude può vedere gli errori e fixarli subito.

🔐 Permessi — La Cosa Più Importante

Claude Code chiede permesso prima di fare cose. Hai 3 modalità:

🔒

Default

Chiede per ogni azione. Sicuro ma lento. Per i paranoici.

🔓

Auto-allow

Approva automaticamente lettura e scrittura file. Più fluido.

🔥

YOLO Mode

Approva TUTTO automaticamente. Per i coraggiosi (o gli incoscienti). Usa --dangerously-skip-permissions.

💀 YOLO Mode: Claude Code può eseguire rm -rf senza chiederti niente. Non usarlo su produzione. Non usarlo su niente che ti importa. In realtà, probabilmente non usarlo e basta.
Capitolo 05

Prompt Engineering per Pigri

Come chiedere le cose per ottenere risultati, non allucinazioni

🎲 Analogia per Svogliati

Scrivere un buon prompt è come ordinare al ristorante. Se dici "portami qualcosa di buono" non lamentarti se arriva la trippa. Se dici "pasta alla carbonara, guanciale croccante, niente panna, per uno" — il risultato è esattamente quello che vuoi.

💔 Prompt Pigro

"fixxa il bug"

Quale bug? Dove? Cosa succede? Claude deve indovinare tutto.

VS

💚 Prompt Svogliato Efficiente

"il login in src/auth.ts ritorna 500 quando l'utente ha spazi nel nome. Fixxa senza rompere i test esistenti."

Chiaro, specifico, con vincoli. Claude sa esattamente cosa fare.

🎯 Le 5 Regole d'Oro del Prompt

1

Di' COSA vuoi, non COME farlo

Non: "apri il file X, cerca la riga Y, cambia Z". Sì: "il componente Header non gestisce il dark mode, aggiungilo". Claude è bravo a decidere il come.

2

Dai contesto

"il file auth.ts", "nella cartella src/components", "come fatto per il componente Footer". Più contesto = meno allucinazioni = meno token sprecati.

3

Metti vincoli

"senza rompere i test", "usa TypeScript strict", "non aggiungere dipendenze". I vincoli evitano che Claude si lanci in refactor epici non richiesti.

4

Un task alla volta

Non: "fixxa il bug, aggiungi i test, refactora il modulo, e aggiorna la docs". Fai una cosa, verifica, poi la prossima. Meno confusione, meno token.

5

Correggi subito

Se Claude va nella direzione sbagliata, fermalo subito con Esc e correggi. Non lasciarlo finire 47 modifiche sbagliate — spreca token e tempo.

💬 Esempio dal Vivo

💡 lo svogliato pensa
"Il form di registrazione non valida l'email..."
Tu
In src/components/RegisterForm.tsx la validazione email accetta stringhe senza @. Aggiungi una regex di validazione nel handleSubmit. Il pattern dei test è in tests/components/ — aggiungi un test per email invalide.
Claude Code
Ho letto RegisterForm.tsx e trovato il problema alla riga 34: il campo email viene passato direttamente senza validazione. Ho aggiunto una regex di validazione prima del submit e creato 3 test case. I test passano tutti. Vuoi che faccia il commit?
💤 lo svogliato
"...e io non ho nemmeno aperto il file."
Capitolo 06

CLAUDE.md — Il Tuo Manuale per l'IA

Il file che trasforma Claude da "collega nuovo" a "collega che sa come lavori"

🎲 Analogia per Svogliati

CLAUDE.md è come il foglio di istruzioni che lasci al tuo sostituto quando vai in ferie. "Il deploy si fa così, i test si lanciano cosà, non toccare MAI quel file, il capo vuole le cose in questo formato." Senza quel foglio, il sostituto fa casino. Con quel foglio, quasi quasi puoi restare in ferie.

📄 Cos'è CLAUDE.md

Un file Markdown nella root del progetto che Claude Code legge automaticamente a ogni sessione. Ci metti:

  • Come è strutturato il progetto
  • Comandi per build, test, lint
  • Convenzioni di codice (naming, pattern, ecc.)
  • Cose da NON fare
  • Contesto su architettura e decisioni

✏️ Esempio di CLAUDE.md

CLAUDE.md
# Progetto: E-commerce Svogliati

## Comandi
- Build: `npm run build`
- Test: `npm test`
- Test singolo: `npm test -- --grep "nome test"`
- Lint: `npm run lint`
- Dev server: `npm run dev` (porta 3000)

## Struttura
- src/components/ — React components (PascalCase)
- src/hooks/ — Custom hooks (useCamelCase)
- src/api/ — Chiamate API (REST, no GraphQL)
- src/utils/ — Utility pure functions
- tests/ — Mirror di src/ con .test.ts

## Convenzioni
- TypeScript strict mode
- Niente `any` (mai, davvero, mai)
- Componenti funzionali, no classi
- CSS Modules, no inline styles
- Import assoluti con alias @/

## NON fare
- NON modificare src/legacy/ (in fase di migrazione)
- NON aggiungere dipendenze senza chiedere
- NON usare console.log (usa il logger custom)
- NON committare su main direttamente

📁 Dove Metterlo

Ci sono 3 livelli di CLAUDE.md:

1. Progetto./CLAUDE.md nella root. Il più importante.

2. Sottocartella./src/CLAUDE.md per regole specifiche di un modulo.

3. Utente~/.claude/CLAUDE.md per le tue preferenze globali (stile, lingua, ecc.).

💡 I file si combinano: Claude legge tutti quelli che trova, dal più generale al più specifico.

💰 Perché Ti Fa Risparmiare

Senza CLAUDE.md, devi ripetere le stesse istruzioni a ogni sessione:

"Usa TypeScript, non aggiungere any, i test sono in tests/, usa il logger..."

Con CLAUDE.md, queste info sono automatiche. Risparmi:

Token — non ripeti istruzioni

Tempo — Claude sa già come lavori

Errori — meno "scusa, volevo dire che..."

Capitolo 07

Skills & Slash Command

I superpoteri preconfigurati per lo svogliato che non vuole nemmeno scrivere il prompt

🎲 Analogia per Svogliati

Le Skills sono come i numeri rapidi del telefono. Invece di digitare tutto il numero ogni volta, premi 1 e chiami mamma. Premi /commit e Claude fa il commit perfetto senza che tu debba spiegare come vuoi il messaggio.

Skills Built-in

Queste sono già pronte all'uso:

SkillCosa faLivello Pigrizia
/commit Analizza le modifiche, scrive un messaggio di commit sensato, committa MASSIMO
/review Code review automatica delle modifiche in corso MASSIMO
/simplify Revisiona il codice modificato per qualità e semplicità ALTO
/fast Attiva/disattiva output veloce (stesso modello, più rapido) MEDIO
/compact Comprime la conversazione per risparmiare token RISPARMIO

🔧 Skills Custom — Crea i Tuoi

Puoi creare le tue skills personalizzate. Sono file Markdown in .claude/commands/:

.claude/commands/deploy.md
# Quando l'utente scrive /deploy, Claude esegue:

Esegui il deploy seguendo questi step:
1. Lancia i test con `npm test`
2. Se passano, fai build con `npm run build`
3. Committa con messaggio "deploy: [descrizione]"
4. Pusha su origin
5. Mostrami il risultato

Se un test fallisce, fermati e mostrami l'errore.
NON procedere con il deploy se i test falliscono.
terminale
# Ora puoi usarlo così:
/deploy

# Ed è come se avessi scritto tutto quel prompt
# Ma con un solo comando. La pigrizia al potere.
💡 Idea: Crea una skill /pr che crea una Pull Request con titolo, descrizione e test plan. Una skill /fix-lint che lancia il linter e fixxa automaticamente. Una skill /morning che ti fa il riassunto di cosa è cambiato nel repo. Il limite è la tua fantasia (e il tuo budget token).
Capitolo 08

Agents & Sub-Agents

Quando un'IA non basta, ne lanci tre in parallelo

🎲 Analogia per Svogliati

Il main agent è il capo cantiere. Quando il lavoro è grosso, chiama dei sottoposti (sub-agent) e gli dice "tu vai a controllare le fondamenta, tu vai a verificare l'impianto elettrico, tu misura le finestre". Lavorano in parallelo, ognuno con il suo compito, e poi riportano al capo che fa il quadro completo.

🤖 Come Funzionano gli Agent Paralleli
🤖 MAIN AGENT "Analizza tutto il progetto" 🔍 Explore Agent Esplora il codebase Cerca file e pattern Mappa l'architettura 📋 Plan Agent Progetta la strategia Identifica file critici Valuta trade-off 🛠️ General Agent Task multi-step Ricerca complessa Qualsiasi cosa Risultati combinati → Risposta finale

🔍 Explore Agent

Specializzato nell'esplorare il codebase. Veloce nel trovare file, pattern, capire l'architettura. Usalo quando:

✓ "Come funziona il modulo di autenticazione?"

✓ "Trova tutti gli endpoint API"

✓ "Qual è il pattern usato per i test?"

💡 Claude lo lancia automaticamente quando serve. Non devi fare nulla.

📋 Plan Agent

L'architetto. Progetta la strategia prima di scrivere codice. Usalo per:

✓ Refactoring grandi

✓ Feature complesse

✓ Quando dici "come struttureresti..."

💡 Attivalo manualmente con "prima fammi un piano" o "pensa prima di agire".

🚀 Worktree — L'Agente in Sandbox

Ogni sub-agent può lavorare in un worktree isolato: una copia temporanea del repo dove può fare le sue modifiche senza toccare il tuo codice. Se le modifiche sono buone, vengono unite. Se no, si butta tutto.

💡 Tradotto: l'agente può sperimentare liberamente senza rischio di rompere il tuo lavoro. Come un tirocinante che lavora su una copia del progetto.
Capitolo 09

MCP Servers

Come dare a Claude Code accesso a tutto il resto del mondo

🎲 Analogia per Svogliati

Di default Claude Code sa leggere file ed eseguire comandi. MCP (Model Context Protocol) è come dargli il badge per entrare in altri edifici: database, Slack, GitHub, Gmail, Google Calendar, Jira, Figma... Ogni server MCP è un "badge" per un servizio diverso.

🔌 Come Claude Code si Connette al Mondo con MCP
🤖 Claude Code + MCP Client integrato Parla con i server MCP come se fossero tool nativi 📦 GitHub 💬 Slack 🗂️ Database 📧 Gmail 📅 Calendar 🎨️ Figma Ogni freccia = un server MCP (configurabile in settings.json)

⚙️ Come Configurare un MCP Server

Nel file .claude/settings.json del tuo progetto:

.claude/settings.json
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_..."
      }
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
    }
  }
}
⚠️ Attenzione: Non mettere token e API key direttamente nel file se lo committi su Git. Usa variabili d'ambiente o un file .env nel .gitignore.
📦

GitHub

Issues, PR, code search dal repo

🗂️

Database

Query SQL, schema, dati di test

💬

Slack

Leggi canali, invia messaggi

📧

Gmail

Leggi e gestisci le email

📅

Calendar

Eventi, disponibilità, scheduling

🛠️

Custom

Crea il tuo server MCP per qualsiasi API

Capitolo 10

Risparmiare Token (e Soldi)

Perché ogni token è un centesimo che se ne va. A volte anche due.

🎲 Analogia per Svogliati

I token sono come i dati del telefono. Ogni messaggio, ogni file letto, ogni risposta consuma dati. Se guardi Netflix in 4K (prompt vaghi su codebase enormi) finisci i giga in un'ora. Se guardi video in 480p (prompt precisi, contesto pulito) arrivi a fine mese.

💰 Quanto Costano i Token (Approssimativo)

Input (quello che mandi)

Haiku: ~$0.80/M tok Sonnet: ~$3/M tok Opus: ~$15/M tok

Output (quello che ricevi)

Haiku: ~$4/M tok Sonnet: ~$15/M tok Opus: ~$75/M tok
💰 Tradotto: Una sessione intensa con Opus può costare $5-20. Con Sonnet $1-5. Con un piano Pro/Max hai un tetto incluso. Monitora con /cost.

🎯 Le 8 Regole per Non Andare in Bancarotta

1

Usa /compact religiosamente

Quando la conversazione diventa lunga, /compact comprime il contesto mantenendo le info importanti. Meno contesto = meno token per ogni messaggio successivo.

2

Usa /clear quando cambi argomento

Se passi da "fixxa il bug" a "aggiungi una feature", pulisci. Il contesto del bug non serve più e paga token a vuoto.

3

CLAUDE.md è gratis (quasi)

Le istruzioni nel CLAUDE.md vengono caricate una volta sola per sessione. Meglio 20 righe in CLAUDE.md che ripetere le stesse istruzioni in 5 prompt diversi.

4

Prompt specifici, non vaghi

"Fixxa il bug in src/auth.ts riga 42" costa MOLTO meno di "c'è un bug da qualche parte nel login" (che forza Claude a leggere 20 file per trovarlo).

5

Ferma subito se va storto

Esc. Immediatamente. Se Claude sta andando nella direzione sbagliata, ogni secondo in più è token bruciati. Correggi e rilancia.

6

Sonnet per i task semplici

Non serve Opus per un rename di variabile. Sonnet è 5x più economico e per il 90% dei task basta e avanza. Opus solo per roba complessa.

7

Un task per sessione

Sessioni brevi e focalizzate. "Fixxa X" → verifica → /clear → "Aggiungi Y". Meno contesto accumulato = meno costo.

8

Controlla con /cost

Monitora la spesa. Se vedi che una sessione sta costando troppo, è il segnale per compattare o ricominciare.

💔 Lo Svogliato Sprecone

"c'è un bug" → Claude legge 40 file → trova niente → "ah, è nel login" → Claude rilegge → ~$3 bruciati per nulla

VS

💚 Lo Svogliato Efficiente

"bug in auth.ts:42, ritorna null invece dell'utente" → Claude legge 1 file → fixxa → ~$0.10

Capitolo 11

Trucchi da Svogliato Avanzato

I trick che ti fanno sembrare un 10x developer (sei un 0.1x che usa Claude Code)

📸 Screenshot come Prompt

Claude Code legge le immagini. Fai uno screenshot del bug, del design Figma, dell'errore nel browser, e passalo come input.

terminale
# Passa uno screenshot come contesto
claude "implementa questo design" --file screenshot.png

Sì, puoi letteralmente mandare uno screenshot di un mockup Figma e dirgli "fallo". Il futuro è adesso.

🔁 Pipe Everything

L'output di qualsiasi comando può diventare contesto per Claude:

terminale
# Log di errore come contesto
cat error.log | claude "cosa è andato storto?"

# Diff come contesto per code review
git diff | claude "review queste modifiche"

# Output di test falliti
npm test 2>&1 | claude "fixxa i test che falliscono"

🔄 Memory — Claude che Ricorda

Claude Code ha un sistema di memoria persistente. Ricorda cose tra una sessione e l'altra:

nella sessione claude
# Digli di ricordare qualcosa
"Ricorda che il deploy va fatto solo il martedì"

# Nella prossima sessione, lo sa già
"Posso deployare oggi?"
# "No, oggi è mercoledì. Il deploy va fatto solo il martedì."

Le memorie vengono salvate in ~/.claude/projects/ come file Markdown. Puoi anche editarle a mano.

🕑 Hooks — Automazioni

Gli hooks eseguono comandi automaticamente in risposta a eventi di Claude Code:

.claude/settings.json
{
  "hooks": {
    "afterEdit": [
      {
        "command": "npx prettier --write $FILE",
        "description": "Formatta dopo ogni edit"
      }
    ]
  }
}

Così ogni volta che Claude edita un file, Prettier lo formatta automaticamente. Zero sforzo.

🚀 Il Trick del "Fai tutto tu"

Il prompt più potente per lo svogliato supremo:

Tu
Ho bisogno di un endpoint REST che prenda una lista di email, verifichi quali sono già registrate nel database, e ritorni quelle non registrate. Usa il pattern esistente nel progetto. Aggiungi test. Fai il commit quando hai finito.
Claude Code
Fatto. Ho creato l'endpoint POST /api/emails/check in src/routes/emails.ts, seguendo il pattern di src/routes/users.ts. Ho aggiunto 4 test in tests/routes/emails.test.ts. Tutti i test passano. Ho committato con messaggio "feat: add email verification endpoint". Vuoi che apra una PR?
💤 lo svogliato
"...io non ho nemmeno aperto l'editor."

🛠️ Claude Code come Script Runner

La flag -p (print mode) lo rende perfetto per automazioni e script:

terminale / cron / CI
# Review automatica prima del commit (in un git hook)
claude -p "Controlla le modifiche staged per bug, security issue, e best practice. Rispondi solo OK o lista problemi."

# Generazione changelog automatica
git log --oneline -20 | claude -p "Genera un changelog da questi commit, raggruppato per tipo"

# Analisi di un file di log
claude -p "Analizza /var/log/app.log delle ultime 24h. Ci sono anomalie?"
Capitolo 12

SOS — Troubleshooting

Quando Claude Code fa i capricci (succede)

🔴 "Claude non vede i miei file"

Causa: Sei nella cartella sbagliata, o il file è in .gitignore e Claude lo rispetta.

Fix:

terminale
# Verifica di essere nella cartella giusta
pwd
# Lancia claude dalla root del progetto
cd /path/to/progetto && claude

🔴 "Ho finito i token / rate limit"

Causa: Hai raggiunto il limite del tuo piano o della tua API key.

Fix:

1. Controlla con /cost quanto hai speso

2. Usa /compact per ridurre il contesto

3. Aspetta il reset (piani Pro/Max hanno limiti orari/giornalieri)

4. Passa a Sonnet/Haiku per task semplici (costano meno)

5. Valuta un upgrade di piano se succede spesso

🔴 "Claude ha modificato il file sbagliato"

Causa: Prompt troppo vago, o Claude ha interpretato male.

Fix:

nella sessione claude
# Claude ha un "undo" integrato per le sue modifiche
# Ma il modo più sicuro è sempre Git:
git checkout -- path/al/file/sbagliato

# Oppure, se hai fatto un commit troppo in fretta:
git revert HEAD

Lezione: Committa spesso. Così puoi sempre tornare indietro. E questo vale con o senza IA.

🔴 "Claude hallucina / inventa cose"

Causa: Le IA a volte inventano funzioni, API, o librerie che non esistono. Con grande sicurezza.

Fix:

1. Verifica sempre le dipendenze che suggerisce (npm info pacchetto)

2. Esegui i test dopo ogni modifica

3. Sii specifico nel prompt: "usa SOLO le librerie già nel package.json"

4. Mettilo nel CLAUDE.md: "Non aggiungere dipendenze senza chiedere"

Regola d'oro: L'IA scrive il codice, tu lo verifichi. Sempre. Non fidarti mai al 100%.

🔴 "La sessione è diventata lentissima"

Causa: Contesto troppo grande. Ogni messaggio porta con sé tutta la storia della conversazione.

Fix:

1. /compact — comprime la conversazione

2. /clear — ricomincia da zero (se puoi)

3. Chiudi e rilancia claude per una sessione pulita

4. Usa claude -c se vuoi riprendere ma con contesto ridotto

💀 Regola universale: Git è il tuo salvavita. Committa prima di far fare a Claude modifiche grosse. Così puoi sempre fare git checkout . e tornare allo stato precedente. L'IA può sbagliare. Git no.
Capitolo 13

Cheat Sheet

La pagina che stampi (o bookmarki, siamo nel 2026)

Comandi Essenziali

Cosa vuoi fareComando
Lanciare Claude Codeclaude
Lanciare con prompt direttoclaude "fai X"
Continuare l'ultima sessioneclaude -c
Modalità script (no interattivo)claude -p "fai X"
Passare un file come contestocat file | claude "analizza"
Comprimere la conversazione/compact
Pulire la conversazione/clear
Vedere il costo/cost
Fare un commit/commit
Code review/review
Modalità veloce/fast
Eseguire un comando shell! npm test
Annullare l'operazione correnteEsc
UscireEsc + Esc

💡 Prompt Patterns che Funzionano

Tipo di TaskPattern di Prompt
Bug fix"In [file:riga] succede X invece di Y. Fixxa."
Nuova feature"Aggiungi [cosa] in [dove], seguendo il pattern di [esempio esistente]."
Refactor"Refactora [cosa] da [vecchio pattern] a [nuovo pattern]. Non rompere i test."
Test"Aggiungi test per [funzione] in [file]. Copri i casi: [lista]."
Capire codice"Spiegami come funziona [modulo/funzione]. Partendo dall'entry point."
Code review"Fai review di [file/diff]. Cerca bug, security issue, e bad practice."
Migrazione"Migra [file] da [vecchia lib] a [nuova lib]. Mantieni lo stesso comportamento."

💰 Quick Reference: Risparmio Token

💲

Economico

Prompt specifico + /compact + Sonnet

💰

Medio

Task singoli + /clear tra task + CLAUDE.md

🔥

Costoso

Prompt vaghi + contesto enorme + Opus per tutto