Ogni attività in questo documento include istruzioni chiare, comandi di esempio e best practice per aiutarti a ottenere il massimo da Claude Code.

Comprendere nuove basi di codice

Ottenere una panoramica rapida della base di codice

Supponiamo che tu ti sia appena unito a un nuovo progetto e abbia bisogno di comprendere rapidamente la sua struttura.

1

Naviga alla directory radice del progetto

cd /path/to/project 
2

Avvia Claude Code

claude 
3

Chiedi una panoramica ad alto livello

> dammi una panoramica di questa base di codice 
4

Approfondisci 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 restringi ad aree specifiche
  • Chiedi delle convenzioni di codifica e dei pattern utilizzati nel progetto
  • Richiedi un glossario dei termini specifici del progetto

Trovare codice rilevante

Supponiamo che tu abbia bisogno di localizzare codice relativo a una funzionalità o caratteristica specifica.

1

Chiedi a Claude di trovare i file rilevanti

> 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 quello che stai cercando
  • Usa il linguaggio del dominio del progetto

Correggere bug in modo efficiente

Supponiamo che tu abbia riscontrato un messaggio di errore e abbia bisogno di 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:

  • Dì 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

Supponiamo che tu abbia bisogno di aggiornare codice vecchio per utilizzare pattern e pratiche moderne.

1

Identifica codice legacy per il refactoring

> trova l'utilizzo di API deprecate nella nostra base di codice 
2

Ottieni raccomandazioni per il refactoring

> suggerisci come refactorizzare utils.js per utilizzare funzionalità JavaScript moderne 
3

Applica le modifiche in sicurezza

> refactorizza utils.js per utilizzare le funzionalità ES2024 mantenendo lo stesso comportamento 
4

Verifica 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

Utilizzare subagenti specializzati

Supponiamo che tu voglia utilizzare subagenti AI specializzati per gestire compiti specifici in modo più efficace.

1

Visualizza i subagenti disponibili

> /agents

Questo mostra tutti i subagenti disponibili e ti permette di crearne di nuovi.

2

Usa i subagenti automaticamente

Claude Code delegherà automaticamente i compiti appropriati ai subagenti specializzati:

> rivedi le mie recenti modifiche al codice per problemi di sicurezza
> esegui tutti i test e correggi eventuali errori
3

Richiedi esplicitamente subagenti specifici

> usa il subagente code-reviewer per controllare il modulo auth
> fai investigare al subagente debugger perché gli utenti non riescono ad accedere
4

Crea subagenti personalizzati per il tuo flusso di lavoro

> /agents

Poi seleziona “Crea nuovo subagente” e segui le istruzioni per definire:

  • Tipo di subagente (es. api-designer, performance-optimizer)
  • Quando utilizzarlo
  • A quali strumenti può accedere
  • Il suo prompt di sistema specializzato

Suggerimenti:

  • Crea subagenti specifici per il progetto in .claude/agents/ per la condivisione del team
  • Usa campi description descrittivi per abilitare la delega automatica
  • Limita l’accesso agli strumenti a quello che ogni subagente effettivamente necessita
  • Controlla la documentazione sui subagenti per esempi dettagliati

Lavorare con i test

Supponiamo che tu abbia bisogno di aggiungere test per codice non coperto.

1

Identifica codice non testato

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

Genera la struttura dei test

> aggiungi test per il servizio di notifiche 
3

Aggiungi casi di test significativi

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

Esegui e verifica i test

> esegui i nuovi test e correggi eventuali errori 

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

Supponiamo che tu abbia bisogno di creare una pull request ben documentata per le tue modifiche.

1

Riassumi le tue modifiche

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

Genera una PR con Claude

> crea una pr 
3

Rivedi e perfeziona

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

Aggiungi dettagli sui test

> aggiungi informazioni su come queste modifiche sono state testate 

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

Supponiamo che tu abbia bisogno di aggiungere o aggiornare la documentazione per il tuo codice.

1

Identifica codice non documentato

