Salta al contenuto principale

23 - Claude Code 2.0 e VS Code Extension: Checkpoint, Sessioni Nominate, .claude/rules

Claude Code 2.0 e VS Code Extension: Checkpoint, Sessioni Nominate, .claude/rules Il 29 settembre 2025 Anthropic ha rilasciato Claude Code 2.0 , una...

Cosa ne pensi di questo articolo?

23 - Claude Code 2.0 e VS Code Extension: Checkpoint, Sessioni Nominate, .claude/rules
ClaudeFoto:Matheus BertelliPexels

In Breve

Claude Code 2.0 e VS Code Extension: Checkpoint, Sessioni Nominate, .claude/rules Il 29 settembre 2025 Anthropic ha rilasciato Claude Code 2.0 , una...

Claude Code 2.0 e VS Code Extension: Checkpoint, Sessioni Nominate, .claude/rules

Il 29 settembre 2025 Anthropic ha rilasciato Claude Code 2.0, una versione che rappresenta un salto generazionale nell'esperienza utente per lo sviluppatore. Non si tratta semplicemente di un aggiornamento incrementale: per la prima volta, abbiamo strumenti che riconoscono la realtà delle sessioni lunghe, dei task complessi, e della necessità di mantenere il controllo durante il lavoro con gli agenti AI. Checkpoint, sessioni nominate, VS Code Extension beta, gestione dei modelli mid-session - questi non sono feature nice-to-have, sono game changer operativi.

In questo ventitreesimo articolo della serie Claude, esploreremo in profondità come Claude Code 2.0 trasforma il workflow quotidiano: il sistema di checkpoint per il rollback durante refactoring massivi, la VS Code Extension che porta Claude inline nel tuo editor preferito, le sessioni nominate che permettono la continuità di lavoro tra giorni, i file .claude/rules/ che centralizzano le linee guida di progetto, e il model switching mid-session che ti dà il controllo sui costi token.

Cosa Imparerai

  • Capire il sistema di checkpoint e quando usarlo per salvare e rollback
  • Installare e configurare la VS Code Extension beta
  • Navigare l'interfaccia di sidebar e inline diff
  • Rinominare e riprendere sessioni nominate per continuità di lavoro
  • Configurare la directory .claude/rules/ per il controllo granulare
  • Usare background agents per task lunghe senza bloccare il terminale
  • Switchare tra modelli AI mid-session per ottimizzare cost e latency
  • Accedere alle prompt suggestions con Tab per velocizzare il workflow
  • Monitorare il context window nella status line

Panoramica della Serie Completa (Sei qui: Articolo 23)

#ArticoloFocusData
1Claude come Partner TecnicoSetup e primi passiOtt 2024
2Contesto e Setup del ProgettoCLAUDE.md e configurazioneOtt 2024
3Ideazione e RequisitiMVP e user personasOtt 2024
4Architettura Backend e FrontendSpring Boot e AngularNov 2024
5Struttura del CodiceOrganizzazione e convenzioniNov 2024
6Prompt Engineering AvanzatoTecniche avanzateNov 2024
7Testing e qualitàStrategie e generazione testDic 2024
8Documentazione ProfessionaleREADME, API, ADRDic 2024
9Deploy e DevOpsDocker, CI/CD, monitoringGen 2025
10Evoluzione e ManutenzioneRefactoring e scalabilitàGen 2025
11Integrazione Progetto RealeClaude Code in produzioneFeb 2025
12Claude Code CLIComandi e configurazioneFeb 2025
13Agent SkillsCapacità modulariMar 2025
14Subagenti SpecializzatiAgenti con ruoli specificiMar 2025
15Hooks e AutomazioneEvent-driven workflowsApr 2025
16Ralph Wiggum MethodSviluppo guidato da testApr 2025
17BMAD MethodGestione progetti strutturataMag 2025
18Orchestrazione Multi-AgentePipeline di agentiMag 2025
19Collaborative WorkTeam e pair programming AIGiu 2025
20Sicurezza e Best PracticeHardening e complianceLug 2025
21Monitoring e ObservabilityMetriche e debuggingAgo 2025
22Prompt Caching e OptimizationToken e latencySet 2025
23Claude Code 2.0 e VS Code Extension (sei qui)Checkpoint, sessioni, .claude/rulesOtt 2025

1. Claude Code 2.0: Un Salto Generazionale

