<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Copilot on GeppettoBarbuto - Wiki</title><link>https://blog.carrubanet.duckdns.org/tags/copilot/</link><description>Recent content in Copilot on GeppettoBarbuto - Wiki</description><generator>Hugo -- gohugo.io</generator><language>it-it</language><lastBuildDate>Thu, 26 Mar 2026 07:32:11 +0000</lastBuildDate><atom:link href="https://blog.carrubanet.duckdns.org/tags/copilot/index.xml" rel="self" type="application/rss+xml"/><item><title>OpenCode.ai: L'Hub degli Agenti Cross-Provider</title><link>https://blog.carrubanet.duckdns.org/wiki/intelligenza_artificiale-ai-coding-assistants-cli-opencode/</link><pubDate>Thu, 26 Mar 2026 07:32:02 +0000</pubDate><guid>https://blog.carrubanet.duckdns.org/wiki/intelligenza_artificiale-ai-coding-assistants-cli-opencode/</guid><description>&lt;h1 id="-opencodeai-lhub-degli-agenti-cross-provider"&gt;🔓 OpenCode.ai: L&amp;rsquo;Hub degli Agenti Cross-Provider
&lt;/h1&gt;&lt;p&gt;::: info FILOSOFIA &amp;ldquo;OPEN&amp;rdquo;
OpenCode.ai è un&amp;rsquo;interfaccia a riga di comando progettata per portare le capacità agentiche (lettura file, esecuzione test, editing multi-file) su qualsiasi modello linguistico. È lo strumento ideale per chi vuole le prestazioni di Claude Code senza i vincoli di fatturazione della Anthropic Console.
:::&lt;/p&gt;
&lt;h2 id="1-architettura-e-funzionamento"&gt;1. Architettura e Funzionamento
&lt;/h2&gt;&lt;p&gt;OpenCode agisce come un bridge tra il tuo terminale e le API dei modelli.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Context Management:&lt;/strong&gt; Scansiona automaticamente la cartella del progetto (rispettando il file &lt;code&gt;.gitignore&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tool Use:&lt;/strong&gt; È in grado di invocare comandi shell per verificare se il codice che ha scritto compila o passa i test.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="2-installazione-e-primo-avvio"&gt;2. Installazione e Primo Avvio
&lt;/h2&gt;&lt;p&gt;Essendo basato su Node.js, l&amp;rsquo;installazione è immediata su Linux (Mac Pro), Windows (WSL2) o macOS.&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Installazione globale tramite NPM&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install -g @opencode/cli
&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 style="color:#75715e"&gt;# Inizializzazione e Login&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;opencode auth login
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="3-collegare-i-tuoi-provider-ingegneria-dei-costi"&gt;3. Collegare i tuoi Provider (Ingegneria dei Costi)
&lt;/h2&gt;&lt;p&gt;Questa è la sezione più importante per ottimizzare il tuo budget.&lt;/p&gt;
&lt;h3 id="a-sfruttare-labbonamento-github-copilot-pro-plus"&gt;A. Sfruttare l&amp;rsquo;abbonamento GitHub Copilot Pro Plus
&lt;/h3&gt;&lt;p&gt;Dato che hai già Copilot, puoi accedere ai modelli (Claude 3.5 Sonnet, GPT-4o) tramite &lt;strong&gt;GitHub Models&lt;/strong&gt; senza costi aggiuntivi:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Vai su &lt;a class="link" href="https://github.com/marketplace/models" target="_blank" rel="noopener"
 &gt;GitHub Marketplace / Models&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Genera un &lt;strong&gt;Personal Access Token (PAT)&lt;/strong&gt; con permessi di lettura per i modelli.&lt;/li&gt;
&lt;li&gt;In OpenCode, configura l&amp;rsquo;endpoint come &amp;ldquo;OpenAI Compatible&amp;rdquo; puntando a &lt;code&gt;https://models.inference.ai.azure.com&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="b-collegamento-a-ollama-local-agent"&gt;B. Collegamento a Ollama (Local Agent)
&lt;/h3&gt;&lt;p&gt;Per lavorare su codice sensibile che non deve lasciare il tuo Mac Pro o il server Proxmox:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Assicurati che Ollama sia attivo sulla porta 11434&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;opencode config set provider ollama
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;opencode config set model deepseek-coder-v2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="4-workflow-operativo-esempi-pratici"&gt;4. Workflow Operativo: Esempi Pratici
&lt;/h2&gt;&lt;h3 id="analisi-di-un-bug"&gt;Analisi di un Bug
&lt;/h3&gt;&lt;p&gt;Se hai un errore nel terminale, non copiarlo. Chiedi a OpenCode di leggerlo:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;opencode ask &lt;span style="color:#e6db74"&gt;&amp;#34;Analizza l&amp;#39;ultimo errore di compilazione e suggerisci una correzione&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="refactoring-multi-file-agent-mode"&gt;Refactoring Multi-file (Agent Mode)
&lt;/h3&gt;&lt;p&gt;L&amp;rsquo;agente può modificare l&amp;rsquo;architettura del progetto:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;opencode edit &lt;span style="color:#e6db74"&gt;&amp;#34;Sposta la logica di validazione da main.py a un nuovo modulo validators.py e aggiorna tutti i riferimenti&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cosa succede:&lt;/strong&gt; OpenCode leggerà &lt;code&gt;main.py&lt;/code&gt;, creerà &lt;code&gt;validators.py&lt;/code&gt;, modificherà gli import e ti mostrerà un &amp;ldquo;Diff&amp;rdquo; per l&amp;rsquo;approvazione.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="-topologia-di-integrazione-mermaid-882"&gt;📉 Topologia di Integrazione (Mermaid 8.8.2)
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 USER["Engineer (Terminal)"] --&gt; OCODE["OpenCode CLI"]
 
 subgraph Providers [Gateway dei Modelli]
 OCODE --&gt;|BYOK| GH["GitHub Models (Copilot Sub)"]
 OCODE --&gt;|Local| OL["Ollama (Mac Pro / PVE)"]
 OCODE --&gt;|Direct| AN["Anthropic / OpenAI API"]
 end

 subgraph OS_Interaction [Accesso al Sistema]
 OCODE &lt;--&gt;|Read/Write| FS["Project Filesystem"]
 OCODE --&gt;|Execute| CMD["Shell Commands / Tests"]
 end

 style OCODE fill:#f9f,stroke:#333,stroke-width:2px
 style GH fill:#bbf,stroke:#333&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="-configurazione-dei-filtri-opencodeignore"&gt;🛠️ Configurazione dei Filtri (.opencodeignore)
&lt;/h2&gt;&lt;p&gt;Per evitare di consumare token inutilmente o inviare dati non necessari, crea un file &lt;code&gt;.opencodeignore&lt;/code&gt; nella root del progetto:&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-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Escludi cartelle pesanti
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;node_modules/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;.venv/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;__pycache__/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dist/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;build/
&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;# Escludi file di dati giganti
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;*.csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;*.log
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="-note-dellarchitetto-critical-thinking"&gt;💡 Note dell&amp;rsquo;Architetto (Critical Thinking)
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sicurezza:&lt;/strong&gt; Quando colleghi il tuo abbonamento Copilot tramite GitHub Models, ricorda che ci sono dei &lt;em&gt;Rate Limits&lt;/em&gt; giornalieri. Per lo sviluppo massivo, alterna l&amp;rsquo;uso con &lt;strong&gt;Ollama&lt;/strong&gt; per task di routine e usa i modelli cloud solo per il ragionamento logico complesso.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Validation:&lt;/strong&gt; Anche se OpenCode può eseguire i test, non fidarti ciecamente. Usa sempre la nostra &lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/ai-review-checklist" &gt;AI Code Review Checklist&lt;/a&gt; prima di fare il commit finale.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;Tags: #OpenCode #AI #CLI #Copilot #Ollama #Automation*&lt;/p&gt;</description></item><item><title>Mastering AI-Driven Development</title><link>https://blog.carrubanet.duckdns.org/wiki/intelligenza_artificiale-mastering_ai-driven_development/</link><pubDate>Mon, 23 Mar 2026 11:56:34 +0000</pubDate><guid>https://blog.carrubanet.duckdns.org/wiki/intelligenza_artificiale-mastering_ai-driven_development/</guid><description>&lt;h1 id="-mastering-ai-driven-development"&gt;🚀 Mastering AI-Driven Development
&lt;/h1&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Guida alla trasformazione della routine di programmazione attraverso l&amp;rsquo;Intelligenza Artificiale.&lt;/strong&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;::: info VISIONE
L&amp;rsquo;IA non sostituisce il programmatore, ma ne potenzia l&amp;rsquo;efficacia. Questo percorso formativo ti guiderà nella configurazione dei tuoi strumenti, nell&amp;rsquo;apprendimento del linguaggio di comunicazione con i modelli (Prompting) e nella validazione critica del codice generato.
:::&lt;/p&gt;
&lt;h2 id="-il-percorso-formativo-the-journey"&gt;📈 Il Percorso Formativo (The Journey)
&lt;/h2&gt;&lt;h3 id="1-fondamenta-e-mindset"&gt;1. Fondamenta e Mindset
&lt;/h3&gt;&lt;p&gt;Prima di scrivere codice, dobbiamo capire come &amp;ldquo;pensano&amp;rdquo; i modelli e come impostare le regole del gioco.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🛡️ &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/Workflow_del_Software_di_Qualita" &gt;Il Workflow dell&amp;rsquo;Ingegneria del Software di Qualità&lt;/a&gt;:&lt;/strong&gt; Comprendere i tre livelli di difesa (Conoscenza, Review, Automazione).&lt;/li&gt;
&lt;li&gt;🎯 &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/intelligenza_artificiale/prompt-engineering" &gt;Prompt Engineering Avanzato&lt;/a&gt;:&lt;/strong&gt; Imparare il framework RCTCO per istruzioni senza ambiguità.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2-dominio-dellambiente-ide--context"&gt;2. Dominio dell&amp;rsquo;Ambiente (IDE &amp;amp; Context)
&lt;/h3&gt;&lt;p&gt;Trasforma il tuo editor in una postazione di comando assistita.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;⌨️ &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/intelligenza_artificiale/coding-assistants/GitHub_Copilot_Mastery_Hub" &gt;GitHub Copilot Mastery Hub&lt;/a&gt;:&lt;/strong&gt; La guida definitiva all&amp;rsquo;uso di Copilot in VS Code.&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/ai/context-management" &gt;Context Management &amp;amp; Indexing&lt;/a&gt;:&lt;/strong&gt; (NUOVO) Come istruire l&amp;rsquo;IA a &amp;ldquo;leggere&amp;rdquo; correttamente il tuo progetto evitando file obsoleti.&lt;/li&gt;
&lt;li&gt;📓 &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/python/jupyter" &gt;Jupyter Notebook in VS Code&lt;/a&gt;:&lt;/strong&gt; Sperimentazione rapida e prototipazione interattiva.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="3-agenti-e-collaborazione"&gt;3. Agenti e Collaborazione
&lt;/h3&gt;&lt;p&gt;Smetti di usare l&amp;rsquo;IA come un motore di ricerca e inizia a usarla come un collega senior.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;💎 &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/intelligenza_artificiale/collaboratore_di_prompt" &gt;Collaboratore di Prompt (Gemini Gem)&lt;/a&gt;:&lt;/strong&gt; Usa la gemma dedicata per rifinire le tue richieste.&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/intelligenza_artificiale/gemini/gems-hub" &gt;Le Gemme di Gemini: Esperti Personalizzati&lt;/a&gt;:&lt;/strong&gt; Come creare agenti verticali per ogni esigenza (Reviewer, Architect, Writer).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="4-verifica-test-e-privacy-the-shield"&gt;4. Verifica, Test e Privacy (The Shield)
&lt;/h3&gt;&lt;p&gt;Il codice generato dall&amp;rsquo;IA è debito tecnico finché non viene validato.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/intelligenza_artificiale/checklist" &gt;AI Code Review Checklist&lt;/a&gt;:&lt;/strong&gt; Validazione umana.&lt;/li&gt;
&lt;li&gt;🧪 &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/ai/unit-testing" &gt;AI-Powered Unit Testing&lt;/a&gt;:&lt;/strong&gt; (NUOVO) Usare l&amp;rsquo;IA per generare suite di test (PyTest/GoogleTest) e garantire la correttezza logica.&lt;/li&gt;
&lt;li&gt;🔍 &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/Static_Analysis_Automated_Linting" &gt;Analisi Statica e Linting&lt;/a&gt;:&lt;/strong&gt; Automazione della qualità.&lt;/li&gt;
&lt;li&gt;🔒 &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/ai/local-llm-privacy" &gt;Local LLM for Sensitive Code&lt;/a&gt;:&lt;/strong&gt; (NUOVO) Configurare Ollama/LM Studio per progetti che non possono risiedere sul cloud.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="5-manutenibilità-e-governance"&gt;5. Manutenibilità e Governance
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;📚 &lt;strong&gt;&lt;a class="link" href="https://blog.carrubanet.duckdns.org/programmazione/ai/automated-docs" &gt;Documentation as Code (AI-Driven)&lt;/a&gt;:&lt;/strong&gt; (NUOVO) Sincronizzare codice e manuali (Doxygen/Sphinx) tramite agenti IA.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="-mappa-concettuale-del-nuovo-workflow-mermaid"&gt;📉 Mappa Concettuale del Nuovo Workflow (Mermaid)
&lt;/h2&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 A[Requisito] --&gt; B[Gemma: Prompt Fixer]
 B --&gt; C{Sensibilità Dato?}
 C --&gt;|Privato| D[Local LLM: Ollama/LM Studio]
 C --&gt;|Standard| E[Cloud LLM: Claude/GPT]
 D --&gt; F[Coding: Copilot Edits]
 E --&gt; F
 F --&gt; G[Context Check: Indexing]
 G --&gt; H{Validazione}
 H --&gt;|Manuale| I[AI Review Checklist]
 H --&gt;|Tecnica| J[Static Analysis]
 H --&gt;|Logica| K[AI Unit Testing]
 K --&gt; L[Automated Docs Generation]
 L --&gt; M[Codice Pro]
 
 style D fill:#f96,stroke:#333
 style K fill:#bbf,stroke:#333
 style L fill:#bbf,stroke:#333&lt;/pre&gt;</description></item></channel></rss>