Modulo 08

GitHub Copilot in contesti reali

Setup, configurazione e gestione di GitHub Copilot nell'ambiente aziendale Blulink. Licenze, policy, privacy, Copilot Chat, code completion, inline suggestions, integrazione con Azure DevOps, Copilot per documentazione. Laboratorio con output riusabili e confronto operativo diretto con Claude Code del modulo 7.

In questo modulo
  1. Cos'è GitHub Copilot oggi
  2. Licenze, policy, privacy
  3. Setup in ambiente Blulink
  4. Code completion e inline suggestions
  5. Copilot Chat e agent mode
  6. Integrazione con Azure DevOps
  7. Copilot per la documentazione
  8. Confronto operativo con Claude Code
  9. Laboratorio pratico
  10. Risorse di approfondimento

1. Cos'è GitHub Copilot oggi

GitHub Copilot è diventato un prodotto multiforme: non è più solo "autocompletion in editor". Oggi comprende almeno cinque modalità d'uso rilevanti:

  1. Inline completions — il cuore storico del prodotto, suggerimenti riga-per-riga mentre scrivi.
  2. Copilot Chat — chat integrata in editor o browser per domande, spiegazioni, generazione di codice più ampia.
  3. Agent mode — modalità agentica (simile a Claude Code) che pianifica e modifica più file in un task.
  4. Copilot in GitHub — sul web: review assistita, riepiloghi di PR, Q&A su repo.
  5. Copilot per linea di comando (CLI) e per applicazioni specifiche (Copilot for Azure, Copilot per Teams, ecc.).

Il vantaggio strategico di Copilot per Blulink è l'integrazione nativa con l'ecosistema Microsoft/GitHub/Azure DevOps: SSO, policy, licensing, audit log si inseriscono nell'amministrazione esistente senza strumenti aggiuntivi.

2. Licenze, policy, privacy

Tier disponibili

TierTargetNote
Copilot IndividualSviluppatori singoliNon adatto a uso aziendale: privo dei controlli di policy.
Copilot BusinessTeam aziendaliSSO, policy, esclusione dell'uso dei dati per training, audit log.
Copilot EnterpriseOrganizzazioni grandiAggiunge knowledge base su repo, Copilot Chat potenziata, integrazione profonda con GitHub Enterprise Cloud.

Policy chiave da configurare

Considerazioni privacy

I prompt (frammenti di codice + contesto) vengono inviati ai server GitHub/OpenAI per inference. In Copilot Business/Enterprise:

Dato rilevante per Blulink. Anche con tier Enterprise, i frammenti inviati escono dal perimetro aziendale in direzione US/EU region del provider. Per codice davvero sensibile (algoritmi proprietari, credenziali hardcoded per errore) serve comunque una policy di esclusione e un training minimo agli sviluppatori.

3. Setup in ambiente Blulink

Prerequisiti

Configurazione utente

Configurazione di team (repo-level)

Copilot supporta istruzioni personalizzate a livello repo tramite .github/copilot-instructions.md. È l'equivalente di CLAUDE.md per Copilot: lingua, convenzioni, vincoli di stile.

# .github/copilot-instructions.md

Il progetto è un microservizio .NET 8 di fatturazione B2B per Blulink.

## Lingua e stile
- Documentazione e commenti in italiano.
- Naming: PascalCase per classi e metodi pubblici; _camelCase per field privati.
- Tab = 4 spazi, encoding UTF-8.

## Stack
- .NET 8, EF Core, xUnit, FluentAssertions.
- Niente nuove dipendenze NuGet senza approvazione.

## Regole di test
- Ogni nuova funzione pubblica deve avere test unitari.
- I test coprono casi validi e invalidi (null, empty, edge case).

## Divieti
- Non modificare file in src/Legacy/ (in dismissione).
- Non proporre SQL raw: usare EF Core.

Copilot Chat e agent mode leggono queste istruzioni e le applicano automaticamente.

4. Code completion e inline suggestions

L'uso più frequente e più invisibile: completamento riga per riga. Funziona meglio quando il codice intorno è "parlante": nomi di variabili, commenti, docstring orientano il modello verso il suggerimento giusto.

Pratiche che migliorano i suggerimenti

Pratiche da evitare

Metrica utile. Un buon target iniziale è un tasso di accettazione dei suggerimenti intorno al 30–40%. Se molto sopra, probabilmente stai accettando senza leggere. Se molto sotto, probabilmente il contesto del progetto non è ben configurato.

5. Copilot Chat e agent mode

Copilot Chat

Chat integrata nell'editor. Casi d'uso tipici:

Slash commands utili

Agent mode