Il rilascio di Claude Code 2.0 il 29 settembre 2025 segna un punto di inflessione importante nella storia degli strumenti AI-assisted development. Per anni, l'agente AI (sia Claude, Copilot che altri) è stato percepito come uno strumento senza memoria operativa: inizi una sessione, lavori per ore, e se qualcosa va storto, sei nei guai. Con Claude Code 2.0, il modello mentale cambia radicalmente.

Le 6 Innovazioni Principali di Claude Code 2.0

FeatureRelease DateImpatto
Checkpoint System 29 Set 2025 Salva e rollback durante sessioni lunghe
VS Code Extension 29 Set 2025 (beta) Claude direttamente nel tuo editor
Named Sessions 3 Dic 2025 (v2.0.60) Persisti e riprendi sessioni con nomi
.claude/rules/ Directory 3 Dic 2025 (v2.0.60) Linee guida granulari, non solo CLAUDE.md
Background Agents 3 Dic 2025 (v2.0.60) Task lunghe senza bloccare il terminale
Model Switching & Context Window 5 Dic 2025 (v2.0.62) Cambio modello mid-session, visibilità token

La chiave di questa evoluzione è riconoscere che il valore reale non è nella singola iterazione dell'agente, ma nella capacità di orchestrare sessioni lunghe dove puoi dirgli "torna indietro di 5 passi", oppure "usa un modello più economico per il prossimo task", oppure "ricordati di questa regola di style per il prossimo progetto".

2. Checkpoint System: Salvare e Rollback Durante Sessioni Lunghe

Il sistema di checkpoint è la soluzione al problema più frustrante del workflow AI-assisted: sei a 3 ore dentro un refactoring massiccio, Claude ha fatto 50 file, e all'improvviso ti accorgi che il suo approccio non funziona. Non puoi semplicemente tornare indietro. Con i checkpoint, il rollback è una operazione di 2 secondi.

Come Funzionano i Checkpoint

Un checkpoint è una snapshot del filesystem + contesto di conversazione salvato a un punto specifico della sessione. Durante una sessione lunga, Claude Code salva automaticamente checkpoint ogni N iterazioni (default: ogni 10 tool use cycle). Puoi anche manualmente creare checkpoint nel mezzo di un task.

Operazioni di Checkpoint
# Nel terminale Claude Code, durante una sessione:

# 1. Salvare un checkpoint manualmente
/checkpoint save "after-initial-refactoring"

# 2. Elencare tutti i checkpoint disponibili
/checkpoint list

# Output atteso:
# Checkpoint disponibili:
# 1. after-initial-refactoring     [2025-10-29 14:32:15]
# 2. auto-checkpoint-iter-10       [2025-10-29 14:25:43]
# 3. auto-checkpoint-iter-20       [2025-10-29 14:18:22]
# 4. start-of-session              [2025-10-29 14:00:01]

# 3. Rollback a uno specifico checkpoint
/checkpoint restore "after-initial-refactoring"

# Attesa: 5-15 secondi (dipende dalla size del checkpoint)
# Output:
# Checkpoint restored successfully.
# 42 files restored, 8 files removed, 120 lines changed in memory

# 4. Visualizzare differenze tra checkpoint
/checkpoint diff "after-initial-refactoring" "start-of-session"

# 5. Eliminare un checkpoint per risparmiare spazio
/checkpoint delete "auto-checkpoint-iter-10"

Caso d'Uso Reale: Refactor Monorepo 50 File

Scenario Tipico

Lavori su un monorepo Angular + Spring Boot. Decidi di migrare a uno schema di naming più consistente per tutti i servizi. Chiedi a Claude di refactorare 50 file. Claude lavora per 90 minuti, fa 47 file, poi scopri che ha erroneamente cambiato anche le import negli unit test in modo che non buildano più. Con i checkpoint, recuperi il lavoro in 10 secondi.

Workflow checkpoint durante refactoring massivo
#!/bin/bash
# Scenario: refactor 50 file in monorepo

# 1. Avvia Claude Code in una sessione dedicata
claude --session "monorepo-refactor-naming-2025-10-29"

# 2. Dentro la sessione Claude:
> [Shift+Tab+Tab] Refactor 50 file del monorepo per rinominare tutti i service
> seguendo il pattern ServiceName.service.ts e aggiungi commenti JSDoc

# Claude inizia a lavorare...
# Dopo 20 file completati, salva manualmente un checkpoint:
> /checkpoint save "20-files-done-patterns-consistent"

# Continua per altri 30 file...
# Dopo 50 file, chiedi revisione:
> /checkpoint save "all-50-files-complete"
> Mostra un riepilogo di tutti i file cambiati

