<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Git on GeppettoBarbuto - Wiki</title><link>https://blog.carrubanet.duckdns.org/tags/git/</link><description>Recent content in Git on GeppettoBarbuto - Wiki</description><generator>Hugo -- gohugo.io</generator><language>it-it</language><lastBuildDate>Mon, 23 Mar 2026 12:33:44 +0000</lastBuildDate><atom:link href="https://blog.carrubanet.duckdns.org/tags/git/index.xml" rel="self" type="application/rss+xml"/><item><title>Documentation as Code: Il Protocollo LV_Sync_Doc</title><link>https://blog.carrubanet.duckdns.org/wiki/programmazione-ai-automated-docs-esempio/</link><pubDate>Mon, 23 Mar 2026 12:33:35 +0000</pubDate><guid>https://blog.carrubanet.duckdns.org/wiki/programmazione-ai-automated-docs-esempio/</guid><description>&lt;h1 id="-documentation-as-code-il-protocollo-lv_sync_doc"&gt;📚 Documentation as Code: Il Protocollo LV_Sync_Doc
&lt;/h1&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Filosofia:&lt;/strong&gt; &amp;ldquo;Se non è documentato, non è stato fatto. Se la documentazione è manuale, è già obsoleta.&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;::: info OBIETTIVO
Questa pagina descrive l&amp;rsquo;utilizzo del prompt &lt;strong&gt;LV_sync_doc&lt;/strong&gt;, uno strumento di automazione progettato per sincronizzare istantaneamente il codice sorgente con la documentazione narrativa, il log delle modifiche e i manuali utente bilingue.
:::&lt;/p&gt;
&lt;h2 id="-anatomia-del-workflow"&gt;🧩 Anatomia del Workflow
&lt;/h2&gt;&lt;p&gt;Il prompt agisce su quattro livelli incrementali di informazione:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;README (The Entry Point):&lt;/strong&gt; Sintesi ad alto livello per il &amp;ldquo;primo contatto&amp;rdquo; con il repository.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CHANGELOG (The History):&lt;/strong&gt; Registro cronologico dei cambiamenti per la tracciabilità tecnica.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MANUALI (The How-To):&lt;/strong&gt; Documentazione modulare e bilingue (ITA/ENG) divisa per capitoli logici.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ARCHITETTURA (The Why):&lt;/strong&gt; Documentazione delle decisioni tecniche (ADR - Architecture Decision Records).&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="-il-prompt-lv_sync_doc_v4-versione-migliorata"&gt;🛠️ Il Prompt: LV_sync_doc_v4 (Versione Migliorata)
&lt;/h2&gt;&lt;p&gt;Questo prompt è ottimizzato per &lt;strong&gt;Claude 3.5/3.7&lt;/strong&gt; o &lt;strong&gt;GPT-4o&lt;/strong&gt; all&amp;rsquo;interno di VS Code (Copilot Edits).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;name: LV_sync_doc_v4.md
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;description: Sincronizzazione automatica, modulare e verificata della documentazione.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[RUOLO]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Agisci come un Senior Technical Writer e Software Architect. Il tuo obiettivo è la &amp;#34;Zero-Drift Documentation&amp;#34;: la documentazione deve essere un riflesso perfetto del codice.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[CONTESTO]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Analizza il #workspace (git diff, nuovi file, commenti Doxygen/Sphinx). Identifica le modifiche logiche e funzionali.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[COMPITO]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; ANALISI SORGENTE: Verifica la presenza di nuove docstring. Se mancano in funzioni critiche, segnalalo prima di procedere.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; README UPDATE: Aggiorna &lt;span style="color:#e6db74"&gt;`ROOT/README.md`&lt;/span&gt; (Sintesi e Requisiti).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; CHANGELOG: Aggiorna &lt;span style="color:#e6db74"&gt;`ROOT/changelog.md`&lt;/span&gt; seguendo lo standard &amp;#34;Keep a Changelog&amp;#34;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;4.&lt;/span&gt; MANUALE MODULARE (Diátaxis Framework):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Percorso: &lt;span style="color:#e6db74"&gt;`ROOT/doc/manual/`&lt;/span&gt; sottocartelle &lt;span style="color:#e6db74"&gt;`ita/`&lt;/span&gt; e &lt;span style="color:#e6db74"&gt;`eng/`&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Struttura: File numerati &lt;span style="color:#e6db74"&gt;`00_index.md`&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;`01_...`&lt;/span&gt;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Applica modifiche speculari in entrambe le lingue.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Categorizza i nuovi contenuti come: Tutorials, How-to, Reference, o Explanation.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;5.&lt;/span&gt; ADR (Architecture Decision Record):
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Se la logica è cambiata, aggiorna/crea &lt;span style="color:#e6db74"&gt;`ROOT/doc/architecture_notes.md`&lt;/span&gt; spiegando il &amp;#34;PERCHÉ&amp;#34; in ITALIANO.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;6.&lt;/span&gt; COMMIT MESSAGE: Genera un messaggio di commit in formato &amp;#34;Conventional Commits&amp;#34; che riassuma l&amp;#39;intero aggiornamento.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[VINCOLI]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Lingua: Manuali bilingue (ITA/ENG), Architettura e README in ITA.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Numerazione: Mantieni rigorosamente la sequenza dei file (00, 01, 02...).
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Integrità: Non rimuovere mai informazioni esistenti a meno che non siano deprecate dal nuovo codice.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[OUTPUT]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Inizia con: &amp;#34;Analisi completata. Ecco il piano di sincronizzazione documentale:&amp;#34;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;1.&lt;/span&gt; Elenco file impattati.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;2.&lt;/span&gt; Codice completo per ogni file da creare o modificare.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;3.&lt;/span&gt; Messaggio di commit suggerito.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="-diagramma-del-flusso-di-sincronizzazione-mermaid"&gt;📉 Diagramma del Flusso di Sincronizzazione (Mermaid)
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 A[Modifica Codice] --&gt; B{Trigger: LV_sync_doc}
 B --&gt; C[Analisi Workspace/Diff]
 C --&gt; D[Verifica Docstrings/Auto-docs]
 D --&gt; E[Aggiornamento README &amp; Changelog]
 E --&gt; F[Sincronizzazione Manuali ITA/ENG]
 F --&gt; G[Generazione ADR/Architettura]
 G --&gt; H[Generazione Conventional Commit]
 H --&gt; I[Revisione Umana &amp; Push]
 
 style H fill:#bbf,stroke:#333
 style I fill:#bfb,stroke:#333&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="-note-dellarchitetto-miglioramenti-apportati-reasoning"&gt;💡 Note dell&amp;rsquo;Architetto: Miglioramenti apportati (Reasoning)
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Integrazione Diátaxis:&lt;/strong&gt; Nella v4 abbiamo imposto la categorizzazione dei capitoli. Questo costringe l&amp;rsquo;IA a non mescolare istruzioni passo-passo (How-to) con descrizioni tecniche (Reference), migliorando la leggibilità per l&amp;rsquo;utente finale.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Check delle Docstrings:&lt;/strong&gt; Il primo step ora verifica se l&amp;rsquo;Ingegnere ha documentato il codice a basso livello. Se non l&amp;rsquo;ha fatto, l&amp;rsquo;IA funge da &amp;ldquo;coscienza tecnica&amp;rdquo;, chiedendo chiarimenti prima di sporcare la documentazione narrativa con supposizioni.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Conventional Commits:&lt;/strong&gt; Automatizzare il messaggio di commit (&lt;code&gt;feat:&lt;/code&gt;, &lt;code&gt;fix:&lt;/code&gt;, &lt;code&gt;docs:&lt;/code&gt;) garantisce che la storia del repository Git sia professionale e pronta per generare release notes automatiche.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Tags: #AI #PromptEngineering #Documentation #Git #DevOps #Governance*&lt;/p&gt;</description></item></channel></rss>