> trova funzioni senza commenti JSDoc appropriati nel modulo auth 
2

Genera documentazione

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

Rivedi e migliora

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

Verifica la documentazione

> controlla se la documentazione segue gli standard del nostro progetto 

Suggerimenti:

  • Specifica lo stile di documentazione che vuoi (JSDoc, docstrings, ecc.)
  • Chiedi esempi nella documentazione
  • Richiedi documentazione per API pubbliche, interfacce e logica complessa

Lavorare con le immagini

Supponiamo che tu abbia bisogno di lavorare con immagini nella tua base di codice e vuoi l’aiuto di Claude per analizzare il contenuto delle immagini.

1

Aggiungi 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 (Non usare cmd+v)
  3. Fornisci un percorso dell’immagine a Claude. Es., “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 contesto migliore
  • Puoi lavorare con più immagini in una conversazione
  • L’analisi delle immagini funziona con diagrammi, screenshot, mockup e altro

Riferimenti a file e directory

Usa @ per includere rapidamente file o directory senza aspettare che Claude li legga.

1

Riferimento a un singolo file

> Spiega la logica in @src/utils/auth.js

Questo include il contenuto completo del file nella conversazione.

2

Riferimento a una directory

> Qual è la struttura di @src/components?

Questo fornisce un elenco della directory con informazioni sui file.

3

Riferimento a risorse MCP

> Mostrami i dati da @github:repos/owner/repo/issues

Questo recupera dati dai server MCP connessi utilizzando il formato @server:resource. Vedi risorse MCP per dettagli.

Suggerimenti:

  • I percorsi dei file possono essere relativi o assoluti
  • I riferimenti @ file aggiungono CLAUDE.md nella directory del file e nelle directory padre al contesto
  • I riferimenti alle directory mostrano elenchi di file, non contenuti
  • Puoi riferire più file in un singolo messaggio (es., “@file1.js e @file2.js”)

Utilizzare il pensiero esteso

Supponiamo che tu stia lavorando su decisioni architetturali complesse, bug difficili o pianificando implementazioni multi-step che richiedono ragionamento profondo.

1

Fornisci contesto e chiedi a Claude di pensare

> Devo implementare un nuovo sistema di autenticazione usando OAuth2 per la nostra API. Pensa profondamente al miglior approccio per implementare questo 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

Affina il pensiero con prompt di follow-up

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

Suggerimenti per ottenere il massimo valore dal pensiero esteso:

Il pensiero esteso è più prezioso per compiti complessi come:

  • Pianificare cambiamenti architetturali complessi
  • Debug di problemi intricati
  • Creare piani di implementazione per nuove funzionalità
  • Comprendere basi di codice complesse
  • Valutare compromessi tra diversi approcci

Il modo in cui richiedi il pensiero risulta in diversi livelli di profondità del 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 più suggerimenti sui 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.


Riprendere conversazioni precedenti

Supponiamo che tu abbia lavorato su un compito con Claude Code e abbia bisogno di continuare da dove avevi lasciato in una sessione successiva.

Claude Code fornisce due opzioni per riprendere conversazioni precedenti:

  • --continue per continuare automaticamente la conversazione più recente
  • --resume per visualizzare un selettore di conversazioni
1

Continua la conversazione più recente

claude --continue

Questo riprende immediatamente la tua conversazione più recente senza alcun prompt.

2

Continua in modalità non interattiva

claude --continue --print "Continua con il mio compito"

Usa --print con --continue per riprendere la conversazione più recente in modalità non interattiva, perfetto per script o automazione.

3

Mostra selettore di conversazioni

claude --resume

Questo visualizza un selettore di conversazioni interattivo che mostra:

  • Ora di inizio della conversazione
  • Prompt iniziale o riassunto della conversazione
  • Conteggio messaggi

Usa i tasti freccia per navigare e premi Invio per selezionare una conversazione.

