Questa guida fornisce tutorial passo-passo per i 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 dei contenuti

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.

1

Navigare nella directory root del progetto

cd /path/to/project
2

Avviare Claude Code

claude
3

Chiedere una panoramica di alto livello

> dammi una panoramica di questa base di codice
4

Approfondire componenti specifici

> spiega i principali pattern architetturali utilizzati qui
> quali sono i modelli di dati chiave?
> come viene gestita l'autenticazione?

Suggerimenti:

  • Inizia con domande ampie, poi concentrati su aree specifiche
  • Chiedi informazioni sulle convenzioni di codifica e i pattern utilizzati nel progetto
  • Richiedi un glossario dei termini specifici del progetto

Trovare il codice pertinente

Quando utilizzarlo: Hai bisogno di localizzare il codice relativo a una specifica funzionalità.

1

Chiedi a Claude di trovare i file pertinenti

> trova i file che gestiscono l'autenticazione utente
2

Ottieni il contesto su come interagiscono i componenti

> come lavorano insieme questi file di autenticazione?
3

Comprendi il flusso di esecuzione

> traccia il processo di login dal front-end al database

Suggerimenti:

  • Sii specifico su cosa stai cercando
  • Usa il linguaggio di dominio del progetto

Correggere bug in modo efficiente

Diagnosticare messaggi di errore

Quando utilizzarlo: Hai incontrato un messaggio di errore e devi trovare e correggere la sua origine.

1

Condividi l'errore con Claude

> Sto vedendo un errore quando eseguo npm test
2

Chiedi raccomandazioni per la correzione

> suggerisci alcuni modi per correggere il @ts-ignore in user.ts
3

Applica la correzione

> aggiorna user.ts per aggiungere il controllo null che hai suggerito

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: Devi aggiornare vecchio codice per utilizzare pattern e pratiche moderne.

1

Identificare il codice legacy da refactoring

> trova utilizzi di API deprecate nella nostra base di codice
2

Ottenere raccomandazioni per il refactoring

> suggerisci come fare il refactoring di utils.js per utilizzare funzionalità JavaScript moderne
3

Applicare le modifiche in sicurezza

> fai il refactoring di utils.js per utilizzare funzionalità ES2024 mantenendo lo stesso comportamento
4

Verificare il refactoring

> esegui i test per il codice refactorizzato

Suggerimenti:

  • Chiedi a Claude di spiegare i benefici dell’approccio moderno
  • Richiedi che le modifiche mantengano la compatibilità all’indietro quando necessario
  • Fai il refactoring in piccoli incrementi testabili

Lavorare con i test

Aggiungere copertura dei test

Quando utilizzarlo: Devi aggiungere test per codice non coperto.

1

Identificare codice non testato

> trova funzioni in NotificationsService.swift che non sono coperte da test
2

Generare l'impalcatura dei test

> aggiungi test per il servizio di notifica
3

Aggiungere casi di test significativi

> aggiungi casi di test per condizioni limite nel servizio di notifica
4

Eseguire e verificare i test

> esegui i nuovi test e correggi eventuali fallimenti

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: Devi creare una pull request ben documentata per le tue modifiche.

1

Riassumere le modifiche

> riassumi le modifiche che ho fatto al modulo di autenticazione
2

Generare una PR con Claude

> crea una pr
3

Revisione e perfezionamento

> migliora la descrizione della PR con più contesto sui miglioramenti della sicurezza
4

Aggiungere dettagli sui test

> aggiungi informazioni su come sono state testate queste modifiche

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: Devi aggiungere o aggiornare la documentazione per il tuo codice.

1

Identificare codice non documentato

> trova funzioni senza commenti JSDoc appropriati nel modulo auth
2

Generare documentazione

> aggiungi commenti JSDoc alle funzioni non documentate in auth.js
3

Revisione e miglioramento

> migliora la documentazione generata con più contesto ed esempi
4

Verificare la documentazione

