Passa al contenuto principale

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?​

SituazioneCosa faiIl bat?
Progetto nuovoCrei 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 regolecopia-regole.bat voce 1 dalla copia del template, poi "Applica le regole di questo progetto" in ClaudeSì, voce 1 (oppure la frase con il percorso del template, senza bat)
Progetto esistente con regole già presentigit pull nel template, copia-regole.bat voce 2, poi "Riallinea le regole" in ClaudeSì, 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​

  1. Crea il repository dal template (su GitHub: Use this template) oppure copia i file in una cartella nuova, senza la cartella .git del template.

  2. Apri Claude Code in quella cartella e scrivi: "Avvia un nuovo progetto".

  3. Rispondi alle domande di avvio (tipo di progetto, sicurezza, Docker, frontend, ORM, ecc.).

  4. Alla fine Claude ha: spostato i moduli non scelti da .claude/rules/ a rules-optional/, spostato gli opzionali confermati da rules-optional/ a rules/, compilato CLAUDE.md ed 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.md e CHANGELOG.md del template si sostituiscono con quelli del progetto). Controlla con /context che 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​

TipoModuli 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 APIcore, git, i tre backend.editorconfig, NuGet.config
Solo frontendcore, git, frontendnessuno dei due file .NET: eliminarli
Solo Gitcore, gitnessuno 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):

  1. Aggiorna la copia del template (git pull).
  2. Avvia copia-regole.bat dalla 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.md del progetto.
  3. Apri Claude Code nella cartella del progetto e scrivi: "Applica le regole di questo progetto" (senza percorso). Il CLAUDE.md e 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:

  1. Guarda, senza modificare nulla: legge git e codice e ti mostra dove il progetto si discosta dalle regole.

  2. 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 in PIANO.md. Non riscrive la cronologia git né ristruttura il codice da solo.

  3. Poi copia in .claude/rules/ del progetto solo i moduli scelti (se non lo ha già fatto il bat), crea il CLAUDE.md con ciò che ha rilevato e propone un commit locale chore(rules), che crea solo dopo il tuo ok. Il push e la PR sono tuoi.

  4. Controlla con /context che 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:

  1. Aggiorna la copia del template (git pull).
  2. Avvia copia-regole.bat dalla 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 ha backend.md, aggiunge anche i moduli backend mancanti (backend-architecture.md, backend-app.md), accanto a backend.md.
  3. Apri Claude Code nel progetto e scrivi: "Riallinea le regole". Il bat non tocca il CLAUDE.md del 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 il push.
  • 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):

OpzioneTipo di progettoCosa fa lo script
1Progetto esistente senza regoleCopia 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)
2Progetto con regole già presentiAggiorna 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.md né altri file del progetto, e non committa nulla (il commit chore(rules) lo propone Claude, dopo il tuo ok).
  • Il CLAUDE.md si 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.md nel 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.config e .editorconfig servono solo ai progetti con backend .NET.