Suggerimenti:

  • La cronologia delle conversazioni è memorizzata localmente sulla tua macchina
  • Usa --continue per accesso rapido alla tua conversazione più recente
  • Usa --resume quando hai bisogno di selezionare una conversazione passata specifica
  • Quando riprendi, vedrai l’intera cronologia della conversazione prima di continuare
  • La conversazione ripresa inizia con lo stesso modello e configurazione dell’originale

Come funziona:

  1. Memorizzazione Conversazioni: Tutte le conversazioni sono automaticamente salvate localmente con la loro cronologia completa dei messaggi
  2. Deserializzazione Messaggi: Quando riprendi, l’intera cronologia dei messaggi viene ripristinata per mantenere il contesto
  3. Stato Strumenti: L’uso degli strumenti e i risultati dalla conversazione precedente sono preservati
  4. Ripristino Contesto: La conversazione riprende con tutto il contesto precedente intatto

Esempi:

# Continua conversazione più recente
claude --continue

# Continua conversazione più recente con un prompt specifico
claude --continue --print "Mostrami i nostri progressi"

# Mostra selettore conversazioni
claude --resume

# Continua conversazione più recente in modalità non interattiva
claude --continue --print "Esegui di nuovo i test"

Eseguire sessioni Claude Code parallele con Git worktree

Supponiamo che tu abbia bisogno di lavorare su più compiti simultaneamente con completo isolamento del codice tra le istanze di Claude Code.

1

Comprendi i Git worktree

I Git worktree ti permettono di fare checkout di più branch dallo stesso repository in directory separate. Ogni worktree ha la sua directory di lavoro con file isolati, condividendo la stessa cronologia Git. Scopri di più nella documentazione ufficiale Git worktree.

2

Crea un nuovo worktree

# Crea un nuovo worktree con un nuovo branch 
git worktree add ../project-feature-a -b feature-a

# O crea un worktree con un branch esistente
git worktree add ../project-bugfix bugfix-123

Questo crea una nuova directory con una copia di lavoro separata del tuo repository.

3

Esegui Claude Code in ogni worktree

# Naviga al tuo worktree 
cd ../project-feature-a

# Esegui Claude Code in questo ambiente isolato
claude
4

Esegui Claude in un altro worktree

cd ../project-bugfix
claude
5

Gestisci i tuoi worktree

# Elenca tutti i worktree
git worktree list

# Rimuovi un worktree quando finito
git worktree remove ../project-feature-a

Suggerimenti:

  • Ogni worktree ha il suo stato di file indipendente, rendendolo perfetto per sessioni Claude Code parallele
  • Le modifiche fatte in un worktree non influenzeranno gli altri, prevenendo interferenze tra istanze Claude
  • Tutti i worktree condividono la stessa cronologia Git e connessioni remote
  • Per compiti 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 compito è ogni 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 installazione dipendenze (npm install, yarn)
    • Progetti Python: Configurare ambienti virtuali o installare con package manager
    • Altri linguaggi: Seguire il processo di configurazione standard del tuo progetto

Utilizzare Claude come utility in stile unix

Aggiungere Claude al tuo processo di verifica

Supponiamo che tu voglia utilizzare Claude Code come linter o revisore di codice.

Aggiungi Claude al tuo script di build:

// package.json
{
    ...
    "scripts": {
        ...
        "lint:claude": "claude -p 'sei un linter. per favore guarda le modifiche vs. main e riporta 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 altro testo.'"
    }
}

Suggerimenti:

  • Usa Claude per revisione automatica del codice nella tua pipeline CI/CD
  • Personalizza il prompt per controllare problemi specifici rilevanti per il tuo progetto
  • Considera di creare più script per diversi tipi di verifica

Pipe in, pipe out

Supponiamo che tu voglia inviare dati a Claude tramite pipe e ottenere dati in un formato strutturato.

Invia dati attraverso Claude tramite pipe:

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

Suggerimenti:

  • Usa le pipe per integrare Claude negli script shell esistenti
  • Combina con altri strumenti Unix per flussi di lavoro potenti
  • Considera di usare —output-format per output strutturato

Controllare il formato di output