> controlla se la documentazione segue gli standard del nostro progetto

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: Devi lavorare con immagini nella tua base di codice o ottenere l’aiuto di Claude nell’analizzare il contenuto delle immagini.

1

Aggiungere un'immagine alla conversazione

Puoi utilizzare uno di questi metodi:

# 1. Trascina e rilascia un'immagine nella finestra di Claude Code
# 2. Copia un'immagine e incollala nella CLI con ctrl+v
# 3. Fornisci un percorso immagine
claude "Analizza questa immagine: /path/to/your/image.png"
2

Chiedi a Claude di analizzare l'immagine

> Cosa mostra questa immagine?
> Descrivi gli elementi UI in questo screenshot
> Ci sono elementi problematici in questo diagramma?
3

Usa le immagini per il contesto

> Ecco uno screenshot dell'errore. Cosa lo sta causando?
> Questo è il nostro schema database attuale. Come dovremmo modificarlo per la nuova funzionalità?
4

Ottieni suggerimenti di codice dal contenuto visivo

> Genera CSS per corrispondere a questo mockup di design
> Quale struttura HTML ricreerebbe questo componente?

Suggerimenti:

  • Usa le immagini quando le descrizioni testuali sarebbero poco chiare o ingombranti
  • Includi screenshot di errori, design UI o diagrammi per un migliore contesto
  • 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 attività complesse

Quando utilizzarlo: Quando lavori su decisioni architetturali complesse, bug impegnativi o pianificazioni di implementazioni multi-step che richiedono un ragionamento approfondito.

1

Fornire contesto e chiedere a Claude di pensare

> Ho bisogno di implementare un nuovo sistema di autenticazione usando OAuth2 per la nostra API. Pensa approfonditamente al miglior approccio per implementarlo nella nostra base di codice.

Claude raccoglierà informazioni rilevanti dalla tua base di codice e userà il pensiero esteso, che sarà visibile nell’interfaccia.

2

Perfeziona il pensiero con prompt di follow-up

> pensa alle potenziali vulnerabilità di sicurezza in questo approccio
> pensa più approfonditamente ai casi limite che dovremmo gestire

Suggerimenti per ottenere il massimo valore dal pensiero esteso:

Il pensiero esteso è più prezioso per attività complesse come:

  • Pianificare modifiche architetturali complesse
  • Debug di 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 risulta in vari livelli di profondità di pensiero:

  • “pensa” attiva il pensiero esteso base
  • frasi intensificanti come “pensa di più”, “pensa molto”, “pensa più duramente” o “pensa più a lungo” attivano un pensiero più profondo

Per ulteriori suggerimenti sul prompt del 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 del progetto, convenzioni e comandi frequentemente utilizzati.

1

Bootstrap di un CLAUDE.md per la tua base di codice

> /init

Suggerimenti:

  • Includi comandi frequentemente utilizzati (build, test, lint) per evitare ricerche ripetute
  • Documenta preferenze di stile del codice e convenzioni di denominazione
  • Aggiungi pattern architetturali importanti specifici per il tuo progetto
  • Puoi aggiungere file CLAUDE.md a qualsiasi di:
    • La cartella in cui esegui Claude: Automaticamente aggiunto alle conversazioni che avvii in quella cartella
    • Directory figlie: Claude le include su richiesta
    • ~/.claude/CLAUDE.md: Preferenze specifiche dell’utente che non vuoi includere nel controllo del codice sorgente

Configurare il Model Context Protocol (MCP)

Model Context Protocol (MCP) è un protocollo aperto che permette agli LLM di accedere a strumenti e fonti di dati esterni. Per maggiori dettagli, vedi la documentazione MCP.

Usa server MCP di terze parti a tuo rischio. Assicurati di fidarti dei server MCP, e fai particolare attenzione quando usi server MCP che comunicano con internet, poiché questi possono esporti al rischio di injection di prompt.

Configurare server MCP

Quando utilizzarlo: Vuoi migliorare le capacità di Claude connettendolo a strumenti specializzati e server esterni usando il Model Context Protocol.

1

Aggiungere un Server MCP Stdio