Modalità più recente, in cui Copilot agisce come un vero agente: pianifica, modifica più file, esegue comandi, itera. Architetturalmente è parente stretto di Claude Code. Funziona bene per:

Come per Claude Code: sempre su branch dedicata, sempre con review del diff, sempre con test.

6. Integrazione con Azure DevOps

Copilot nasce in GitHub, ma dato il contesto Blulink (repo su Azure DevOps), serve chiarezza su cosa è nativo e cosa richiede setup.

Cosa funziona out-of-the-box su repo Azure DevOps

Cosa richiede integrazione manuale

Pattern pratico per Blulink

Usare Copilot come assistente quotidiano in editor (completions, chat, piccoli agent task) e tenere il flusso Azure DevOps (work item → branch → PR → review) come processo "naturale" del team, integrato da Claude Code + MCP per i lavori agent-pesanti (vedi modulo 7).

7. Copilot per la documentazione

Uno dei casi d'uso con il ROI più alto e più sottovalutato.

Commenti e docstring in linea

Copilot genera XML doc (.NET), JSDoc, docstring Python con buona qualità. Workflow: scrivi la firma del metodo, apri il commento, lascia che Copilot proponga il contenuto, rivedi, accetta.

/// <summary>
/// // Copilot completa qui con una descrizione plausibile del metodo
/// </summary>
public bool ValidatePartitaIVA(string partitaIva) { ... }

La qualità dipende molto dal nome del metodo e dal codice che lo circonda. Metodi ben nominati → commenti utili.

Guide utente e testi di supporto

Copilot Chat è efficace per scrivere testi di supporto orientati all'utente finale, se gli si fornisce:

Release notes

Un pattern utile: selezionare il diff tra due tag, aprire Copilot Chat, chiedere la redazione delle release notes seguendo un template aziendale predefinito. Funziona bene per note tecniche; per note user-facing va sempre rivisto da un umano.

Cross-reference. I pattern di prompt engineering per la documentazione, validi sia per Copilot sia per Claude, sono nel modulo 2. Vale anche l'architettura di pipeline docs AI-driven.

8. Confronto operativo con Claude Code

La domanda pratica che si porrà ogni team: "quando uso Copilot, quando uso Claude Code?". La risposta sincera è: usali insieme, ciascuno dove brilla di più.

DimensioneGitHub CopilotClaude Code
UX primariaEditor (VS Code, VS, JetBrains)Terminale (+ estensioni IDE)
Inline completions★★★ core strength
Chat in editor★★★
Agent mode / task multi-file★★ in crescita★★★ forte e maturo
Gestione esplicita del contesto (CLAUDE.md / copilot-instructions)★★★★★
Plan mode / passi approvabilipresente ma meno rituale★★★ parte del DNA
MCP / tool esterniparziale★★★ nativo
Subagents★★★
Integrazione GitHub★★★ nativavia MCP/CLI
Integrazione Azure DevOps★ parziale★★ via MCP
Licensing enterprise nel mondo MS★★★ immediato★★ via Bedrock/Vertex o Anthropic diretto

Raccomandazione operativa per Blulink

Dato lo stack Microsoft/.NET/Azure DevOps:

Questi tre strumenti non competono: si complementano. Un'organizzazione matura li userà tutti, ciascuno per quello in cui è più forte.

9. Laboratorio pratico

Lab 1 — Setup completo

Ogni partecipante installa e configura Copilot nel proprio VS Code, verifica SSO, prova completions, chat, agent mode su un repo Blulink.

Lab 2 — copilot-instructions.md

Scrittura del file di istruzioni custom per uno dei propri repo, test di efficacia confrontando suggerimenti prima/dopo.

Lab 3 — Generazione di test xUnit

Data una classe di dominio Blulink, generare i test con Copilot Chat e valutare: copertura, leggibilità, eventuali bug introdotti.

Lab 4 — Documentazione di un modulo

Usare Copilot per: (a) aggiungere XML doc a metodi pubblici di un modulo esistente; (b) generare una sezione di guida utente in italiano su una feature reale.

Lab 5 — Confronto head-to-head

Stesso task di refactoring: una volta con Copilot agent mode, una volta con Claude Code. Valutazione oggettiva (test verdi, qualità del diff, tempo speso) e soggettiva (esperienza d'uso). L'output è un piccolo report interno che alimenta la policy di adozione.

Output del modulo (e del corso). Al termine, Blulink avrà: un set di file di istruzioni condivisi, una policy di adozione AI, un confronto reale Copilot vs Claude Code sui propri repo, un team capace di scegliere con criterio quale strumento usare per quale lavoro.

Risorse di approfondimento