Supponiamo che tu abbia bisogno dell’output di Claude in un formato specifico, specialmente quando integri Claude Code in script o altri strumenti.

1

Usa formato testo (predefinito)

cat data.txt | claude -p 'riassumi questi dati' --output-format text > summary.txt

Questo restituisce solo la risposta in testo semplice di Claude (comportamento predefinito).

2

Usa formato JSON

cat code.py | claude -p 'analizza questo codice per bug' --output-format json > analysis.json

Questo restituisce un array JSON di messaggi con metadati inclusi costo e durata.

3

Usa formato JSON streaming

cat log.txt | claude -p 'analizza questo file di log per errori' --output-format stream-json

Questo restituisce 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 bisogno solo della risposta di Claude
  • Usa --output-format json quando hai bisogno del log completo della conversazione
  • Usa --output-format stream-json per output in tempo reale di ogni turno di conversazione

Creare com andi slash personalizzati

Claude Code supporta comandi slash personalizzati che puoi creare per eseguire rapidamente prompt o compiti specifici.

Per maggiori dettagli, vedi la pagina di riferimento Comandi slash.

Creare comandi specifici per il progetto

Supponiamo che tu voglia creare comandi slash riutilizzabili per il tuo progetto che tutti i membri del team possano utilizzare.

1

Crea una directory comandi nel tuo progetto

mkdir -p .claude/commands
2

Crea un file Markdown per ogni comando

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

Usa il tuo comando personalizzato in Claude Code

> /optimize 

Suggerimenti:

  • I nomi dei comandi derivano dal nome del file (es., optimize.md diventa /optimize)
  • Puoi organizzare i comandi in sottodirectory (es., .claude/commands/frontend/component.md crea /component con “(project:frontend)” mostrato nella descrizione)
  • I comandi di progetto sono disponibili a 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

Supponiamo che tu voglia creare comandi slash flessibili che possano accettare input aggiuntivo dagli utenti.

1

Crea un file comando con il placeholder $ARGUMENTS

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

Usa il comando con un numero di problema

Nella tua sessione Claude, usa il comando con argomenti.

> /fix-issue 123 

Questo sostituirà $ARGUMENTS con “123” nel prompt.

Suggerimenti:

  • Il placeholder $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 contenuto in linguaggi specificati

Creare comandi slash personali

Supponiamo che tu voglia creare comandi slash personali che funzionino in tutti i tuoi progetti.

1

Crea una directory comandi nella tua cartella home

mkdir -p ~/.claude/commands 
2

Crea un file Markdown per ogni comando

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

Usa il tuo comando personalizzato personale

> /security-review 

Suggerimenti:

  • I comandi personali mostrano “(user)” nella loro descrizione quando elencati con /help
  • I comandi personali sono disponibili solo per te e non condivisi con il tuo team
  • I comandi personali funzionano in tutti i tuoi progetti
  • Puoi usarli per flussi di lavoro consistenti attraverso diverse basi di codice

Chiedere a Claude delle sue capacità

Claude ha accesso integrato alla sua documentazione e può rispondere a domande sulle sue funzionalità e limitazioni.

Domande di esempio

> Claude Code può creare pull request?
> come gestisce Claude Code i permessi?
> quali comandi slash sono disponibili?
> come uso MCP con Claude Code?
> come configuro Claude Code per Amazon Bedrock?
> quali sono le limitazioni di Claude Code?

Claude fornisce risposte basate sulla documentazione a queste domande. Per esempi eseguibili e dimostrazioni pratiche, fai riferimento alle sezioni specifiche dei flussi di lavoro sopra.

Suggerimenti:

  • Claude ha sempre accesso alla documentazione più recente di Claude Code, indipendentemente dalla versione che stai utilizzando
  • Fai domande specifiche per ottenere risposte dettagliate
  • Claude può spiegare funzionalità complesse come integrazione MCP, configurazioni enterprise e flussi di lavoro avanzati

Prossimi passi

Implementazione di riferimento Claude Code

Clona la nostra implementazione di riferimento del container di sviluppo.