# A questo punto scopri che i test sono broken:
> /checkpoint list
> Vedi: "20-files-done-patterns-consistent"
> /checkpoint restore "20-files-done-patterns-consistent"

# Ora sei al punto di 20 file. Chiedi approccio diverso:
> Ripeti il refactoring dei prossimi 30 file, ma stavolta
> crea un script di refactoring automatico per i test,
> non modificare i test manualmente.

# Continua...
> /checkpoint save "30-more-files-with-test-automation"
> Concludi con i restanti 20 file
> /checkpoint save "all-50-with-automated-tests"

Checkpoint Automatici vs Manuali

Confronto

AspettoAutomaticiManuali
Frequenza Ogni 10 iterazioni (configurabile) Su richiesta, quando lo decidi
Nome auto-checkpoint-iter-N (generico) Nome descrittivo personalizzato
Uso ideale Safety net passivo, default Milestone logici (feature completata, review ok)
Retention Ultimo 20 (FIFO), gestione automatica Manuale: conserva fino a eliminazione esplicita
Storage ~50 MB per checkpoint (medio) ~50 MB per checkpoint (medio)

3. VS Code Extension Beta: Claude Inline nel Tuo Editor

La VS Code Extension porta Claude Code direttamente dentro VS Code, eliminando la necessità di alternare terminale/editor. L'extension è stata rilasciata in beta pubblica il 29 settembre 2025 e offre un'esperienza di integrazione che cambia il flusso di lavoro.

Installazione e Setup

L'extension è disponibile nel VS Code Marketplace ufficiale con il nome claude-code prodotto da Anthropic.

Installazione VS Code Extension
# Metodo 1: VS Code Marketplace UI
# 1. Apri VS Code
# 2. Vai a Extensions (Ctrl+Shift+X / Cmd+Shift+X)
# 3. Cerca "claude-code" o "Anthropic"
# 4. Clicca Install sul risultato ufficiale (logo Anthropic)
# 5. Al primo avvio, VS Code aprirà un flusso di login browser

# Metodo 2: Command Palette
# 1. Premi Ctrl+Shift+P (Cmd+Shift+P su macOS)
# 2. Digita: Extensions: Install Extensions
# 3. Cerca "claude-code"
# 4. Installa

# Metodo 3: CLI (se disponibile)
code --install-extension anthropic.claude-code

UI della Extension: Sidebar + Inline Diff

Componenti Principali dell'Interfaccia

ComponenteDescrizioneAzione
Claude Sidebar Panel sinistro con conversazione Claude + file context Click icon VS Code sinistra, oppure Ctrl+L
Inline Diff Viewer Visualizza diff fianco-a-fianco prima di applicare Auto su file modification proposti da Claude
Accept/Reject Buttons Applica o rifiuta ogni diff singolarmente Click pulsante oppure keyboard shortcut
Context Files Panel Elenca file caricati nel contesto sessione Drag-drop file nella sidebar oppure /add
Model + Settings Dropdown modello, permessi, checkpoint Gear icon in alto nella sidebar
Workflow tipico con VS Code Extension
# 1. Apri VS Code con un progetto
code ~/projects/my-app

# 2. Clicca icon Claude nel sidebar sinistro (o Ctrl+L)
# → Appare il Claude Sidebar panel

# 3. Trascinare file nel sidebar per caricare nel contesto
# oppure digitare nel prompt Claude

# Esempio prompt nella sidebar:
> Aggiungi validazione email al form di registrazione
> Usa Angular reactive forms e i validatori built-in
> Aggiungi test per la validazione

# 4. Claude lavora sui file, visualizza diff nel editor
# Vedi un diff viewer che mostra:
#   LEFT:  old code
#   RIGHT: new code (highlighted)

# 5. Per ogni diff, scegli:
#   [✓ Accept] [✗ Reject] [↻ Request Change]

# 6. Una volta accettato, il file si modifica in tempo reale
# 7. Puoi continuare a chattare senza uscire dall'editor

Scorciatoie da Tastiera VS Code Extension

Comandi Rapidi

ShortcutAzione
Ctrl+L (Cmd+L macOS)Toggle Claude Sidebar
Ctrl+Shift+KAccept diff (quando diff viewer è in focus)
Ctrl+Shift+JReject diff
Ctrl+Alt+CApri nuova sessione Claude
Ctrl+Alt+VRiprendi sessione precedente
Cmd+K Cmd+D (macOS)Apri Claude Diff View
Alt+EnterInvia messaggio nel Claude input (sidebar)

4. Named Sessions: Continuità di Lavoro tra Giorni

