← BLOG
Tips

Best Practice per CLAUDE.md: Configura Claude Code per Qualsiasi Progetto

CLAUDE.md e' la singola configurazione piu' impattante per Claude Code. Un file ben scritto trasforma l'assistenza IA generica in competenza specifica per il progetto.

CLAUDE.md e' un file markdown nella root del tuo progetto. Claude Code lo legge all'inizio di ogni sessione prima che tu digiti qualsiasi cosa. Un buon CLAUDE.md trasforma l'IA generica in uno strumento che comprende le convenzioni, lo stack tecnologico e i limiti del tuo progetto.

Cosa dovresti includere in CLAUDE.md?

Concentrati sulle informazioni che uno sviluppatore intelligente che entra nel tuo team avrebbe bisogno il primo giorno. Mantienilo pratico: stack tecnologico, comandi, convenzioni e cose da evitare.

Template CLAUDE.md minimale

markdown
# Contesto del Progetto

App Next.js 14 con TypeScript, Tailwind CSS e Prisma.
Database: PostgreSQL. Auth: NextAuth.js.

## Comandi
- `npm run dev` — avvia server di sviluppo (porta 3000)
- `npm run test` — esegui test Jest
- `npm run lint` — esegui ESLint
- `npm run db:migrate` — esegui migrazioni Prisma

## Architettura
- Server component di default, client component in /components/client/
- Route API in /app/api/ con validazione Zod
- Query database in /lib/db/ (mai nei component)

## Convenzioni
- TypeScript strict mode, non usare mai `any`
- Tailwind per lo styling, niente CSS modules
- Commit convenzionali: feat:, fix:, chore:

## NON fare
- Modificare file in /legacy/ o /vendor/
- Cambiare la configurazione auth senza approvazione esplicita
- Aggiungere nuove dipendenze senza chiedere prima

Quali sono gli errori piu' comuni con CLAUDE.md?

ErrorePerche' danneggiaSoluzione
Troppo lungo (500+ righe)Spreca la finestra di contesto ad ogni sessioneMantienilo sotto le 200 righe, linka alla documentazione per i dettagli
Troppo vago ("scrivi codice pulito")Non fornisce indicazioni attuabiliSii specifico: "Usa server component di default"
Comandi mancantiClaude indovina come eseguire/testare/buildareElenca ogni script npm rilevante
Nessuna restrizioneClaude potrebbe modificare file sensibiliAggiungi una sezione chiara "NON fare"
Duplicato del READMEIl README e' per gli umani, CLAUDE.md e' per l'IAConcentrati su convenzioni e regole, non sulla descrizione del progetto

Come strutturare CLAUDE.md per progetti grandi?

Per codebase grandi, usa la sintassi @import per dividere la configurazione tra le directory. Claude Code segue gli import e costruisce un quadro completo.

markdown
# Root CLAUDE.md

## Convenzioni globali
- TypeScript strict, niente `any`
- Tutte le route API validano l'input con Zod

@import packages/api/CLAUDE.md
@import packages/web/CLAUDE.md
@import packages/shared/CLAUDE.md

Ogni sotto-CLAUDE.md contiene regole specifiche per quel pacchetto. Questo mantiene il file root breve dando a Claude Code un contesto approfondito su ogni area del codebase.

Come generare CLAUDE.md automaticamente?

Claude Code puo' generare un CLAUDE.md iniziale analizzando il tuo progetto:

bash
# Auto-generare CLAUDE.md
claude /init

# Questo crea un CLAUDE.md basato su:
# - Script package.json
# - Struttura del progetto
# - File di configurazione esistenti
# - Pattern della cronologia git
TIP

Inizia con /init, poi affina manualmente. Il file auto-generato e' un buon punto di partenza, ma non conoscera' le convenzioni non scritte del tuo team. Aggiungile tu stesso.

La gerarchia di memoria di CLAUDE.md

Claude Code legge i file CLAUDE.md da piu' posizioni, in ordine di priorita':

  • +CLAUDE.md nella root del progetto (condiviso con tutto il team)
  • +File CLAUDE.md nelle sottodirectory (tramite @import)
  • +~/.claude/CLAUDE.md (le tue preferenze personali globali)
  • +Memoria Automatica (MEMORY.md, gestita dal comando /memory)

Le impostazioni a livello di progetto sovrascrivono quelle personali. Questo significa che le convenzioni del team hanno sempre la precedenza sulle preferenze individuali.

Domande frequenti

Dovrei committare CLAUDE.md su git?+
Si'. CLAUDE.md e' una risorsa del team, come .editorconfig o .eslintrc. Committarlo assicura che ogni sviluppatore del team ottenga lo stesso comportamento dell'IA. Se hai preferenze personali, mettile in ~/.claude/CLAUDE.md.
Quanto spesso dovrei aggiornare CLAUDE.md?+
Aggiornalo ogni volta che le convenzioni del progetto cambiano. Aggiungi nuovi comandi, aggiorna le note sull'architettura e affina le restrizioni man mano che impari su cosa Claude Code ha bisogno di guida. Una revisione trimestrale e' una buona cadenza minima.
CLAUDE.md funziona con altri strumenti di IA?+
CLAUDE.md e' specifico per Claude Code. Cursor usa .cursorrules per uno scopo simile. I concetti sono trasferibili, ma il formato del file no. Alcuni team mantengono entrambi i file da un'unica fonte di verita'.
Qual e' la differenza tra CLAUDE.md e Skills?+
CLAUDE.md fornisce il contesto del progetto e le regole che si applicano a ogni sessione. Gli Skills sono template di comandi riutilizzabili per task specifici (es. "deploy in staging"). Pensa a CLAUDE.md come al documento di briefing e agli Skills come al manuale operativo.
ALL POSTSSTART FREE COURSE →