Passa a:
La cartella .claude: il centro di controllo di Claude Code

La cartella .claude: il centro di controllo di Claude Code

  • Luglio 2026 |
  • 05 Min di lettura

La maggior parte degli sviluppatori che usano Claude Code convive con la cartella .claude senza mai aprirla davvero. La vede comparire nella radice del progetto, sa che esiste, ma la considera una scatola nera generata dallo strumento. È un’occasione persa, perché quella cartella non è un dettaglio implementativo ma il centro di controllo da cui dipende il comportamento di Claude in ogni sessione di lavoro. Capire cosa contiene, quali file si modificano spesso e quali si impostano una volta sola è la differenza tra subire le risposte dell’assistente e configurarlo in modo che si comporti come il team vuole.

Due cartelle, non una

Il primo punto da chiarire è che le cartelle .claude sono due, non una. Quella di progetto vive nella radice del repository e va versionata insieme al codice, perché contiene la configurazione condivisa: ogni membro del team eredita le stesse regole, gli stessi comandi personalizzati e le stesse politiche di permesso. Quella globale vive in ~/.claude/ ed è personale, contiene preferenze individuali, cronologia delle sessioni e memoria automatica che Claude accumula nel tempo. Confondere i due livelli porta a configurazioni che funzionano sulla macchina di chi le ha scritte ma si rompono appena qualcun altro apre il progetto, o all’opposto a regole personali finite per errore nel repository condiviso.

Struttura delle due cartelle .claude, progetto e globale

Il file CLAUDE.md

CLAUDE.md è il file più importante dell’intero sistema. Quando Claude Code apre una sessione lo carica direttamente nel prompt di sistema e ne tiene conto per tutta la conversazione. Quello che si scrive lì viene rispettato in modo costante, dalle convenzioni sui nomi alle scelte architetturali, dai comandi per build e test alle abitudini sul logging. Il valore del file dipende molto dalla disciplina con cui viene mantenuto. Funzionano bene i comandi reali da eseguire, le decisioni di architettura non ovvie, le trappole specifiche del progetto come una modalità strict del compilatore o convenzioni di import non standard. Funzionano male le copie di documentazione già linkabile altrove, le spiegazioni teoriche e le liste interminabili di preferenze stilistiche che un linter coprirebbe meglio.

C’è una soglia pratica sopra cui CLAUDE.md smette di essere efficace. Oltre le duecento righe il modello inizia a perdere aderenza alle istruzioni e il file diventa una di quelle wiki interne che nessuno legge davvero. Quando il progetto cresce conviene affidarsi alla cartella rules/, che permette di spezzare le istruzioni in file separati caricati automaticamente accanto a CLAUDE.md. Ogni regola può essere ulteriormente vincolata a determinati percorsi tramite un frontmatter YAML, in modo che le convenzioni sulle API non vengano caricate quando Claude sta lavorando su un componente React e viceversa. È lo stesso principio dei file di configurazione modulari di strumenti come ESLint o Prettier, applicato alle istruzioni in linguaggio naturale.

Comandi personalizzati

La cartella commands/ trasforma file markdown in slash command invocabili dalla conversazione. Un file review.md diventa il comando /review, invocato col solo nome nelle versioni recenti e non più col vecchio prefisso /project:. Il valore di questi comandi non sta nel salvare un prompt riutilizzabile, come farebbe uno snippet, ma nella possibilità di iniettare nel contesto l’output di comandi shell eseguiti al volo o argomenti passati dall’utente. Un comando di fix issue, per esempio, può ricevere come argomento il numero dell’issue e caricarne il contenuto. L’esempio nell’immagine è un comando di questo tipo: il frontmatter dichiara i permessi necessari, la riga che esegue git diff ne inserisce l’output nel prompt e $ARGUMENTS raccoglie l’area su cui concentrare la revisione, così basta invocare /review per avere il diff corrente già davanti a Claude. Va aggiunto che nelle versioni recenti comandi personalizzati e skill sono confluiti nello stesso meccanismo, tanto che un file in commands/ e una skill equivalente producono lo stesso comando.

Esempio di comando personalizzato nella cartella commands

Skill e agent, due forme diverse di automazione

Skill e agent sono spesso confusi perché vivono entrambi in cartelle dedicate dentro .claude, ma rispondono a esigenze opposte. Una skill è un workflow che Claude attiva di propria iniziativa quando la conversazione corrisponde alla descrizione nel frontmatter del file SKILL.md, senza che l’utente debba invocarla esplicitamente. Quando si chiede a Claude di rivedere una pull request per problemi di sicurezza, una skill chiamata security-review può essere riconosciuta e caricata automaticamente. Le skill hanno il vantaggio di poter portare con sé file di supporto, guide dettagliate e documentazione di riferimento che vivono accanto a SKILL.md e vengono inclusi nel contesto solo al momento dell’attivazione.

Gli agent sono invece personalità specialistiche con un proprio system prompt, una propria selezione di tool e perfino una propria preferenza di modello. Quando un task è abbastanza complesso da meritare un contesto isolato, Claude può delegarlo a un agent che lavora nel proprio spazio, restituisce un risultato compresso e mantiene pulita la sessione principale. La possibilità di restringere i tool disponibili a un agent è una scelta progettuale importante: un auditor di sicurezza non ha alcun motivo di poter scrivere file, e limitarne i permessi a Read, Grep e Glob è una forma di principio del minimo privilegio applicata all’automazione.

Permessi e settings.json