# Sintassi base
claude mcp add <nome> <comando> [args...]

# Esempio: Aggiungere un server locale
claude mcp add my-server -e API_KEY=123 -- /path/to/server arg1 arg2
2

Gestire i tuoi server MCP

# Lista di tutti i server configurati
claude mcp list

# Ottenere dettagli per un server specifico
claude mcp get my-server

# Rimuovere un server
claude mcp remove my-server

Suggerimenti:

  • Usa il flag -s o --scope per specificare dove viene memorizzata la configurazione:
    • local (default): Disponibile solo per te nel progetto corrente (si chiamava project nelle versioni precedenti)
    • project: Condiviso con tutti nel progetto tramite file .mcp.json
    • user: Disponibile per te in tutti i progetti (si chiamava global nelle versioni precedenti)
  • Imposta variabili d’ambiente con i flag -e o --env (es. -e KEY=value)
  • Configura il timeout di avvio del server MCP usando 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 usando 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 scope dei server MCP

Quando utilizzarlo: Vuoi capire come funzionano i diversi scope MCP e come condividere i server con il tuo team.

1

Server MCP con scope locale

Lo scope predefinito (local) memorizza le configurazioni del server MCP nelle tue impostazioni utente specifiche del progetto. Questi server sono disponibili solo per te mentre lavori nel progetto corrente.

# Aggiungere un server con scope locale (default)
claude mcp add my-private-server /path/to/server

# Specificare esplicitamente lo scope locale
claude mcp add my-private-server -s local /path/to/server
2

Server MCP con scope di progetto (.mcp.json)

I server con scope di progetto sono memorizzati in un file .mcp.json alla radice del tuo progetto. Questo file dovrebbe essere incluso nel controllo versione per condividere i server con il tuo team.

# Aggiungere un server con scope di progetto
claude mcp add shared-server -s project /path/to/server

Questo crea o aggiorna un file .mcp.json con la seguente struttura:

{
  "mcpServers": {
    "shared-server": {
      "command": "/path/to/server",
      "args": [],
      "env": {}
    }
  }
}
3

Server MCP con scope utente

I server con scope utente sono disponibili per te in tutti i progetti sulla tua macchina e sono privati per te.

# Aggiungere un server utente
claude mcp add my-user-server -s user /path/to/server

Suggerimenti:

  • I server con scope locale hanno la precedenza sui server con scope di progetto e utente con lo stesso nome
  • I server con scope di progetto (in .mcp.json) hanno la precedenza sui server con scope utente con lo stesso nome
  • Prima di utilizzare i server con scope di progetto da .mcp.json, Claude Code ti chiederà di approvarli per sicurezza
  • Il file .mcp.json è destinato ad essere incluso nel controllo versione per condividere i server MCP con il tuo team
  • I server con scope di progetto rendono facile assicurarsi che tutti nel team abbiano accesso agli stessi strumenti MCP
  • Se hai bisogno di resettare le tue scelte per quali server con scope 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.

1

Aggiungere il server MCP Postgres

claude mcp add postgres-server /path/to/postgres-mcp-server --connection-string "postgresql://user:pass@localhost:5432/mydb"
2

Interrogare il tuo database con Claude

# Nella tua sessione Claude, puoi chiedere del tuo database

> descrivi lo schema della nostra tabella users
> quali sono gli ordini più recenti nel sistema?
> mostrami la relazione tra clienti e fatture

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 usarlo per comprendere rapidamente gli schemi del database in progetti non familiari
  • Assicurati che la tua stringa di connessione usi credenziali appropriate con i permessi minimi richiesti

Aggiungere server MCP da configurazione JSON

Quando utilizzarlo: Hai una configurazione JSON per un singolo server MCP che vuoi aggiungere a Claude Code.

1

Aggiungere un server MCP da JSON

# Sintassi base
claude mcp add-json <nome> '<json>'

