Laboratórios práticos de GitHub Copilot
[!TIP] Baixe apenas o que você precisa: o catálogo de learner kits inclui um ZIP para cada uma das 21 variantes de exercício, com instruções, imagens, testes, dados sintéticos, licenças e verificações de integridade. Os guias de preparação reutilizam o kit do exercício associado em vez de duplicá-lo.
Use estes exercícios numerados para cenários profissionais específicos. Eles compartilham a abordagem orientada a evidências do repositório, mas não são aventuras de fantasia. As durações são estimativas de facilitação, não garantias medidas de conclusão.
[!IMPORTANT] Trabalhe em uma fixture copiada por vez. Mantenha arquivos temporários e caches na unidade de trabalho selecionada; não execute todas as compilações ou profilers em uma estação compartilhada. Comece pela configuração do ambiente.
Preparação
| Laboratório | Resultado |
|---|---|
| Ambiente C# | Compatibilidade entre SDK e destino, uma compilação e descoberta real de testes |
| Ambiente Python | Interpretador, raiz de importação e testes isolados |
| Acesso ao Copilot | Evidências de conta, destino e solicitação inofensiva |
| Configuração do Spec Kit | Integração de skills com versão fixada sem sobrescrever trabalho existente |
| Configuração do SDK | Lógica offline separada de inferência autenticada |
Fluxo principal
Escolha uma trilha de linguagem; não compile as cópias C# e Python simultaneamente.
| Laboratório | C# | Python | Resultado |
|---|---|---|---|
| 01 | Contexto e interface | Exercício compartilhado | Papéis, harnesses, evidências e permissões |
| 02 | Analisar/documentar | Analisar/documentar | Integração fundamentada nas fontes |
| 03 | Desenvolver disponibilidade | Desenvolver disponibilidade | Disponibilidade de exemplares de livros de ponta a ponta |
| 04 | Testes xUnit | Testes pytest | Testes que detectam comportamento incorreto |
| 05 | Refatorar | Refatorar | Caracterização e preservação semântica |
Engenharia e colaboração
| Laboratório | Foco |
|---|---|
| 06 - Protótipo de compras | PRD pequeno, domínio em centavos inteiros e verificações de interface acessível |
| 07 - Duplicação | Mecanismos compartilhados versus regras de negócio distintas |
| 08 - Funções grandes | Caminhos de erro, compensação de estoque e extração |
| 09 - Condições complexas | Tabelas de decisão e limites de igualdade |
| 10 - Análise de desempenho | Medições pequenas, escopo controlado, sem promessa de ganho de velocidade |
| 11 - Issues | Da reprodução local à alteração revisada |
| 12 - Remediação de segredos | Simulação que começa pela revogação, sem credenciais reais |
Desenvolvimento orientado a especificações e personalização de agentes
| Laboratório | Caso e stack |
|---|---|
| 13 - Projeto novo | Contrato de assinaturas RSS; Node/TypeScript com adaptações para .NET/Python/Go |
| 14 - Funcionalidade em projeto existente | Painel existente; metadados por proprietário e compatibilidade |
| 15 - Personalização | Instruções, prompts, skills e transferências entre agentes |
| 16 - Copilot SDK | Ferramenta de suporte somente leitura, contratos offline e inferência real opcional |
| 17 - Modernização | Python de CSV para SQLite; reconciliação, proteção contra sobrescrita e reversão |
Como escolher um caso de Spec Kit
---
config:
theme: base
look: classic
themeVariables:
darkMode: false
background: "#ffffff"
primaryColor: "#f5f5f5"
primaryTextColor: "#111111"
primaryBorderColor: "#555555"
secondaryColor: "#e0e0e0"
secondaryTextColor: "#111111"
secondaryBorderColor: "#666666"
tertiaryColor: "#bdbdbd"
tertiaryTextColor: "#111111"
tertiaryBorderColor: "#444444"
lineColor: "#444444"
textColor: "#111111"
mainBkg: "#f5f5f5"
nodeBorder: "#555555"
clusterBkg: "#ffffff"
clusterBorder: "#999999"
edgeLabelBackground: "#ffffff"
actorBkg: "#e0e0e0"
actorBorder: "#555555"
actorTextColor: "#111111"
actorLineColor: "#777777"
signalColor: "#333333"
signalTextColor: "#111111"
labelBoxBkgColor: "#f5f5f5"
labelBoxBorderColor: "#777777"
labelTextColor: "#111111"
loopTextColor: "#111111"
activationBkgColor: "#bdbdbd"
activationBorderColor: "#555555"
noteBkgColor: "#f5f5f5"
noteTextColor: "#111111"
noteBorderColor: "#777777"
attributeBackgroundColorOdd: "#f5f5f5"
attributeBackgroundColorEven: "#e0e0e0"
---
flowchart TD
accTitle: Escolher um caso de desenvolvimento orientado a especificações
accDescr: Diferencie um novo produto, uma nova funcionalidade em um produto existente e uma modernização técnica que preserva o comportamento dos consumidores.
Start{"Já existe comportamento funcional?"}
Start -->|Não| Greenfield["13: Especificar um pequeno produto novo"]
Start -->|Sim| Change{"O que deve mudar?"}
Change -->|Novo comportamento do usuário| Feature["14: Preservar a linha de base e adicionar uma funcionalidade"]
Change -->|Limite técnico| Modernize["17: Preservar contratos e migrar dados"]
Greenfield --> Evidence["Requisitos, implementação e verificações"]
Feature --> Evidence
Modernize --> Evidence
Legenda. Os losangos são decisões de escopo, os retângulos são caminhos de exercícios e as setas contínuas mostram o fluxo de seleção. Os rótulos diferenciam novo comportamento de alteração de armazenamento.
Explicação. Os três caminhos usam artefatos do Spec Kit, mas suas evidências iniciais e riscos de falha diferem. A modernização exige saída preservada, dados reconciliados e reversão, não apenas uma nova implementação.