Tutorial
Esempi pratici e modelli per utilizzare efficacemente Claude Code nel tuo flusso di lavoro di sviluppo.
Questa guida fornisce tutorial passo-passo per flussi di lavoro comuni con Claude Code. Ogni tutorial include istruzioni chiare, comandi di esempio e best practice per aiutarti a ottenere il massimo da Claude Code.
Indice
- Riprendere conversazioni precedenti
- Comprendere nuove basi di codice
- Risolvere bug in modo efficiente
- Refactoring del codice
- Lavorare con i test
- Creare pull request
- Gestire la documentazione
- Lavorare con le immagini
- Utilizzare il pensiero esteso
- Configurare la memoria del progetto
- Configurare il Model Context Protocol (MCP)
- Usare Claude come utility unix
- Creare comandi slash personalizzati
- Eseguire sessioni parallele di Claude Code con Git worktrees
Riprendere conversazioni precedenti
Continua il tuo lavoro senza interruzioni
Quando utilizzarlo: Hai lavorato a un’attività con Claude Code e hai bisogno di continuare da dove hai lasciato in una sessione successiva.
Claude Code offre due opzioni per riprendere conversazioni precedenti:
--continue
per continuare automaticamente la conversazione più recente--resume
per visualizzare un selettore di conversazioni
Continuare la conversazione più recente
Questo riprende immediatamente la tua conversazione più recente senza alcun prompt.
Continuare in modalità non interattiva
Usa --print
con --continue
per riprendere la conversazione più recente in modalità non interattiva, perfetta per script o automazione.
Mostrare il selettore di conversazioni
Questo visualizza un selettore interattivo di conversazioni che mostra:
- Ora di inizio della conversazione
- Prompt iniziale o riepilogo della conversazione
- Conteggio dei messaggi
Usa i tasti freccia per navigare e premi Invio per selezionare una conversazione.
Come funziona:
- Archiviazione delle conversazioni: Tutte le conversazioni vengono automaticamente salvate localmente con la loro cronologia completa dei messaggi
- Deserializzazione dei messaggi: Quando si riprende, l’intera cronologia dei messaggi viene ripristinata per mantenere il contesto
- Stato degli strumenti: L’utilizzo degli strumenti e i risultati della conversazione precedente vengono conservati
- Ripristino del contesto: La conversazione riprende con tutto il contesto precedente intatto
Suggerimenti:
- La cronologia delle conversazioni è memorizzata localmente sul tuo computer
- Usa
--continue
per accedere rapidamente alla tua conversazione più recente - Usa
--resume
quando devi selezionare una specifica conversazione passata - Quando riprendi, vedrai l’intera cronologia della conversazione prima di continuare
- La conversazione ripresa inizia con lo stesso modello e configurazione dell’originale
Esempi:
Comprendere nuove basi di codice
Ottenere una rapida panoramica della base di codice
Quando utilizzarlo: Ti sei appena unito a un nuovo progetto e hai bisogno di comprenderne rapidamente la struttura.
Navigare alla directory principale del progetto
Avviare Claude Code
Chiedere una panoramica di alto livello
Approfondire componenti specifici
Suggerimenti:
- Inizia con domande ampie, poi concentrati su aree specifiche
- Chiedi informazioni sulle convenzioni di codifica e sui pattern utilizzati nel progetto
- Richiedi un glossario dei termini specifici del progetto
Trovare codice rilevante
Quando utilizzarlo: Hai bisogno di localizzare codice relativo a una specifica funzionalità.
Chiedi a Claude di trovare file rilevanti
Ottenere contesto su come interagiscono i componenti
Comprendere il flusso di esecuzione
Suggerimenti:
- Sii specifico su ciò che stai cercando
- Utilizza il linguaggio di dominio del progetto
Risolvere bug in modo efficiente
Diagnosticare messaggi di errore
Quando utilizzarlo: Hai incontrato un messaggio di errore e hai bisogno di trovare e correggere la sua origine.
Condividere l'errore con Claude
Chiedere suggerimenti per la correzione
Applicare la correzione
Suggerimenti:
- Comunica a Claude il comando per riprodurre il problema e ottenere uno stack trace
- Menziona eventuali passaggi per riprodurre l’errore
- Fai sapere a Claude se l’errore è intermittente o costante
Refactoring del codice
Modernizzare codice legacy
Quando utilizzarlo: Hai bisogno di aggiornare codice vecchio per utilizzare pattern e pratiche moderne.
Identificare il codice legacy per il refactoring
Ottenere raccomandazioni per il refactoring
Applicare le modifiche in sicurezza
Verificare il refactoring
Suggerimenti:
- Chiedi a Claude di spiegare i vantaggi dell’approccio moderno
- Richiedi che le modifiche mantengano la compatibilità con le versioni precedenti quando necessario
- Esegui il refactoring in piccoli incrementi testabili
Lavorare con i test
Aggiungere copertura dei test
Quando utilizzarlo: Hai bisogno di aggiungere test per codice non coperto.
Identificare codice non testato
Generare l'impalcatura dei test
Aggiungere casi di test significativi
Eseguire e verificare i test
Suggerimenti:
- Chiedi test che coprano casi limite e condizioni di errore
- Richiedi sia test unitari che di integrazione quando appropriato
- Fai spiegare a Claude la strategia di testing
Creare pull request
Generare PR complete
Quando utilizzarlo: Hai bisogno di creare una pull request ben documentata per le tue modifiche.
Riassumere le tue modifiche
Generare una PR con Claude
Rivedere e perfezionare
Aggiungere dettagli sui test
Suggerimenti:
- Chiedi direttamente a Claude di creare una PR per te
- Rivedi la PR generata da Claude prima di inviarla
- Chiedi a Claude di evidenziare potenziali rischi o considerazioni
Gestire la documentazione
Generare documentazione del codice
Quando utilizzarlo: Hai bisogno di aggiungere o aggiornare la documentazione per il tuo codice.
Identificare codice non documentato
Generare documentazione
Rivedere e migliorare
Verificare la documentazione
Suggerimenti:
- Specifica lo stile di documentazione che desideri (JSDoc, docstrings, ecc.)
- Chiedi esempi nella documentazione
- Richiedi documentazione per API pubbliche, interfacce e logica complessa
Lavorare con le immagini
Analizzare immagini e screenshot
Quando utilizzarlo: Hai bisogno di lavorare con immagini nella tua base di codice o ottenere l’aiuto di Claude per analizzare il contenuto delle immagini.
Aggiungere un'immagine alla conversazione
Puoi utilizzare uno di questi metodi:
- Trascinare e rilasciare un’immagine nella finestra di Claude Code
- Copiare un’immagine e incollarla nella CLI con cmd+v (su Mac)
- Fornire un percorso dell’immagine claude “Analizza questa immagine: /percorso/della/tua/immagine.png”
Chiedere a Claude di analizzare l'immagine
Utilizzare immagini per il contesto
Ottenere suggerimenti di codice dal contenuto visivo
Suggerimenti:
- Utilizza immagini quando le descrizioni testuali sarebbero poco chiare o ingombranti
- Includi screenshot di errori, design UI o diagrammi per un contesto migliore
- Puoi lavorare con più immagini in una conversazione
- L’analisi delle immagini funziona con diagrammi, screenshot, mockup e altro
Utilizzare il pensiero esteso
Sfruttare il pensiero esteso di Claude per compiti complessi
Quando utilizzarlo: Quando lavori su decisioni architetturali complesse, bug impegnativi o pianificazione di implementazioni multi-step che richiedono un ragionamento approfondito.
Fornire contesto e chiedere a Claude di pensare
Claude raccoglierà informazioni rilevanti dalla tua base di codice e utilizzerà il pensiero esteso, che sarà visibile nell’interfaccia.
Perfezionare il pensiero con prompt di follow-up
Suggerimenti per ottenere il massimo valore dal pensiero esteso:
Il pensiero esteso è più prezioso per compiti complessi come:
- Pianificare modifiche architetturali complesse
- Debuggare problemi intricati
- Creare piani di implementazione per nuove funzionalità
- Comprendere basi di codice complesse
- Valutare compromessi tra approcci diversi
Il modo in cui richiedi il pensiero porta a vari livelli di profondità di pensiero:
- “pensa” attiva il pensiero esteso di base
- frasi intensificanti come “pensa di più”, “pensa molto”, “pensa più intensamente” o “pensa più a lungo” attivano un pensiero più profondo
Per ulteriori suggerimenti sul prompt per il pensiero esteso, vedi Suggerimenti per il pensiero esteso.
Claude mostrerà il suo processo di pensiero come testo grigio in corsivo sopra la risposta.
Configurare la memoria del progetto
Creare un file CLAUDE.md efficace
Quando utilizzarlo: Vuoi configurare un file CLAUDE.md per memorizzare informazioni importanti sul progetto, convenzioni e comandi utilizzati frequentemente.
Inizializzare un CLAUDE.md per la tua base di codice
Suggerimenti:
- Includi comandi utilizzati frequentemente (build, test, lint) per evitare ricerche ripetute
- Documenta le preferenze di stile del codice e le convenzioni di denominazione
- Aggiungi importanti pattern architetturali specifici per il tuo progetto
- I ricordi in CLAUDE.md possono essere utilizzati sia per istruzioni condivise con il tuo team che per le tue preferenze individuali. Per maggiori dettagli, vedi Gestire la memoria di Claude.
Configurare il Model Context Protocol (MCP)
Model Context Protocol (MCP) è un protocollo aperto che consente agli LLM di accedere a strumenti esterni e fonti di dati. Per maggiori dettagli, consulta la documentazione MCP.
Utilizza server MCP di terze parti a tuo rischio. Assicurati di fidarti dei server MCP, e fai particolare attenzione quando utilizzi server MCP che comunicano con internet, poiché questi possono esporti al rischio di iniezione di prompt.
Configurare server MCP
Quando utilizzarlo: Vuoi migliorare le capacità di Claude collegandolo a strumenti specializzati e server esterni utilizzando il Model Context Protocol.
Aggiungere un server MCP Stdio
Aggiungere un server MCP SSE
Gestire i tuoi server MCP
Suggerimenti:
- Utilizza il flag
-s
o--scope
per specificare dove viene memorizzata la configurazione:local
(predefinito): Disponibile solo per te nel progetto corrente (era chiamatoproject
nelle versioni precedenti)project
: Condiviso con tutti nel progetto tramite il file.mcp.json
user
: Disponibile per te in tutti i progetti (era chiamatoglobal
nelle versioni precedenti)
- Imposta variabili d’ambiente con i flag
-e
o--env
(es.-e CHIAVE=valore
) - Configura il timeout di avvio del server MCP utilizzando la variabile d’ambiente MCP_TIMEOUT (es.
MCP_TIMEOUT=10000 claude
imposta un timeout di 10 secondi) - Controlla lo stato del server MCP in qualsiasi momento utilizzando il comando
/mcp
all’interno di Claude Code - MCP segue un’architettura client-server dove Claude Code (il client) può connettersi a più server specializzati
Comprendere gli ambiti dei server MCP
Quando utilizzarlo: Vuoi capire come funzionano i diversi ambiti MCP e come condividere server con il tuo team.
Server MCP con ambito locale
L’ambito predefinito (local
) memorizza le configurazioni del server MCP nelle impostazioni utente specifiche del progetto. Questi server sono disponibili solo per te mentre lavori nel progetto corrente.
Server MCP con ambito di progetto (.mcp.json)
I server con ambito di progetto sono memorizzati in un file .mcp.json
nella radice del tuo progetto. Questo file dovrebbe essere inserito nel controllo versione per condividere i server con il tuo team.
Questo crea o aggiorna un file .mcp.json
con la seguente struttura:
Server MCP con ambito utente
I server con ambito utente sono disponibili per te in tutti i progetti sul tuo computer e sono privati per te.
Suggerimenti:
- I server con ambito locale hanno la precedenza sui server con ambito di progetto e utente con lo stesso nome
- I server con ambito di progetto (in
.mcp.json
) hanno la precedenza sui server con ambito utente con lo stesso nome - Prima di utilizzare server con ambito di progetto da
.mcp.json
, Claude Code ti chiederà di approvarli per motivi di sicurezza - Il file
.mcp.json
è destinato a essere inserito nel controllo versione per condividere server MCP con il tuo team - I server con ambito di progetto rendono facile garantire che tutti nel tuo team abbiano accesso agli stessi strumenti MCP
- Se hai bisogno di reimpostare le tue scelte per quali server con ambito di progetto sono abilitati o disabilitati, usa il comando
claude mcp reset-project-choices
Connettersi a un server MCP Postgres
Quando utilizzarlo: Vuoi dare a Claude accesso in sola lettura a un database PostgreSQL per query e ispezione dello schema.
Aggiungere il server MCP Postgres
Interrogare il tuo database con Claude
Suggerimenti:
- Il server MCP Postgres fornisce accesso in sola lettura per sicurezza
- Claude può aiutarti a esplorare la struttura del database ed eseguire query analitiche
- Puoi utilizzarlo per comprendere rapidamente gli schemi di database in progetti non familiari
- Assicurati che la tua stringa di connessione utilizzi credenziali appropriate con le autorizzazioni minime richieste
Aggiungere server MCP da configurazione JSON
Quando utilizzarlo: Hai una configurazione JSON per un singolo server MCP che vuoi aggiungere a Claude Code.
Aggiungere un server MCP da JSON
Verificare che il server sia stato aggiunto
Suggerimenti:
- Assicurati che il JSON sia correttamente escapato nella tua shell
- Il JSON deve essere conforme allo schema di configurazione del server MCP
- Puoi usare
-s global
per aggiungere il server alla tua configurazione globale invece che a quella specifica del progetto
Importare server MCP da Claude Desktop
Quando utilizzarlo: Hai già configurato server MCP in Claude Desktop e vuoi utilizzare gli stessi server in Claude Code senza doverli riconfigurare manualmente.
Importare server da Claude Desktop
Selezionare quali server importare
Dopo aver eseguito il comando, vedrai una finestra di dialogo interattiva che ti permette di selezionare quali server vuoi importare.
Verificare che i server siano stati importati
Suggerimenti:
- Questa funzionalità funziona solo su macOS e Windows Subsystem for Linux (WSL)
- Legge il file di configurazione di Claude Desktop dalla sua posizione standard su quelle piattaforme
- Usa il flag
-s global
per aggiungere server alla tua configurazione globale - I server importati avranno gli stessi nomi di quelli in Claude Desktop
- Se esistono già server con gli stessi nomi, riceveranno un suffisso numerico (es.
server_1
)
Usare Claude Code come server MCP
Quando utilizzarlo: Vuoi utilizzare Claude Code stesso come server MCP a cui altre applicazioni possono connettersi, fornendo loro gli strumenti e le capacità di Claude.
Avviare Claude come server MCP
Connettersi da un'altra applicazione
Puoi connetterti al server MCP di Claude Code da qualsiasi client MCP, come Claude Desktop. Se stai utilizzando Claude Desktop, puoi aggiungere il server MCP di Claude Code utilizzando questa configurazione:
Suggerimenti:
- Il server fornisce accesso agli strumenti di Claude come View, Edit, LS, ecc.
- In Claude Desktop, prova a chiedere a Claude di leggere file in una directory, fare modifiche e altro.
- Nota che questo server MCP sta semplicemente esponendo gli strumenti di Claude Code al tuo client MCP, quindi il tuo client è responsabile dell’implementazione della conferma dell’utente per le singole chiamate agli strumenti.
Usare Claude come utility unix
Aggiungere Claude al tuo processo di verifica
Quando utilizzarlo: Vuoi utilizzare Claude Code come linter o revisore di codice.
Passi:
Aggiungere Claude al tuo script di build
Pipe in, pipe out
Quando utilizzarlo: Vuoi inviare dati a Claude tramite pipe e ricevere dati in un formato strutturato.
Inviare dati attraverso Claude tramite pipe
Controllare il formato di output
Quando utilizzarlo: Hai bisogno dell’output di Claude in un formato specifico, specialmente quando integri Claude Code in script o altri strumenti.
Utilizzare il formato testo (predefinito)
Questo produce solo la risposta in testo semplice di Claude (comportamento predefinito).
Utilizzare il formato JSON
Questo produce un array JSON di messaggi con metadati inclusi costo e durata.
Utilizzare il formato JSON in streaming
Questo produce una serie di oggetti JSON in tempo reale mentre Claude elabora la richiesta. Ogni messaggio è un oggetto JSON valido, ma l’intero output non è JSON valido se concatenato.
Suggerimenti:
- Usa
--output-format text
per integrazioni semplici dove hai solo bisogno della risposta di Claude - Usa
--output-format json
quando hai bisogno del log completo della conversazione - Usa
--output-format stream-json
per l’output in tempo reale di ogni turno di conversazione
Creare comandi slash personalizzati
Claude Code supporta comandi slash personalizzati che puoi creare per eseguire rapidamente prompt o attività specifiche.
Creare comandi specifici per il progetto
Quando utilizzarlo: Vuoi creare comandi slash riutilizzabili per il tuo progetto che tutti i membri del team possono utilizzare.
Creare una directory dei comandi nel tuo progetto
Creare un file Markdown per ogni comando
Utilizzare il tuo comando personalizzato in Claude Code
Suggerimenti:
- I nomi dei comandi derivano dal nome del file (es.
optimize.md
diventa/project:optimize
) - Puoi organizzare i comandi in sottodirectory (es.
.claude/commands/frontend/component.md
diventa/project:frontend:component
) - I comandi di progetto sono disponibili per tutti coloro che clonano il repository
- Il contenuto del file Markdown diventa il prompt inviato a Claude quando il comando viene invocato
Aggiungere argomenti ai comandi con $ARGUMENTS
Quando utilizzarlo: Vuoi creare comandi slash flessibili che possono accettare input aggiuntivi dagli utenti.
Creare un file di comando con il segnaposto $ARGUMENTS
Utilizzare il comando con un numero di problema
Questo sostituirà $ARGUMENTS con “123” nel prompt.
Suggerimenti:
- Il segnaposto $ARGUMENTS viene sostituito con qualsiasi testo che segue il comando
- Puoi posizionare $ARGUMENTS ovunque nel tuo modello di comando
- Altre applicazioni utili: generare casi di test per funzioni specifiche, creare documentazione per componenti, rivedere codice in file particolari o tradurre contenuti in lingue specificate
Creare comandi slash personali
Quando utilizzarlo: Vuoi creare comandi slash personali che funzionano in tutti i tuoi progetti.
Creare una directory dei comandi nella tua cartella home
Creare un file Markdown per ogni comando
Utilizzare il tuo comando personalizzato personale
Suggerimenti:
- I comandi personali hanno il prefisso
/user:
invece di/project:
- I comandi personali sono disponibili solo per te e non sono condivisi con il tuo team
- I comandi personali funzionano in tutti i tuoi progetti
- Puoi utilizzarli per flussi di lavoro coerenti tra diverse basi di codice
Eseguire sessioni parallele di Claude Code con Git worktrees
Utilizzare worktrees per ambienti di codifica isolati
Quando utilizzarlo: Hai bisogno di lavorare su più attività contemporaneamente con completo isolamento del codice tra istanze di Claude Code.
Comprendere Git worktrees
Git worktrees ti permette di estrarre più branch dallo stesso repository in directory separate. Ogni worktree ha la propria directory di lavoro con file isolati, mentre condivide la stessa cronologia Git. Scopri di più nella documentazione ufficiale di Git worktree.
Creare un nuovo worktree
Questo crea una nuova directory con una copia di lavoro separata del tuo repository.
Eseguire Claude Code in ogni worktree
In un altro terminale:
Gestire i tuoi worktrees
Suggerimenti:
- Ogni worktree ha il proprio stato di file indipendente, rendendolo perfetto per sessioni parallele di Claude Code
- Le modifiche apportate in un worktree non influenzeranno gli altri, impedendo alle istanze di Claude di interferire tra loro
- Tutti i worktrees condividono la stessa cronologia Git e connessioni remote
- Per attività di lunga durata, puoi avere Claude che lavora in un worktree mentre continui lo sviluppo in un altro
- Usa nomi di directory descrittivi per identificare facilmente per quale attività è ciascun worktree
- Ricorda di inizializzare il tuo ambiente di sviluppo in ogni nuovo worktree secondo la configurazione del tuo progetto. A seconda del tuo stack, questo potrebbe includere:
- Progetti JavaScript: Eseguire l’installazione delle dipendenze (
npm install
,yarn
) - Progetti Python: Configurare ambienti virtuali o installare con gestori di pacchetti
- Altri linguaggi: Seguire il processo di configurazione standard del tuo progetto
- Progetti JavaScript: Eseguire l’installazione delle dipendenze (
Prossimi passi
Implementazione di riferimento di Claude Code
Clona la nostra implementazione di riferimento del container di sviluppo.