Una delle frustrazioni storiche di Claude Code era che ogni sessione era episodica. Iniziavi lunedì, lavoravi 2 ore, salvavi il file. Martedì, avviavi Claude di nuovo, ma la conversazione era persa, il contesto era sparito. Con Named Sessions (introdotte il 3 dicembre 2025), puoi nominare una sessione e riprenderla identica a come l'hai lasciata.

Salvare una Sessione

Nominare e riprendere sessioni
# 1. Durante una sessione, rinominala:
> /rename "spring-boot-cache-layer-refactor"

# Ora la sessione ha un nome permanente

# 2. Al termine della sessione (dopo 2 ore di lavoro):
> Salvo i progressi. A domani!
# Premi Ctrl+D per uscire

# 3. Il giorno dopo, puoi riprendere esattamente dove eri:
claude --resume "spring-boot-cache-layer-refactor"

# Output:
# Resuming session: spring-boot-cache-layer-refactor
# Last activity: [2025-12-03 17:45:22]
# Context: 42 files loaded, 15 checkpoint disponibili
# Conversation history: 87 messages

# 4. Sei dentro la stessa sessione, stessa conversazione
> Ricordi dove eravamo rimasti? Ricapitoliamo ultimi 3 step
# Claude ha il contesto completo della conversazione

# 5. Elencare tutte le named session:
claude --list-sessions

# Output:
# Named Sessions:
# 1. spring-boot-cache-layer-refactor    [2025-12-03]
# 2. angular-standalone-migration        [2025-11-28]
# 3. database-optimization               [2025-11-15]
# ...

# 6. Riprendere sessione diversa:
claude --resume "angular-standalone-migration"

# 7. Eliminare una sessione (se non ti serve più):
/session delete "angular-standalone-migration"

Quando Usare Named Sessions

Use Case Ideali

  • Refactoring di lunga durata: Feature che dura 2-3 giorni lavorativi
  • Migrazione incrementale: Eg. aggiornare 100 file a nuovo pattern, lotto per lotto
  • Apprendimento e documentazione: Scrivere ebook/tutorial capitolo per capitolo
  • Debugging complesso: Problema che richiede investigazione iterativa (giorni)
  • Pair programming con Claude: Stesso progetto, stessi checkpoint, riprendibile
  • Progetti paralleli: Team può riprendere sessioni di colleghi (su permessi)

5. .claude/rules/ Directory: Linee Guida Granulari

Fino a Claude Code 1.0, il file CLAUDE.md era l'unica fonte di verità per le istruzioni. Ma nei progetti più grandi, avevi esigenze diverse per sottomoduli: regole TypeScript diverse da Java, convenzioni frontend diverse da backend. Con .claude/rules/ (introdotta il 3 dicembre 2025), puoi organizzare le istruzioni in file granulari per dominio.

Struttura della Directory .claude/rules/

Layout consigliato per .claude/rules/
.claude/
├── rules/
│   ├── 00_root.md              # Root rules applicate a tutto
│   ├── frontend/
│   │   ├── 01_typescript.md    # TypeScript + Angular specific
│   │   ├── 02_components.md    # Component structure
│   │   ├── 03_styling.md       # CSS/design system rules
│   │   └── 04_testing.md       # Frontend unit test conventions
│   ├── backend/
│   │   ├── 01_java.md          # Java/Spring Boot specific
│   │   ├── 02_architecture.md  # Clean arch layers
│   │   ├── 03_testing.md       # Backend integration test
│   │   └── 04_database.md      # SQL/schema migrations
│   ├── security/
│   │   ├── 01_secrets.md       # Secret management
│   │   ├── 02_authentication.md # Auth patterns
│   │   └── 03_compliance.md    # GDPR, OWASP
│   ├── devops/
│   │   ├── 01_docker.md        # Dockerfile + compose
│   │   ├── 02_ci_cd.md         # GitHub Actions, pipelines
│   │   └── 03_monitoring.md    # Prometheus, alerts
│   └── shared/
│       ├── 01_git_workflow.md  # Commit, PR, branching
│       ├── 02_documentation.md # Writing standards
│       └── 03_code_style.md    # Immutability, naming
├── settings.json
└── settings.local.json

Esempio di Regole TypeScript

.claude/rules/frontend/01_typescript.md
# TypeScript Rules per Frontend Angular

## Strict Mode
- Abilita sempre `strict: true` in tsconfig.json
- Non usare `any` - preferisci types espliciti o `unknown`
- Niente `Object` come tipo - usa `Record` o type specifico

