Instructions & Rules)Per un architetto, la coerenza è tutto. Senza regole, l'AI genera codice "medio". Noi vogliamo codice "eccellente".
Instructions & Rules (.github/copilot-instructions.md)Questa è la funzionalità più critica. Puoi creare un file nella root del progetto (o globalmente nelle impostazioni) che istruisce Copilot su come comportarsi esclusivamente per quel progetto.
malloc, obbligo di Type Hinting in Python).# Project Standards
- Language: C++20.
- Safety: Follow MISRA C++:2023 guidelines.
- No Dynamic Allocation: Use static memory or stack only.
- Documentation: Use Doxygen for all headers.
- Testing: Every class must have a corresponding GoogleTest file.
std::vector se scrivi firmware bare-metal dove non è permesso.Prompt Files & Skills)I .prompt files sono "template" di istruzioni complesse che puoi richiamare. Invece di scrivere ogni volta "Rifattorizza questa funzione per la sicurezza", crei un file.
/prompts/new-driver.prompt):Act as an Embedded Specialist.
Analyze the attached datasheet snippet and generate a C++ hardware abstraction layer for [Device Name].
Requirements:
- Register definitions using constexpr.
- Error handling via std::expected or custom enum.
Le "Skills" sono capacità atomiche che l'agente può acquisire. Ad esempio, la capacità di leggere i log di una seriale o di interrogare un database di vulnerabilità. Configurarle permette a Copilot di "sapere cosa fare" quando incontra determinati file.
Custom Agents & MCP)Questa è la frontiera tecnologica attuale.
Gli agenti sono "personalità" specializzate. Puoi creare (o connettere) agenti per Jira, Slack, o un agente interno che conosce l'architettura del tuo sistema legacy.
@workspace, userai @firmware-expert o @security-auditor.Questo è il cambiamento di paradigma introdotto da Anthropic e ora supportato. L'MCP Server permette a Copilot di leggere dati che non sono nel tuo editor.
Hooks, Tool Set, Diagnostics)I Hooks permettono di innescare Copilot durante eventi del ciclo di vita del software.
Rules del Modulo 1.È l'insieme di strumenti che Copilot può invocare. Ad esempio, puoi dare a Copilot il "tool" per eseguire cmake o pytest.
sensor_fusion.py finché non passano tutti".Usa questa vista per capire perché Copilot non ha contesto. Se vedi che i file .h non vengono indicizzati, puoi correggere la configurazione del workspace per migliorare la qualità delle risposte.
Chat Settings)Configura la chat per essere "Concise" o "Verbose" in base alle tue necessità. Per un architetto, consiglio:
#file, #selection, e #terminal per circoscrivere l'analisi ed evitare allucinazioni su file non correlati..github/copilot-instructions.md nel tuo repository principale. Definisci i tuoi standard architettonici.Prompt Files per i compiti più noiosi (es. creazione Unit Test, boilerplate di classi C++, generazione di docstrings).Prova a creare questa regola nelle tue Instructions:
"Ogni volta che scrivo una funzione Python, aggiungi automaticamente i Type Hints e genera un test unitario con Pytest in un file separato nella cartella /tests."