Corregge l'avvertenza sbagliata: graphify update . non sovrascrive i nodi semantici, solo i .md nuovi restano a livello di struttura. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
3.3 KiB
Grafo della conoscenza (graphify)
Mappa interrogabile del repository: codice, migrazioni SQL e documentazione, con le relazioni tra simboli, file e concetti. Serve a orientarsi in fretta («cosa chiama questa funzione?», «quale decisione tocca questa tabella?»). Non è fonte di verità: se grafo e codice divergono, vale il codice.
Cosa c'è e dove
Il grafo vive in graphify-out/, locale e non versionato (è in .gitignore): si rigenera,
non si committa. Contiene graph.json (dati), graph.html (visualizzazione, si apre nel
browser) e GRAPH_REPORT.md (nodi centrali, community, domande suggerite).
| Parte | Come è costruita | Costo |
|---|---|---|
| Codice e SQL | Analisi dell'AST, senza LLM | Gratis, secondi |
| Documentazione | Estrazione semantica con agenti (docs/, ...) |
Token, qualche minuto |
| Immagini e icone | Escluse di proposito: non dicono nulla di utile | Non estratte |
Installazione
Una tantum, per ogni sviluppatore. L'extra [sql] serve per le migrazioni in
supabase/migrations/: senza, i 53+ file .sql non entrano nel grafo.
uv tool install "graphifyy[sql]"
La skill /graphify per Claude Code è già nel repo in .claude/skills/graphify/.
Cursor e Codex non la leggono: lì si usa la CLI.
Uso quotidiano
graphify query "chi scrive in eventi_app?" # domanda in linguaggio naturale
graphify explain "Squadra" # un nodo e i suoi vicini
graphify path "GestioneEventi" "eventi_app" # percorso più breve tra due nodi
In Claude Code: /graphify query "...", oppure leggere graphify-out/GRAPH_REPORT.md.
Quando rigenerarlo
| Situazione | Comando | Costo |
|---|---|---|
| Hai cambiato codice o migrazioni | graphify update . |
Gratis |
Hai cambiato documenti in docs/ |
/graphify . --update (skill) |
Token, solo i file modificati |
| Grafo assente (clone nuovo) | graphify update ., poi la riga sopra per i documenti |
Come sopra |
Il grafo riporta il commit da cui è stato costruito (GRAPH_REPORT.md, sezione «Graph
Freshness»): confrontalo con git rev-parse HEAD per sapere se è vecchio.
Nota: graphify update . su un grafo già completo conserva i nodi semantici dei documenti
(verificato). I .md nuovi o modificati entrano però solo come struttura (titoli e sezioni):
per l'estrazione semantica serve /graphify . --update, che rielabora solo quei file.
Limiti noti
- Il report segnala archi su nodi inesistenti e archi multipli collassati, soprattutto nelle migrazioni SQL e nei template GitHub: il grafo può essere incompleto in quei punti.
- Un file letto solo in parte viene riprovato al giro successivo (
--update). src/styles.csse i file di configurazione (Dockerfile,.toml,.lock,.env.example) non sono nel grafo..env.examplenon va mai incluso.