CLAUDE.md o AGENTS.md: dove mettere le istruzioni per il tuo agente
Usa AGENTS.md come base condivisa e CLAUDE.md solo per import e regole specifiche di Claude Code
CLAUDE.md e AGENTS.md sono file Markdown che spiegano a un agente di coding come lavorare in un repository: comandi, test, vincoli, stile e file da non toccare. Se lavori solo con Claude Code, un buon CLAUDE.md può bastare. Se usi Codex, Copilot, Zed, Cursor o altri agenti, conviene rendere AGENTS.md la fonte canonica e farlo importare da CLAUDE.md.
Risposta breve
CLAUDE.md serve a dare memoria di progetto a Claude Code. AGENTS.md serve a dare istruzioni condivise a più coding agent. La scelta più solida non è duplicare due file: metti le istruzioni comuni in AGENTS.md, poi crea un CLAUDE.md minimo che importa AGENTS.md e aggiunge solo le regole specifiche per Claude Code.
- Solo Claude Code: CLAUDE.md è sufficiente se non prevedi altri agenti.
- Team multi-agente: AGENTS.md deve essere la base condivisa perché è riconosciuto da più strumenti.
- Setup consigliato: AGENTS.md canonico, CLAUDE.md con @AGENTS.md e poche note Claude-specific.
Confronto rapido
| Criterio | CLAUDE.md | AGENTS.md |
|---|---|---|
| Chi lo legge | Claude Code lo carica come file di istruzioni nativo del progetto, dell'utente o dell'organizzazione | Codex lo legge nativamente; GitHub Copilot e Zed documentano supporto per AGENTS.md, altri tool lo elencano o lo rendono configurabile |
| Come viene scoperto | Claude Code cerca CLAUDE.md e CLAUDE.local.md nella gerarchia sopra la directory corrente e carica file in sottodirectory quando servono | Codex concatena AGENTS.md e AGENTS.override.md da globale a directory corrente; lo standard consiglia AGENTS.md annidati nei monorepo |
| Ambito e precedenze | I file vengono concatenati: regole utente, progetto, locali e directory specifiche entrano nel contesto | Le istruzioni più vicine al lavoro prevalgono perché arrivano più tardi nella catena o sostituiscono il file base con override |
| Supporto import | Supporta @path/to/file, inclusi import relativi e assoluti, quindi può importare AGENTS.md | È Markdown standard: non richiede una sintassi obbligatoria e non definisce import portabili tra tutti i tool |
| Portabilità tra tool | Ottimo dentro Claude Code, meno portabile se il team usa più agenti | Più adatto come fonte comune quando repository e team usano agenti diversi |
Scenari di setup
Qui il costo è manutenzione del contesto: più copie hai, più è facile creare istruzioni obsolete, contraddittorie o invisibili al tool giusto.
Solo Claude Code
Un agente principale · Istruzioni di progetto
Setup consigliato
CLAUDE.md in root
Quando usarlo
Quando il team lavora quasi sempre in Claude Code
Scegli CLAUDE.md se la priorità è sfruttare al meglio la memoria di Claude Code senza introdurre compatibilità multi-tool.
Team multi-agente
Codex, Copilot, Cursor, Zed o tool misti · Regole condivise
Setup consigliato
AGENTS.md canonico
Quando usarlo
Quando vuoi una base comune per build, test, stile e vincoli
AGENTS.md riduce duplicazioni e rende più probabile che ogni agente parta dalle stesse regole operative.
Monorepo con più progetti
Frontend, backend, pacchetti o team diversi · Istruzioni annidate
Setup consigliato
AGENTS.md in root più AGENTS.md locali
Quando usarlo
Quando ogni area ha comandi, test o vincoli propri
Metti le regole globali in root e aggiungi istruzioni vicine al codice solo quando cambiano davvero per quella directory.
Migrazione da un tool all'altro
Repo con CLAUDE.md già maturo · Portabilità graduale
Setup consigliato
Sposta il contenuto comune in AGENTS.md
Quando usarlo
Quando vuoi provare Codex o Copilot senza riscrivere il manuale del progetto
Mantieni CLAUDE.md come ponte: importa AGENTS.md e conserva solo preferenze o comandi davvero specifici di Claude Code.
Cosa sono CLAUDE.md e AGENTS.md
Sono file di istruzioni per agenti AI che lavorano sul codice. Invece di spiegare ogni volta come installare il progetto, quali test eseguire o quali file evitare, scrivi queste regole in un Markdown dentro il repository. L'agente lo legge all'inizio o quando entra in una sottocartella e usa quel contesto per lavorare con meno tentativi a vuoto.
- CLAUDE.md è il file nativo di Claude Code: contiene memoria e regole specifiche per Claude.
- AGENTS.md è una convenzione più portabile: funziona come manuale operativo per più agenti di coding.
- Entrambi servono a ridurre errori ripetuti, comandi sbagliati e istruzioni perse nelle chat.
- Non sono documentazione per utenti finali: sono istruzioni operative per software agent.
La decisione in una frase
Se il repository deve parlare a un solo agente, usa il file nativo di quell'agente. Se deve parlare a più agenti, crea una fonte comune. Per i team che usano Claude Code insieme a Codex, Copilot, Cursor o Zed, la fonte comune più pratica è AGENTS.md, con CLAUDE.md come adattatore per Claude Code.
- AGENTS.md contiene regole condivise: comandi, test, stile, architettura, limiti e workflow.
- CLAUDE.md contiene solo ciò che Claude Code deve sapere in più o in modo diverso.
- Quando una regola vale per tutti, non copiarla in due file: spostala in AGENTS.md.
Cosa cambia tra CLAUDE.md e AGENTS.md
CLAUDE.md è il meccanismo nativo di Claude Code per istruzioni persistenti. La documentazione Anthropic descrive scope diversi, file locali, caricamento nella gerarchia e import con @path. AGENTS.md nasce invece come formato aperto e prevedibile per i coding agent: un README per agenti, non per esseri umani.
- Claude Code legge CLAUDE.md, non AGENTS.md direttamente.
- Codex legge AGENTS.md prima di lavorare e costruisce una catena di istruzioni globali e di progetto.
- GitHub Copilot documenta AGENTS.md come istruzioni per agenti, accanto ai file .github/copilot-instructions.md.
- Zed supporta più nomi compatibili per regole di progetto, inclusi AGENTS.md e CLAUDE.md.
Il setup che evita duplicazioni
La soluzione operativa è rendere AGENTS.md il file canonico e farlo importare da CLAUDE.md. Anthropic documenta esplicitamente questo pattern per i repository che già usano AGENTS.md con altri agenti. Il vantaggio è semplice: modifichi una sola fonte, ma Claude Code continua a ricevere istruzioni native.
- Scrivi in AGENTS.md tutto ciò che vale per qualunque agente.
- Crea CLAUDE.md con import e una sezione breve per preferenze Claude-specific.
- Evita symlink se lavori anche su Windows: l'import @AGENTS.md è più portabile.
- Rivedi periodicamente i file annidati per rimuovere regole vecchie o contraddittorie.
# CLAUDE.md
@AGENTS.md
## Claude Code
- Usa plan mode prima di modifiche in src/billing o src/auth.
- Per task lunghi, proponi prima un /goal con criteri di successo e comando di verifica.
- Se una regola comune cambia, aggiorna AGENTS.md invece di duplicarla qui.Cosa mettere nei file di istruzioni
Questi file devono ridurre esplorazione inutile e fallimenti ripetuti. Non devono diventare una wiki completa del progetto. Scrivi ciò che un agente deve sapere in quasi ogni sessione: come installare, testare, orientarsi, rispettare vincoli e consegnare lavoro verificabile.
- Comandi validati: install, dev server, build, test, typecheck, lint.
- Struttura del progetto: dove vivono dati, route, componenti, test e script generati.
- Regole non negoziabili: file da non modificare, standard editoriali, sicurezza, privacy.
- Workflow di consegna: controlli finali, formato summary, divieti su commit o push se applicabili.
- Esempi concreti di errori già visti e come evitarli.
Cosa non mettere qui
Non tutto il contesto merita di entrare in AGENTS.md o CLAUDE.md. Se il contenuto è lungo, raro, procedurale o valido solo per un tipo di task, meglio spostarlo in documentazione, regole path-specific o skill. Il file di istruzioni deve restare breve abbastanza da essere letto e seguito.
- Non mettere guide lunghe che servono una volta ogni tanto.
- Non mettere tutorial completi, decision log storici o changelog.
- Non mettere segreti, token, URL privati o dati personali.
- Non mettere istruzioni contraddittorie tra root e sottocartelle.
- Per capacità riusabili, valuta una skill: è un livello diverso rispetto alle istruzioni di progetto.
Come collegarlo al lavoro agentico
Un buon file di istruzioni non sostituisce un buon task. Serve a dare al coding agent una base costante; poi, per lavori lunghi, devi comunque scrivere obiettivo, scope e verifiche. È lo stesso principio del comando /goal: il contesto spiega come lavorare, il goal spiega quando fermarsi.
- Metti in AGENTS.md i comandi che l'agente deve conoscere sempre.
- Nel prompt o in /goal indica risultato atteso, file coinvolti, vincoli e test da eseguire.
- Quando una correzione si ripete in più sessioni, promuovila dal prompt al file di istruzioni.
- Quando una procedura diventa lunga e riusabile, promuovila dal file di istruzioni a una skill o a una guida dedicata.
Domande frequenti
Posso avere sia CLAUDE.md sia AGENTS.md?
Sì. È spesso la soluzione migliore: AGENTS.md come fonte comune e CLAUDE.md che lo importa con @AGENTS.md, più poche regole specifiche per Claude Code.
Cosa succede se i due file si contraddicono?
L'agente riceve contesto incoerente e può scegliere male. Evita duplicazioni: tieni la regola comune in AGENTS.md e lascia in CLAUDE.md solo eccezioni specifiche di Claude Code.
Vale anche per Cursor e Copilot?
Per Copilot sì: GitHub documenta AGENTS.md come istruzioni per agenti. Cursor è elencato dal sito AGENTS.md tra i tool compatibili, ma conviene verificare la documentazione del proprio setup prima di togliere file legacy.
Meglio AGENTS.md o .github/copilot-instructions.md?
Se usi solo Copilot, il file GitHub resta naturale. Se usi più agenti, AGENTS.md è più portabile; puoi comunque mantenere istruzioni Copilot specifiche nella cartella .github quando servono.
Quanto deve essere lungo un file di istruzioni?
Breve e verificabile. La documentazione Claude Code suggerisce istruzioni concise e indica un target sotto 200 righe per CLAUDE.md. Se cresce troppo, sposta dettagli in file annidati, regole o skill.