Il file settings.json definisce cosa Claude può fare senza chiedere conferma, cosa è bloccato in modo assoluto e cosa rientra nella zona intermedia che richiede approvazione. La struttura prevede una lista di allow per i comandi sicuri e ripetitivi come gli script di npm o i comandi git in sola lettura, una lista di deny per le operazioni pericolose come rm -rf, l’accesso a file sensibili o le chiamate di rete dirette, e un comportamento di default che chiede sempre conferma per tutto ciò che non rientra nelle due liste. Questa terza zona è quella che rende il sistema usabile in pratica, perché non costringe a prevedere ogni possibile comando in anticipo ma fornisce comunque una rete di sicurezza ragionevole. Come per CLAUDE.md, esiste un equivalente locale, settings.local.json, automaticamente escluso dal versionamento, in cui inserire le deroghe personali senza inquinare la configurazione di team.

Una progressione realistica

Adottare tutta questa struttura dal primo giorno è eccessivo per la maggior parte dei progetti. Una progressione che funziona parte da un CLAUDE.md essenziale prodotto con /init e ridotto manualmente alle voci che contano, prosegue con un settings.json che dichiara esplicitamente i permessi di base, aggiunge uno o due comandi personalizzati per i flussi più ripetuti come la code review o il fix di una issue, e solo quando CLAUDE.md inizia a gonfiarsi promuove le sue sezioni in file separati dentro rules/. Skill e agent arrivano dopo, quando emergono workflow complessi che meritano di essere impacchettati. La cartella .claude è in fondo un protocollo per dire a Claude chi sei, cosa fa il progetto e quali regole vuoi che rispetti. Più chiaramente lo definisci, meno tempo passerai a correggere le sue risposte e più tempo userà davvero per produrre lavoro utile.

Ranieri Vannozzi

L'autore

Ranieri Vannozzi

Sviluppatore e consulente software freelance

Scrivo codice dal 2008 e lavoro su sviluppo enterprise, architetture cloud-native e leadership tecnica. Su HeroHubs racconto quello che incontro ogni giorno nei progetti, tra codice, architetture e intelligenza artificiale.

Articolo scritto con il supporto dell'AI e rivisto dall'autore.

Post Correlati

Claude Design e Pomelli: il brand come contesto che una AI sa leggere

AI

Ottobre 2026

Claude Design e Pomelli: il brand come contesto che una AI sa leggere

Claude Design ricava il design system di un team dal codice, Pomelli ricava il Business DNA di una piccola attività dal sito web. Due prodotti diversi arrivano alla stessa conclusione: la coerenza non nasce dal prompt ma da un profilo estratto una volta e riusato sempre.

Paperclip: costruire aziende di agenti AI con un organigramma

AI

Agosto 2026

Paperclip: costruire aziende di agenti AI con un organigramma

Paperclip permette di disegnare un organigramma di agenti AI che collaborano come i reparti di una vera azienda. Un CEO, uno scrittore, un ingegnere, un editor e un designer che si dividono i task, lavorano in parallelo e chiedono conferma quando serve.

DeepSeek in locale: integrare un modello aperto nei SaaS senza pagare le API

AI

Agosto 2026

DeepSeek in locale: integrare un modello aperto nei SaaS senza pagare le API

Eseguire DeepSeek sulla propria macchina trasforma il costo variabile delle API in un costo fisso di hardware. Un ragionamento su quando conviene, come si fa e quali altri modelli aperti valutare per i SaaS intelligenti di nuova generazione.

Claude Science: quando l’assistente entra in laboratorio

AI

Agosto 2026

Claude Science: quando l’assistente entra in laboratorio

Anthropic lancia Claude Science, un ambiente che collega oltre sessanta database scientifici e coordina agenti specializzati in genomica, proteomica e chimica computazionale. Non un modello più potente, ma un nuovo modo di lavorare per chi fa ricerca.

Sakana Fugu: quando il valore sta nell'orchestrazione, non nel modello

AI

Luglio 2026

Sakana Fugu: quando il valore sta nell'orchestrazione, non nel modello

Sakana Fugu non è un nuovo modello di intelligenza artificiale ma un piccolo orchestratore da sette miliardi di parametri che coordina modelli già esistenti. Il valore si sposta dalla potenza computazionale alla capacità di orchestrazione.

Claude for Small Business: l'AI che lavora al tuo fianco

AI

Maggio 2026

Claude for Small Business: l'AI che lavora al tuo fianco

Le piccole imprese non hanno bisogno di strumenti enormi per competere. Hanno bisogno di strumenti intelligenti. Claude di Anthropic è pensato per chi lavora ogni giorno con risorse limitate ma ambizioni concrete.

Markdown o HTML? Il formato dell’output è una decisione architetturale

AI

Aprile 2026

Markdown o HTML? Il formato dell’output è una decisione architetturale

La maggior parte degli sviluppatori tratta il formato dell'output AI come un dettaglio secondario. Non lo è. La scelta tra Markdown e HTML determina se il risultato verrà letto, condiviso o usato davvero.

Prompt Injection: come l'intelligenza artificiale può essere manipolata (e perché dovresti saperlo)

AI

Febbraio 2026

Prompt Injection: come l'intelligenza artificiale può essere manipolata (e perché dovresti saperlo)

Scopri cos'è la prompt injection, come può influenzare le risposte dell'intelligenza artificiale e quali strategie adottare per proteggere dati e processi aziendali.

Come trasformare gli Assistenti AI in partner di sviluppo affidabili

AI

Gennaio 2026

Come trasformare gli Assistenti AI in partner di sviluppo affidabili

Scopri come il prompt engineering sta diventando una competenza essenziale per sviluppatori. Tecniche pratiche per debugging, refactoring e implementazione di nuove funzionalità con assistenti AI.