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)
| # | Articolo | Focus | Data |
|---|---|---|---|
| 1 | Claude come Partner Tecnico | Setup e primi passi | Ott 2024 |
| 2 | Contesto e Setup del Progetto | CLAUDE.md e configurazione | Ott 2024 |
| 3 | Ideazione e Requisiti | MVP e user personas | Ott 2024 |
| 4 | Architettura Backend e Frontend | Spring Boot e Angular | Nov 2024 |
| 5 | Struttura del Codice | Organizzazione e convenzioni | Nov 2024 |
| 6 | Prompt Engineering Avanzato | Tecniche avanzate | Nov 2024 |
| 7 | Testing e qualità | Strategie e generazione test | Dic 2024 |
| 8 | Documentazione Professionale | README, API, ADR | Dic 2024 |
| 9 | Deploy e DevOps | Docker, CI/CD, monitoring | Gen 2025 |
| 10 | Evoluzione e Manutenzione | Refactoring e scalabilità | Gen 2025 |
| 11 | Integrazione Progetto Reale | Claude Code in produzione | Feb 2025 |
| 12 | Claude Code CLI | Comandi e configurazione | Feb 2025 |
| 13 | Agent Skills | Capacità modulari | Mar 2025 |
| 14 | Subagenti Specializzati | Agenti con ruoli specifici | Mar 2025 |
| 15 | Hooks e Automazione | Event-driven workflows | Apr 2025 |
| 16 | Ralph Wiggum Method | Sviluppo guidato da test | Apr 2025 |
| 17 | BMAD Method | Gestione progetti strutturata | Mag 2025 |
| 18 | Orchestrazione Multi-Agente | Pipeline di agenti | Mag 2025 |
| 19 | Collaborative Work | Team e pair programming AI | Giu 2025 |
| 20 | Sicurezza e Best Practice | Hardening e compliance | Lug 2025 |
| 21 | Monitoring e Observability | Metriche e debugging | Ago 2025 |
| 22 | Prompt Caching e Optimization | Token e latency | Set 2025 |
| 23 | Claude Code 2.0 e VS Code Extension (sei qui) | Checkpoint, sessioni, .claude/rules | Ott 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
| Feature | Release Date | Impatto |
|---|---|---|
| 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.
# 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.
#!/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
| Aspetto | Automatici | Manuali |
|---|---|---|
| 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.
# 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
| Componente | Descrizione | Azione |
|---|---|---|
| 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 |
# 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
| Shortcut | Azione |
|---|---|
| Ctrl+L (Cmd+L macOS) | Toggle Claude Sidebar |
| Ctrl+Shift+K | Accept diff (quando diff viewer è in focus) |
| Ctrl+Shift+J | Reject diff |
| Ctrl+Alt+C | Apri nuova sessione Claude |
| Ctrl+Alt+V | Riprendi sessione precedente |
| Cmd+K Cmd+D (macOS) | Apri Claude Diff View |
| Alt+Enter | Invia 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
# 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/
.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
# 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
# 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:
00_root.md- sempre letto (regole globali)- Regole per la directory attuale (es. se stai in
src/app/→ caricafrontend/*.md) - Regole parent quando salendo di directory
- 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.
# 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.
# 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
# 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
| Task | Modello Consigliato | Motivo | Cost/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.
# 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
# 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.
# 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.
# 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"
# 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"
# 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

Commenti
Caricamento commenti...
Accedi per commentare