# Esempio: Aggiungere un server stdio con configurazione JSON
claude mcp add-json weather-api '{"type":"stdio","command":"/path/to/weather-cli","args":["--api-key","abc123"],"env":{"CACHE_DIR":"/tmp"}}'
2

Verificare che il server sia stato aggiunto

claude mcp get weather-api

Suggerimenti:

  • Assicurati che il JSON sia correttamente escaped nella tua shell
  • Il JSON deve conformarsi 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 usare gli stessi server in Claude Code senza riconfigurarli manualmente.

1

Importare server da Claude Desktop

# Sintassi base
claude mcp add-from-claude-desktop
2

Selezionare quali server importare

Dopo aver eseguito il comando, vedrai un dialogo interattivo che ti permette di selezionare quali server vuoi importare.

3

Verificare che i server siano stati importati

claude mcp list

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 come in Claude Desktop
  • Se esistono già server con gli stessi nomi, otterranno un suffisso numerico (es. server_1)

Usare Claude Code come server MCP

Quando utilizzarlo: Vuoi usare Claude Code stesso come server MCP a cui altre applicazioni possono connettersi, fornendo loro gli strumenti e le capacità di Claude.

1

Avviare Claude come server MCP

# Sintassi base
claude mcp serve
2

Connettersi da un'altra applicazione

Puoi connetterti al server MCP di Claude Code da qualsiasi client MCP, come Claude Desktop. Se stai usando Claude Desktop, puoi aggiungere il server MCP di Claude Code usando questa configurazione:

{
  "command": "claude",
  "args": ["mcp", "serve"],
  "env": {}
}

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 utente per le singole chiamate agli strumenti.

Usare Claude come utility unix

Aggiungere Claude al tuo processo di verifica

Quando utilizzarlo: Vuoi usare Claude Code come linter o revisore di codice.

Passi:

1

Aggiungere Claude al tuo script di build

// package.json
{
    ...
    "scripts": {
        ...
        "lint:claude": "claude -p 'sei un linter. per favore guarda le modifiche rispetto a main e segnala eventuali problemi relativi a errori di battitura. riporta il nome del file e il numero di riga su una riga, e una descrizione del problema sulla seconda riga. non restituire nessun altro testo.'"
    }
}

Pipe in, pipe out

Quando utilizzarlo: Vuoi inviare dati a Claude tramite pipe e ricevere dati in un formato strutturato.

1

Inviare dati attraverso Claude tramite pipe

cat build-error.txt | claude -p 'spiega concisamente la causa principale di questo errore di build' > output.txt

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 usare.

1

Creare una directory dei comandi nel tuo progetto

mkdir -p .claude/commands
2

Creare un file Markdown per ogni comando

echo "Analizza le prestazioni di questo codice e suggerisci tre ottimizzazioni specifiche:" > .claude/commands/optimize.md
3

Usare il tuo comando personalizzato in Claude Code

claude
> /project:optimize

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 chiunque cloni 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 possano accettare input aggiuntivo dagli utenti.

1

Creare un file di comando con il segnaposto $ARGUMENTS

echo "Trova e correggi l'issue #$ARGUMENTS. Segui questi passi:
1. Comprendi il problema descritto nel ticket
2. Localizza il codice rilevante nella nostra base di codice
3. Implementa una soluzione che affronti la causa principale
4. Aggiungi test appropriati
5. Prepara una descrizione concisa della PR" > .claude/commands/fix-issue.md
2

Usare il comando con un numero di issue

claude
> /project:fix-issue 123

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 template 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 funzionino in tutti i tuoi progetti.

1

Creare una directory dei comandi nella tua cartella home

mkdir -p ~/.claude/commands
2

Creare un file Markdown per ogni comando

echo "Rivedi questo codice per vulnerabilità di sicurezza, concentrandoti su:" > ~/.claude/commands/security-review.md
3

Usare il tuo comando personalizzato

claude
> /user:security-review

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 usarli per flussi di lavoro coerenti tra diverse basi di codice

Prossimi passi

Implementazione di riferimento di Claude Code

Clona la nostra implementazione di riferimento del container di sviluppo.