Come si usa, nei dettagli
La premessa e la tabella delle frasi da scrivere a Claude sono nella pagina iniziale. Qui i passi per ogni situazione.
Quale caso è il tuo?
| Situazione | Cosa fai | Il bat? |
|---|---|---|
| Progetto nuovo | Crei il repository dal template, apri Claude Code nella cartella e scrivi "Avvia un nuovo progetto" | No: Claude lo elimina a fine procedura |
| Progetto esistente senza regole | copia-regole.bat voce 1 dalla copia del template, poi "Applica le regole di questo progetto" in Claude | Sì, voce 1 (oppure la frase con il percorso del template, senza bat) |
| Progetto esistente con regole già presenti | git pull nel template, copia-regole.bat voce 2, poi "Riallinea le regole" in Claude | Sì, voce 2 |
Il bat fa solo la parte meccanica (copia i file); le domande, le ispezioni e il CLAUDE.md sono di Claude. Dove si lancia e che cosa fa esattamente: Il template come cartella a parte e Dettagli di copia-regole.bat.
Progetto nuovo
-
Crea il repository dal template (su GitHub: Use this template) oppure copia i file in una cartella nuova, senza la cartella
.gitdel template. -
Apri Claude Code in quella cartella e scrivi: "Avvia un nuovo progetto".
-
Rispondi alle domande di avvio (tipo di progetto, sicurezza, Docker, frontend, ORM, ecc.).
-
Alla fine Claude ha: spostato i moduli non scelti da
.claude/rules/arules-optional/, spostato gli opzionali confermati darules-optional/arules/, compilatoCLAUDE.mded eliminato il materiale del template che non serve al progetto (_template/,.claude-plugin/,plugins/,copia-regole.bat; restano.claude/rules/e.claude/rules-optional/per le modifiche successive alle regole;README.mdeCHANGELOG.mddel template si sostituiscono con quelli del progetto). Controlla con/contextche i moduli all'avvio risultino caricati.
I tre moduli backend (backend.md, backend-architecture.md, backend-app.md) si spostano sempre insieme.
Che cosa resta in base al tipo di progetto
| Tipo | Moduli in .claude/rules/ | File di root da tenere |
|---|---|---|
| Fullstack (API + Angular) | core, git, i tre backend, frontend (+ feature-workflow se lo confermi) | .editorconfig, NuGet.config |
| Solo API | core, git, i tre backend | .editorconfig, NuGet.config |
| Solo frontend | core, git, frontend | nessuno dei due file .NET: eliminarli |
| Solo Git | core, git | nessuno dei due file .NET: eliminarli |
In tutti i casi security e docker si tengono solo se li scegli, e backend-email / backend-infra si attivano più avanti, quando servono. .gitattributes e .gitignore restano sempre. Nei progetti senza backend .NET non c'è un file di configurazione per il frontend nel template: lint e formattazione si decidono nel progetto Angular.
Progetto esistente senza regole
Il repository del progetto non cambia e non riceve il template: le regole si copiano da una copia del template tenuta a parte (vedi Il template come cartella a parte). Vale anche se il repository è già su GitHub: "Use this template" funziona solo per repository nuovi.
Strada A, con il bat (Windows):
- Aggiorna la copia del template (
git pull). - Avvia
copia-regole.batdalla cartella del template, scegli la voce 1 e incolla il percorso della root del progetto. Il bat chiede quali moduli facoltativi includere e, a richiesta, i file di root (CLAUDE.md,NuGet.config,.editorconfig,.gitignore,.gitattributes); copia anche la procedura di avvio in_template/avvio-progetto.mddel progetto. - Apri Claude Code nella cartella del progetto e scrivi: "Applica le regole di questo progetto" (senza percorso). Il
CLAUDE.mde le deroghe richiedono comunque Claude (punti 4-7 sotto).
Strada B, senza bat: apri Claude Code nella cartella del progetto e scrivi, con il percorso del template:
- tutte le regole: "Applica le regole in
<percorso del template>a questo progetto esistente"; - solo git (branch e commit): "Integra solo le regole Git in questo progetto, con le regole in
<percorso del template>".
Da qui il lavoro è di Claude, sia con la strada A sia con la B:
-
Guarda, senza modificare nulla: legge git e codice e ti mostra dove il progetto si discosta dalle regole.
-
Per ogni differenza ti chiede una scelta, una alla volta: annotarla come deroga nel
CLAUDE.md(il progetto resta com'è) oppure adeguare il progetto con un refactoring pianificato inPIANO.md. Non riscrive la cronologia git né ristruttura il codice da solo. -
Poi copia in
.claude/rules/del progetto solo i moduli scelti (se non lo ha già fatto il bat), crea ilCLAUDE.mdcon ciò che ha rilevato e propone un commit localechore(rules), che crea solo dopo il tuo ok. Ilpushe la PR sono tuoi. -
Controlla con
/contextche le regole risultino caricate.
Se il progetto ha già un CLAUDE.md o una cartella .claude/, ricordati di dirlo: nel dubbio Claude si ferma e ti chiede come procedere (unire o tenere l'esistente), senza sovrascrivere nulla senza il tuo ok.
Se il progetto ha un frontend Blazor da sostituire con Angular, esiste una procedura dedicata (_template/avvio-progetto.md §3d).
Progetto esistente con regole già presenti
Il progetto contiene già .claude/rules/ e un CLAUDE.md: sono copie delle regole del template e non serve rifare l'avvio. Per aggiornarle:
- Aggiorna la copia del template (
git pull). - Avvia
copia-regole.batdalla cartella del template, scegli la voce 2 e incolla il percorso della root del progetto. Il bat confronta i moduli già presenti nel progetto (in.claude/rules/e in.claude/rules-optional/) con quelli del template, ti mostra quelli diversi e per ciascuno chiede conferma, salvando il vecchio come.md.bak. Se il progetto habackend.md, aggiunge anche i moduli backend mancanti (backend-architecture.md,backend-app.md), accanto abackend.md. - Apri Claude Code nel progetto e scrivi: "Riallinea le regole". Il bat non tocca il
CLAUDE.mddel progetto: i suoi rimandi e l'elenco dei moduli li allinea Claude.
In alternativa al bat, scrivi direttamente a Claude "Riallinea le regole" indicando il percorso del template.
Per aggiungere un modulo che il progetto non ha: voce 1 del bat, oppure "Aggiungi il modulo <nome>". La voce 2 aggiorna soltanto ciò che c'è già e, per i moduli assenti, stampa «[nuovo]».
Il template come cartella a parte
Per i progetti esistenti il template vive fuori da ogni progetto, per esempio in C:\Template\ClaudeCode: clonalo una volta (senza collegarlo ai repository dei progetti) e aggiornalo con git pull prima di ogni uso.
- Il bat si lancia dalla cartella del template, non dal progetto: usa come sorgente la cartella in cui si trova (
.claude\rules\,.claude\rules-optional\,_template\) e quindi non va copiato nel progetto. Si avvia con un doppio clic o da terminale, da qualsiasi cartella. - Il percorso del progetto (la sua root) si incolla quando il bat lo chiede. Il bat rifiuta un progetto che coincide con la cartella del template.
- Repository già su GitHub: non serve cambiarlo né ricrearlo. Cloni il repository del progetto in locale, applichi le regole come sopra, fai il commit
chore(rules)e ilpush. - Percorso del template per Claude: serve nelle frasi della strada B e per aggiungere un modulo o riallineare le regole; la cartella deve essere completa,
_template/compresa.
Dove Claude trova la procedura
Quando scrivi una di queste frasi, Claude legge _template/avvio-progetto.md e la segue (domande, ispezioni, scelta dei moduli, CLAUDE.md, piano). Tu non devi aprirla né citarla. In un progetto nuovo è nella copia del template; in un progetto esistente è nel progetto stesso se hai usato la voce 1 del bat, altrimenti la legge dalla cartella del template che gli indichi. Il bat non sostituisce la procedura: copia soltanto i file, senza domande né ispezioni.
Dettagli di copia-regole.bat
Mostra un menu (solo Windows):
| Opzione | Tipo di progetto | Cosa fa lo script |
|---|---|---|
| 1 | Progetto esistente senza regole | Copia le regole nel progetto (chiede il percorso e, per ogni modulo facoltativo, se includerlo; core.md e git.md si copiano sempre; i tre moduli backend sono una sola domanda) e, a richiesta, i file di root CLAUDE.md, NuGet.config, .editorconfig, .gitignore e .gitattributes (se un file esiste già ed è diverso, chiede conferma e salva il vecchio come .bak) |
| 2 | Progetto con regole già presenti | Aggiorna le regole già presenti nel progetto, sia in .claude/rules/ sia in .claude/rules-optional/ (mostra i file diversi dal template, chiede conferma per ciascuno e salva il vecchio file come .md.bak). Se il progetto ha backend.md, aggiunge i due moduli backend mancanti. I moduli assenti dal progetto non si aggiungono (voce 1); i file di root, CLAUDE.md compreso, non si toccano |
- Non tocca mai
PIANO.mdné altri file del progetto, e non committa nulla (il commitchore(rules)lo propone Claude, dopo il tuo ok). - Il
CLAUDE.mdsi copia solo se manca (senza chiedere): è il modello con i campi[..], che Claude compila poi con le domande di avvio. Se il progetto ne ha già uno, lo script non lo tocca e Claude lo allinea alle regole senza sostituirlo. - Se la voce 1 trova già
.claude/rules/nel progetto, ti avvisa di usare la voce 2 e chiede se continuare; se continui, la procedura di avvio non viene copiata. - Altrimenti la voce 1 copia anche la procedura di avvio in
_template/avvio-progetto.mdnel progetto: così basta aprire Claude Code nel progetto e scrivere "Applica le regole di questo progetto", senza indicare il percorso del template. Claude elimina_template/del progetto a fine procedura. NuGet.confige.editorconfigservono solo ai progetti con backend .NET.