## Naming Conventions
- **Files:** kebab-case.component.ts, kebab-case.service.ts
- **Classes:** PascalCase (UserComponent, AuthService)
- **Methods/Properties:** camelCase (getUserData, isLoggedIn)
- **Constants:** UPPER_SNAKE_CASE (MAX_RETRIES, API_URL)
- **Privates:** prefisso # oppure private keyword (preferito: #)

## Import Order
1. Angular framework (@angular/*)
2. RxJS (rxjs/*)
3. Third-party libraries
4. Blank line
5. Project modules (@services/*, @models/*)

## Reactive Forms Mandatory
```typescript
// WRONG:
form = new FormGroup({
  email: new FormControl('')
});

// CORRECT:
form = new FormGroup({
  email: new FormControl('', [Validators.required, Validators.email])
});
```

## Change Detection OnPush
```typescript
@Component({
  selector: 'app-user-card',
  template: '...',
  changeDetection: ChangeDetectionStrategy.OnPush  // Sempre questo!
})
```

## No Unsubscribe Pattern
Usa `takeUntil` o `takeUntilDestroyed` (Angular 16+):
```typescript
// AVOID:
subscription = this.service.data$.subscribe(d => this.data = d);

// CORRECT:
private destroy$ = new Subject<void>();
data$ = this.service.data$.pipe(
  takeUntil(this.destroy$)
);
// E nel ngOnDestroy:
ngOnDestroy() { this.destroy$.next(); }
```

Esempio di Regole Java/Spring

.claude/rules/backend/01_java.md
# Java / Spring Boot Rules per Backend

## Clean Architecture Layers
Rispetta i 4 livelli:
1. **Domain:** Business rules, entity, port/interface
2. **Application:** Use case, DTO, exception
3. **Infrastructure:** Repository impl, service integration
4. **Presentation:** Controller, filter, advice

Nessuno strato deve dipendere da strati sopra di lui (dipendenze top-down).

## Immutability
- Preferisci record (Java 14+) per DTO e ValueObject
- Se usi class, fai constructor-only assignment, no setters
- Per entity, preferisci builder pattern

```java
// CORRECT:
public record UserCreateRequest(
  String email,
  String password
) {}

// AVOID:
public class UserCreateRequest {
  private String email;
  public void setEmail(String e) { ... }
}
```

## Error Handling
- Crea custom exception per ogni dominio (UserNotFoundException, etc.)
- Lancia sempre con messaggio user-facing + log server-side
- Global exception handler in @RestControllerAdvice

```java
throw new UserNotFoundException(
  "Utente con ID " + userId + " non trovato"
);
// Log automatico nel handler + HTTP 404
```

## Database Transactions
- Usa @Transactional sui service, non su controller
- Read-only transaction per query non modificanti
- Fallback a JDBC/raw SQL solo se JPA insufficiente

## Testing
- Unit test service (mock repo)
- Integration test controller (Testcontainers PostgreSQL)
- Coverage target: 80%+
- Test nome: methodName_scenario_expectedResult()

Come Claude Legge le Regole

Quando avvi Claude Code in una directory con .claude/rules/, Claude carica automaticamente tutte le regole applicabili:

  1. 00_root.md - sempre letto (regole globali)
  2. Regole per la directory attuale (es. se stai in src/app/ → carica frontend/*.md)
  3. Regole parent quando salendo di directory
  4. Priorità: più specifico vince (frontend/typescript > root)

Verifica Caricamento Regole

Per verificare che le regole siano state caricate correttamente:

> /status
# Mostra: "Rules loaded: 7 files (.claude/rules/)"
# Mostra lista delle regole applicate

# Oppure:
>> /rules
# Lista tutte le regole attive nella sessione

6. Background Agents: Task Lunghe Senza Bloccare

Introdotti il 3 dicembre 2025, i background agents permettono di avviare un task lungo (es. generazione di 100 test, refactoring massiccio) senza bloccare il tuo terminale. Continuai a lavorare normalmente mentre Claude lavora in background.

Avviare un background agent
# Metodo 1: Sintassi &@
> Genera test per tutti i service in src/services/ &@

# Output immediato:
# Background agent started: bg-agent-1729993847
# Use 'claude --attach bg-agent-1729993847' to monitor

# Continui a usare Claude normalmente
> Implementa il nuovo componente UserProfile

# Nel frattempo, l'agente in background genera i test

# Metodo 2: Avvia e monitora
> &@ Refactor 200 file del monorepo
# Ottieni ID agente
# Usa un'altra finestra di terminale:
claude --attach bg-agent-1729993847

# Vedi lo stato in tempo reale

# Metodo 3: Elencare tutti i background agent
claude --list-agents

# Output:
# Background Agents:
# 1. bg-agent-1729993847  [running] 32% - Refactor 200 files
# 2. bg-agent-1729992103  [completed] - Generate tests (132 file)
# 3. bg-agent-1729990001  [failed] - Migration script

# Metodo 4: Attendere il completamento di uno specifico agente
claude --wait bg-agent-1729993847

# Blocca il tuo terminale fino al completamento dell'agente

Caso d'Uso: Generazione Test Massiccia

Scenario

Hai 87 service TypeScript senza test. Avvii un background agent per generare test per tutti. Mentre Claude genera test in background (45 minuti), tu continui a scrivere feature in un'altra parte del progetto. Al completamento, tutti i test sono generati e pronti per review.

Workflow pratico
# Terminal 1: Avvia background agent
claude
> &@ Genera unit test con Jasmine per tutti i 87 service in src/app/services/
> Ogni test deve coprire: metodo principale, error handling, mock HTTP
> File output: {serviceName}.spec.ts nello stesso dir del service

# Output:
# Background Agent started: bg-test-gen-001
# Estimated time: 40-60 minutes
# You can now return to work in this or another terminal

# Terminal 1: Continua lavoro
> /clear
> @src/app/pages/user-profile.component.ts
> Implementa il form di editing profilo con validazione

# Terminal 2 (opzionale): Monitora l'agente in background
claude --attach bg-test-gen-001
# Vedi progresso in tempo reale

# Dopo 45 minuti, Terminal 2 mostra:
# Background Agent COMPLETED
# Generated 87 test files
# Total lines: 12,340
# Coverage: 83%
# Time elapsed: 47 minutes 23 seconds

# Torna a Terminal 1, continua il tuo lavoro
# I test sono già generati e salvati sul filesystem

7. Model Switching e Context Window Visibility

Introdotto il 5 dicembre 2025, il model switching mid-session ti permette di cambiare modello AI durante una sessione senza perdere contesto. Combinato con la visibilità del context window nella status line, puoi ottimizzare cost e latency dinamicamente.

Switchare Modello Mid-Session

Cambio modello durante sessione
# Metodo 1: Comando slash
> /model claude-sonnet-4-20250514
# Switching from claude-opus-4 to claude-sonnet-4
# Model changed successfully. Contesto preservato.

# Metodo 2: Shortcut Alt+P (Option+P su macOS)
# Apre un dropdown dei modelli disponibili, seleziona uno, applica

# Metodo 3: Visualizzare modello corrente
> /status
# Output:
# Session: spring-boot-cache-layer-refactor
# Current Model: claude-opus-4-20250514
# Context Window: 47,382 / 200,000 tokens (23.7%)
# Files Loaded: 12
# Checkpoint: 4 available

# Modelli disponibili (a seconda del piano):
# - claude-haiku-4-20250904        (fastest, cheapest, 200k context)
# - claude-sonnet-4-20250514       (balanced, 200k context)
# - claude-opus-4-20250514         (strongest, 200k context)
# - claude-opus-4-mini-20250903    (mid-tier, 200k context, new!)

Strategia di Switching per Ottimizzare Costi

Model Selection Strategy

TaskModello ConsigliatoMotivoCost/Token
Code generation boilerplate (CRUD, form) Haiku Task semplice, velocità prioritaria Minimo
Refactoring routine, naming, formatting Sonnet Balancio speed/quality, task non critical Medio
Architecture design, security review, complex logic Opus Highest reasoning, criticalità massima Massimo
Test generation, documentation Sonnet Buon compromesso, meno reasoning richiesto Medio

Context Window in Status Line

La status line di Claude Code (riga inferiore del terminale) ora mostra il consumo del context window in tempo reale. Questo è cruciale per sessioni lunghe.

Esempio status line con context window
# Status line in fondo al terminale Claude Code:

[2025-12-05 15:32:18] Model: claude-opus | Context: 67,234/200,000 (33.6%) | Files: 15 | Checkpoint: 3

# Cosa significa:
# - Modello corrente: claude-opus-4-20250514
# - Token usati: 67,234 su 200,000 disponibili
# - Percentuale: 33.6% - sei a metà strada
# - File nel contesto: 15
# - Checkpoint salvati: 3

# Se scende sotto il 10%, Claude ti avverte:
# ⚠️ WARNING: Context window usage > 90%
# Consider: /clear + /add file specifici, o /checkpoint restore

Caso d'Uso: Refactor Lungo con Switching

Scenario pratico
# Avvio sessione per refactor complesso (3 giorni di lavoro)
claude --session "monorepo-major-refactor"

# Primi step: pianificazione e design (reasoning critico)
> /model claude-opus-4-20250514
> [Plan Mode] Crea un piano dettagliato per refactorare i 50 service

# Claude usa Opus, analizza architettura, produce piano
# Status: Context 42,000/200,000 (21%)

# Phase 2: Implementazione routine (Sonnet efficiente)
> /model claude-sonnet-4-20250514
> Implementa i primi 10 service seguendo il piano

# Status: Context 78,000/200,000 (39%)
# Tempo: ridotto perché Sonnet è più veloce

# Phase 3: Testing e debug
> /model claude-haiku-4-20250904
> Genera test per i 10 service implementati

# Status: Context 95,000/200,000 (47.5%)
# Costo: minimo, task semplice

# Status del contesto è sotto 50%, puoi continuare
# Phase 4: Refactor avanzato (torna a Opus)
> /model claude-opus-4-20250514
> Torna indietro al checkpoint "10-services-done"
> Implementa i prossimi 20 service con refactoring conservativo

# SWITCH intelligente basato su criticità del task = minimizzare cost

8. Prompt Suggestions e Autocompletamento Smart (5 Dicembre 2025)

Il 5 dicembre 2025, Anthropic ha aggiunto prompt suggestions nella VS Code Extension e nel CLI. Mentre digiti nel prompt di Claude, premi Tab per vedere suggerimenti contestuali basati sui file caricati e sulla storia della conversazione.

Usando Prompt Suggestions
# Nel CLI:
> Aggiungi validazione [TAB]

# Claude suggerisce automaticamente:
# Suggerimenti contestuali:
# 1. Aggiungi validazione email al form di registrazione
# 2. Aggiungi validazione numero di telefono
# 3. Aggiungi validazione password (strength check)
# 4. Aggiungi validazione IBAN

# Premi freccia su/giù per navigare, Enter per selezionare
# Oppure digita le prime lettere del numero

# Nel VS Code Extension (sidebar Claude):
# Digita: "Genera..."
# Tab mostra:
# 1. Genera test per questo file
# 2. Genera documentazione API
# 3. Genera changelog entry
# 4. Genera seed data

# Tab copia il suggerimento, puoi modificare prima di inviare

9. Caso d'Uso Reale: Refactor Monorepo 50 File con Tutti gli Strumenti

Mettiamo insieme tutto quello che abbiamo imparato in un caso d'uso reale: refactor completo di un monorepo Angular + Spring Boot che dura 3 giorni.

Day 1: Planning e Setup
# 1. Avvia sessione nominata
claude --session "major-refactor-2025-12-05"

# 2. Accedi VSCode Extension (Ctrl+L), carica file radice
# Drag-drop CLAUDE.md + package.json + pom.xml nella sidebar

# 3. Attiva Plan Mode e usa Opus per il planning
> [Shift+Tab+Tab] Crea piano dettagliato per refactorare 50 servizi
> Il piano deve coprire 3 giorni di lavoro, include test, commit strategy

# Claude (Opus) genera piano di 2000 righe
# Status: Context 45,000 / 200,000 (22.5%)

# 4. Salva checkpoint per il piano
> /checkpoint save "day1-planning-complete"

# 5. Rinomina il piano in file:
> Salva il piano in docs/refactor-plan-2025-12-05.md

# End of Day 1
> /session rename "major-refactor-planning-done"
Day 2: Implementazione (Switch a Sonnet per Efficienza)
# 1. Riprendi sessione
claude --resume "major-refactor-planning-done"

# 2. Passa a Sonnet per implementazione routine
> /model claude-sonnet-4-20250514

# 3. Avvia background agent per i primi 20 servizi
> &@ Refactor i primi 20 servizi seguendo il piano
> Includi: rinominare, aggiornare test, aggiornare import

# Background agent avviato: bg-refactor-1
# Continua il tuo lavoro mentre Claude lavora in background

# 4. Nel frattempo, refactor manuale file critici con VS Code Extension
# Usa Sidebar, drag-drop file singoli, fai diff review prima di accept

# 5. Monitora progresso
claude --attach bg-refactor-1
# Vedi: 12/20 servizi completati... 15/20... 20/20 DONE

# 6. Checkpoint al completamento dei primi 20
> /checkpoint save "20-services-refactored"

# 7. Continua con i prossimi 20 in background
> &@ Refactor i servizi 21-40 seguendo il piano
# bg-refactor-2 avviato

# End of Day 2
> /session rename "major-refactor-40-services-done"
Day 3: Completamento e Review (Torna a Opus)
# 1. Riprendi sessione
claude --resume "major-refactor-40-services-done"

# 2. Ultimi 10 servizi + testing integrazione
> /model claude-opus-4-20250514  # Torna a Opus per quality

# 3. Refactor ultimi 10 servizi
> Refactor i servizi finali 41-50
> Run test suite - se failures, debug e fix

# 4. Salva checkpoint "all-50-refactored"
> /checkpoint save "all-50-services-complete"

# 5. Full regression test
> /model claude-haiku-4-20250904  # Torna a Haiku per test routine
> Genera uno smoke test che verifica tutti i 50 servizi in azione

# 6. Code review finale (Opus reasoning)
> /model claude-opus-4-20250514
> Fai una code review completa di tutti i 50 file refactorizzati
> Cerca: error handling inconsistency, missing JSDoc, stile code

# 7. Genera changelog
> /model claude-haiku-4-20250904
> Genera un CHANGELOG entry con tutti i cambiamenti

# 8. Final checkpoint
> /checkpoint save "refactor-complete-ready-for-pr"

# End of Day 3
> Completed! Tutto pronto per PR. Summary:
# - 50 servizi refactorizzati
# - 50 test file aggiornati
# - 0 broken imports
# - CHANGELOG generato
# - Code review completo eseguito

10. Best Practices per Claude Code 2.0

Per massimizzare il valore dei nuovi strumenti, segui queste best practice:

10 Best Practice per Claude Code 2.0

  • Usa Named Sessions per lavoro multigiorni: Mantieni continuità e riduci context reload
  • Salva checkpoint frequentemente: Ogni milestone logica (feature completata, review passato)
  • Organizza .claude/rules/ per dominio: Non mettere tutto in CLAUDE.md
  • Model switching basato su task: Opus per design, Sonnet per implementazione, Haiku per routine
  • Monitora context window: Se > 80%, pulisci con /clear o /checkpoint restore
  • Background agents per task lunghe: Evita di bloccare il tuo lavoro con &@ syntax
  • VS Code Extension per inline diff: Molto più rapido che alt-tab verso terminale
  • Prompt suggestions con Tab: Accelera il typing di prompt lunghi
  • Combina checkpoint + rollback per iter safe: Prova approcci diversi senza rischio
  • Rinomina sessioni con nomi descrittivi: "spring-cache-layer-2025-12-05" non "session-1"

Conclusione: Una Nuova Era di AI-Assisted Development

Claude Code 2.0 rappresenta un cambio paradigmatico nel modo in cui lavoriamo con gli agenti AI. Non è più un tool episodico che "mi aiuta con un task", è un partner di sviluppo continuo che ricorda il contesto, supporta la continuità operativa, e ti dà il controllo granulare su come lavora.

Punti Chiave da Ricordare

  • Checkpoint system: Salva snapshot del filesystem + conversazione, rollback istantaneo
  • VS Code Extension: Claude inline nel tuo editor, diff review integrato
  • Named Sessions: Nomina sessioni, riprendi identiche a come le hai lasciate
  • .claude/rules/ directory: Linee guida granulari per ogni dominio del progetto
  • Background agents: Task lunghe senza bloccare il tuo terminale (&@ syntax)
  • Model switching: Cambia modello mid-session basato su task criticality
  • Context window visibility: Monitora token usage nella status line
  • Prompt suggestions: Tab autocomplete per prompt lunghi

Nel prossimo articolo della serie Claude esploreremo MCP (Model Context Protocol) e come integrare servizi esterni (databases, APIs, file system remoto) direttamente nel contesto di Claude Code, creando un ecosistema davvero connesso di strumenti.

Risorse Ufficiali

  • VS Code Extension Marketplace: https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code
  • Claude Code Changelog: https://code.claude.com/docs/en/changelog
  • Agent SDK Documentation: https://platform.claude.com/docs/en/agent-sdk/overview
  • Best Practices Guide: https://docs.anthropic.com/en/guides/agent-development

Prova Questi Strumenti

Strumenti gratuiti correlati a questo argomento.

Commenti

Caricamento commenti...

Accedi per commentare

Discuti questo articolo nella community

Unisciti al gruppo Telegram per discutere con altri sviluppatori, fare domande e condividere le tue esperienze.

Ti è piaciuto questo articolo?

Esplora altri contenuti sul blog o scopri i miei progetti